Returning UNC Path associated with a local device
MSDN links:
| This is sample code. Add error handling and adjust to your requirements as necessary. |
* Windows API FUNCTION LocalDevice2UNC(tcLocalName) LOCAL lcUNCBuffer, lnLength, lcLocalName, lcRemoteName DECLARE INTEGER WNetGetConnection IN WIN32API ; STRING lpLocalName, STRING @ lpRemoteName, INTEGER @ lplnLength IF TYPE('tcLocalName') <> "C" OR EMPTY(tcLocalName) ERROR 11 ENDIF lcLocalName = ALLTRIM(tcLocalName) lcUNCBuffer = REPL(CHR(0), 1024) lnLength = LEN(lcUNCBuffer) IF WNetGetConnection(lcLocalName, @lcUNCBuffer, @lnLength) = 0 lcRemoteName = LEFT(lcUNCBuffer,AT(CHR(0),lcUNCBuffer)-1) ELSE lcRemoteName = "" ENDIF RETURN lcRemoteName
* WSH FUNCTION LocalDevice2UNC(tcLocalName) LOCAL lcLocalName, lcRemoteName, loFso, loDrive IF TYPE('tcLocalName') <> "C" OR EMPTY(tcLocalName) ERROR 11 ENDIF loFso = CREATEOBJECT("Scripting.FileSystemObject") lcLocalName = ALLTRIM(tcLocalName) IF loFso.DriveExists(lcLocalName) loDrive = loFso.GetDrive(lcLocalName) lcRemoteName = loDrive.ShareName ELSE lcRemoteName = "" ENDIF RETURN lcRemoteName
* Example ? LocalDevice2UNC("F:")
Recent comments
1 week 5 days ago
1 week 5 days ago
2 weeks 2 hours ago
2 weeks 1 day ago
2 weeks 2 days ago
2 weeks 5 days ago
3 weeks 5 days ago
3 weeks 6 days ago
4 weeks 14 hours ago
4 weeks 4 days ago