[DllImport("netapi32.dll", SetLastError=true)]
static extern uint NetShareCheck(
[MarshalAs(UnmanagedType.LPWStr)] string servername,
[MarshalAs(UnmanagedType.LPWStr)] string device,
out SHARE_TYPE type
);
Declare Function NetShareCheck Lib "netapi32.dll" (TODO) As TODO
private enum NetError : uint
{
NERR_Success = 0,
ERROR_NOT_ENOUGH_MEMORY = 8,
NERR_DeviceNotShared = 2311,
}
private enum SHARE_TYPE : uint
{
STYPE_DISKTREE = 0,
STYPE_PRINTQ = 1,
STYPE_DEVICE = 2,
STYPE_IPC = 3,
STYPE_TEMPORARY = 0x40000000,
STYPE_SPECIAL = 0x80000000,
}
TODO
Do you know one? Please contribute it!
None.
Parameters
String server = "myServer"; // could be empty for local computer
String localPath = @"C:\shared folder";
SHARE_TYPE shareType;
Boolean exists;
NetError result = (NetError)NetShareCheck(server, localPath, out shareType);
switch (result)
{
case NetError.NERR_Success: exists = true;
break;
case NetError.ERROR_NOT_ENOUGH_MEMORY: throw new OutOfMemoryException();
case NetError.DeviceNotShared: exists = false;
break;
}
Please add some!