Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ GetFixedInfo() [2/2]

static global.Interop.IpHlpApi.FIXED_INFO System.Net.NetworkInformation.HostInformationPal.GetFixedInfo ( )
inlinestaticprivate

Definition at line 29 of file HostInformationPal.cs.

30 {
31 uint pOutBufLen = 0u;
32 global::Interop.IpHlpApi.FIXED_INFO result = default(global::Interop.IpHlpApi.FIXED_INFO);
33 uint networkParams = global::Interop.IpHlpApi.GetNetworkParams(IntPtr.Zero, ref pOutBufLen);
34 while (true)
35 {
36 switch (networkParams)
37 {
38 case 111u:
39 {
40 IntPtr intPtr = Marshal.AllocHGlobal((int)pOutBufLen);
41 try
42 {
43 networkParams = global::Interop.IpHlpApi.GetNetworkParams(intPtr, ref pOutBufLen);
44 if (networkParams == 0)
45 {
46 result = Marshal.PtrToStructure<global::Interop.IpHlpApi.FIXED_INFO>(intPtr);
47 }
48 }
49 finally
50 {
51 Marshal.FreeHGlobal(intPtr);
52 }
53 break;
54 }
55 default:
56 throw new Win32Exception((int)networkParams);
57 case 0u:
58 return result;
59 }
60 }
61 }
static void FreeHGlobal(IntPtr hglobal)
Definition Marshal.cs:1680
static ? object PtrToStructure(IntPtr ptr, [DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicConstructors|DynamicallyAccessedMemberTypes.NonPublicConstructors)] Type structureType)
Definition Marshal.cs:1164
static IntPtr AllocHGlobal(int cb)
Definition Marshal.cs:625

References System.Runtime.InteropServices.Marshal.AllocHGlobal(), System.Runtime.InteropServices.Marshal.FreeHGlobal(), System.Runtime.InteropServices.Marshal.PtrToStructure(), and System.IntPtr.Zero.