【发布时间】:2012-07-23 17:53:35
【问题描述】:
我正在尝试为ACCESS_DENIED_ACE 结构编写一个等效的 C#,如MSDN 中定义的那样:
typedef struct _ACCESS_DENIED_ACE {
ACE_HEADER Header;
ACCESS_MASK Mask;
DWORD SidStart;
} ACCESS_DENIED_ACE, *PACCESS_DENIED_ACE;
SidStart 是受托人 SID 的第一个 DWORD。 SID 的剩余字节存储在 SidStart 成员之后的连续内存中。
我已经看到了像 (PSID) &accessAllowedAce->SidStart 这样使用的例子,
if ( EqualSid (pSid, (PSID) &accessDeniedAce->SidStart) )
{
//
}
现在我该如何为此编写 C# StructLayout 以及如何在 EqualSid 函数中使用它,同时解释一下您的解决方案是如何工作的。
【问题讨论】:
标签: c# pinvoke structlayout