diff options
| author | LukePulverenti <luke.pulverenti@gmail.com> | 2013-02-23 12:54:51 -0500 |
|---|---|---|
| committer | LukePulverenti <luke.pulverenti@gmail.com> | 2013-02-23 12:54:51 -0500 |
| commit | 465f0cc1e2e4fc50a0adbef79a4a317eec5eb454 (patch) | |
| tree | 1379228a1c9ae8e3d54655e24e5bb31e3a08e128 /MediaBrowser.Networking/Management/NativeMethods.cs | |
| parent | 17c1fd576057bdd2d6aea517d733fe8af6e6b2ba (diff) | |
moved some network code to the networking assembly
Diffstat (limited to 'MediaBrowser.Networking/Management/NativeMethods.cs')
| -rw-r--r-- | MediaBrowser.Networking/Management/NativeMethods.cs | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/MediaBrowser.Networking/Management/NativeMethods.cs b/MediaBrowser.Networking/Management/NativeMethods.cs new file mode 100644 index 000000000..9a888fab2 --- /dev/null +++ b/MediaBrowser.Networking/Management/NativeMethods.cs @@ -0,0 +1,72 @@ +using System; +using System.Runtime.InteropServices; +using System.Security; + +namespace MediaBrowser.Networking.Management +{ + /// <summary> + /// Class NativeMethods + /// </summary> + [SuppressUnmanagedCodeSecurity] + public static class NativeMethods + { + //declare the Netapi32 : NetServerEnum method import + /// <summary> + /// Nets the server enum. + /// </summary> + /// <param name="ServerName">Name of the server.</param> + /// <param name="dwLevel">The dw level.</param> + /// <param name="pBuf">The p buf.</param> + /// <param name="dwPrefMaxLen">The dw pref max len.</param> + /// <param name="dwEntriesRead">The dw entries read.</param> + /// <param name="dwTotalEntries">The dw total entries.</param> + /// <param name="dwServerType">Type of the dw server.</param> + /// <param name="domain">The domain.</param> + /// <param name="dwResumeHandle">The dw resume handle.</param> + /// <returns>System.Int32.</returns> + [DllImport("Netapi32", CharSet = CharSet.Auto, SetLastError = true), + SuppressUnmanagedCodeSecurityAttribute] + + public static extern int NetServerEnum( + string ServerName, // must be null + int dwLevel, + ref IntPtr pBuf, + int dwPrefMaxLen, + out int dwEntriesRead, + out int dwTotalEntries, + int dwServerType, + string domain, // null for login domain + out int dwResumeHandle + ); + + //declare the Netapi32 : NetApiBufferFree method import + /// <summary> + /// Nets the API buffer free. + /// </summary> + /// <param name="pBuf">The p buf.</param> + /// <returns>System.Int32.</returns> + [DllImport("Netapi32", SetLastError = true), + SuppressUnmanagedCodeSecurityAttribute] + + public static extern int NetApiBufferFree( + IntPtr pBuf); + } + + //create a _SERVER_INFO_100 STRUCTURE + /// <summary> + /// Struct _SERVER_INFO_100 + /// </summary> + [StructLayout(LayoutKind.Sequential)] + public struct _SERVER_INFO_100 + { + /// <summary> + /// The sv100_platform_id + /// </summary> + internal int sv100_platform_id; + /// <summary> + /// The sv100_name + /// </summary> + [MarshalAs(UnmanagedType.LPWStr)] + internal string sv100_name; + } +} |
