C# p/invoca i problemi Secur32.dll
Domanda
Sto cercando di avvolgere i secur32.dll Enumeratesecuritypackages funzione che viene dichiarata di seguito:
SECURITY_STATUS SEC_Entry EnumerateSecurityPackages(
__in PULONG pcPackages,
__in PSecPkgInfo *ppPackageInfo
);
Ho il seguente codice C#, ma ricevo un AccessViolationException quando provo a eseguirlo. Nel debugger la variabile PCPACKAGES viene impostata correttamente, ma penso che sto facendo qualcosa di sbagliato nella serie di secpkginfos.
[StructLayout(LayoutKind.Sequential)]
public struct SecPkgInfo
{
public ulong fCapabilities;
public ushort wVersion;
public ushort wRPCID;
public ulong cbMaxToken;
public string Name;
public string Comment;
}
[DllImport("Secur32.dll")]
public extern static int EnumerateSecurityPackages(
ref ulong pcPackages,
ref SecPkgInfo[] ppPackageInfo
);
///Calling code
ulong count = 0;
SecPkgInfo[] buffer = new SecPkgInfo[256];
EnumerateSecurityPackages(ref count, ref buffer);
Qualche idea su cosa sto facendo di sbagliato?
Nessuna soluzione corretta
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow