C# P/Invoke Secur32.Dll Problemas
Pregunta
Estoy tratando de envolver el Secur32.Dll's EnumerateSecurityPackages función que se declara a continuación:
SECURITY_STATUS SEC_Entry EnumerateSecurityPackages(
__in PULONG pcPackages,
__in PSecPkgInfo *ppPackageInfo
);
Tengo el siguiente código C#, pero obtengo una AccessViolationException cuando intento ejecutarlo. En el depurador, la variable PCPackages se establece correctamente, pero creo que estoy haciendo algo mal con la matriz de 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);
¿Alguna idea de lo que estoy haciendo mal?
No hay solución correcta
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow