netservergetinfo

C# Signature:

[DllImport("Netapi32.dll", CharSet=CharSet.Auto, SetLastError=true)]
public static extern int NetServerGetInfo(
    string serverName, 
    int level, 
    out IntPtr pSERVER_INFO_XXX);

VB Signature:

Declare Function NetServerGetInfo Lib "netapi32.dll" (ByVal ServerName As String, _
    ByVal Level As Integer, ByRef ptrBuff As IntPtr) As Integer

C# User-Defined Types:

[Flags]
public enum ServerTypes : uint
{
    Workstation = 0x00000001,
    Server = 0x00000002,
    SqlServer = 0x00000004,
    DomainCtrl= 0x00000008,
    BackupDomainCtrl= 0x00000010,
    TimeSource= 0x00000020,
    AppleFilingProtocol = 0x00000040,
    Novell= 0x00000080,
    DomainMember = 0x00000100,
    PrintQueueServer = 0x00000200,
    DialinServer = 0x00000400,
    XenixServer = 0x00000800,
    UnixServer = 0x00000800,
    NT = 0x00001000,
    WindowsForWorkgroups = 0x00002000,
    MicrosoftFileAndPrintServer= 0x00004000,
    NTServer = 0x00008000,
    BrowserService = 0x00010000,
    BackupBrowserService= 0x00020000,
    MasterBrowserService= 0x00040000,
    DomainMaster = 0x00080000,
    OSF1Server = 0x00100000,
    VMSServer = 0x00200000,
    Windows = 0x00400000, 
    DFS = 0x00800000, 
    NTCluster = 0x01000000, 
    TerminalServer= 0x02000000, 
    VirtualNTCluster = 0x04000000, 
    DCE = 0x10000000, 
    AlternateTransport = 0x20000000, 
    LocalListOnly = 0x40000000, 
    PrimaryDomain = 0x80000000,
    All = 0xFFFFFFFF
};

public enum ServerPlatform
{
    DOS = 300,
    OS2 = 400,
    NT = 500,
    OSF = 600,
    VMS = 700
}

[StructLayout(LayoutKind.Sequential)]
public struct SERVER_INFO_100
{
    public ServerPlatform PlatformId;
    [MarshalAs(System.Runtime.InteropServices.UnmanagedType.LPWStr)]
    public string Name;
}

[StructLayout(LayoutKind.Sequential)]
public struct SERVER_INFO_101
{
    public ServerPlatform PlatformId;
    [MarshalAs(UnmanagedType.LPWStr)]
    public string Name;
    public int VersionMajor;
    public int VersionMinor;
    public ServerTypes Type;
    [MarshalAs(UnmanagedType.LPWStr)]
    public string Comment;
}

[StructLayout(LayoutKind.Sequential)]
public struct SERVER_INFO_102
{
    public ServerPlatform PlatformId;
    [MarshalAs(UnmanagedType.LPWStr)]
    public string Name;
    public int VersionMajor;
    public int VersionMinor;
    public ServerTypes Type;
    [MarshalAs(UnmanagedType.LPWStr)]
    public string Comment;
    public int MaxUsers;
    public int AutoDisconnectMinutes;
    [MarshalAs(UnmanagedType.Bool)]
    public bool Hidden;
    public int NetworkAnnounceRate;
    public int NetworkAnnounceRateDelta;
    public int UsersPerLicense;
    [MarshalAs(UnmanagedType.LPWStr)]
    public string UserDirectoryPath;
}

VB.NET User-Defined Types:

VB.NET Sample Code:

C# Sample Code (1):

C# Sample Code (2):

Última actualización