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

◆ EnumerateSecurityPackages() [1/4]

static SecurityPackageInfoClass[] System.Net.SSPIWrapper.EnumerateSecurityPackages ( ISSPIInterface secModule)
inlinestaticpackage

Definition at line 27 of file SSPIWrapper.cs.

28 {
29 if (secModule.SecurityPackages == null)
30 {
31 lock (secModule)
32 {
33 if (secModule.SecurityPackages == null)
34 {
35 int pkgnum = 0;
36 SafeFreeContextBuffer pkgArray = null;
37 try
38 {
39 int num = secModule.EnumerateSecurityPackages(out pkgnum, out pkgArray);
40 if (System.Net.NetEventSource.Log.IsEnabled())
41 {
42 System.Net.NetEventSource.Info(null, $"arrayBase: {pkgArray}", "EnumerateSecurityPackages");
43 }
44 if (num != 0)
45 {
46 throw new Win32Exception(num);
47 }
48 SecurityPackageInfoClass[] array = new SecurityPackageInfoClass[pkgnum];
49 for (int i = 0; i < pkgnum; i++)
50 {
51 array[i] = new SecurityPackageInfoClass(pkgArray, i);
52 if (System.Net.NetEventSource.Log.IsEnabled())
53 {
54 System.Net.NetEventSource.Log.EnumerateSecurityPackages(array[i].Name);
55 }
56 }
57 secModule.SecurityPackages = array;
58 }
59 finally
60 {
61 pkgArray?.Dispose();
62 }
63 }
64 }
65 }
66 return secModule.SecurityPackages;
67 }
static readonly System.Net.NetEventSource Log
static void Info(object thisOrContextObject, FormattableString formattableString=null, [CallerMemberName] string memberName=null)

References System.array, System.Runtime.InteropServices.SafeHandle.Dispose(), System.Net.ISSPIInterface.EnumerateSecurityPackages(), System.Net.NetEventSource.Info(), System.Net.NetEventSource.Log, System.Name, and System.Net.ISSPIInterface.SecurityPackages.