typedef struct _OBJECTS_AND_SID {
DWORD ObjectsPresent;
SE_OBJECT_TYPE ObjectType;
LPWSTR ObjectTypeName;
LPWSTR InheritedObjectTypeName;
GUID * InheritedObjectType;
GUID * pSid;
} OBJECTS_AND_SID, *POBJECTS_AND_SID;
这个结构包含以下字段:
- ObjectsPresent:一个标志位,表示结构中的哪些字段是有效的。可以是以下值的组合:
- SE_OBJECT_TYPE_PRESENT:ObjectType 字段是有效的。
- SE_OBJECT_NAME_PRESENT:ObjectTypeName 和 ptstrName 字段是有效的。
- SE_OBJECT_TYPE_PRESENT 和 SE_OBJECT_NAME_PRESENT:ObjectType、ObjectTypeName 和 ptstrName 字段都是有效的。
- ObjectType:一个表示对象类型的枚举值,可以是以下之一:
- SE_UNKNOWN_OBJECT_TYPE:未知的对象类型。
- SE_FILE_OBJECT:文件或目录。
- SE_SERVICE:服务。
- SE_PRINTER:打印机。
- 等等,还有其他对象类型。
- ObjectTypeName:一个指向以 NULL 结尾的宽字符字符串的指针,表示对象类型的名称。
- InheritedObjectTypeName:一个指向以 NULL 结尾的宽字符字符串的指针,表示继承的对象类型的名称。
- InheritedObjectType:一个指向 GUID 结构的指针,表示继承的对象类型的 GUID。
- pSid:一个指向 SID 结构的指针,表示与对象相关联的安全标识符(SID)。
这个结构通常用于描述安全描述符的目标对象,例如在函数 SetEntriesInAcl 中设置 ACL 条目时,用于指定要授予或拒绝访问权限的对象。
如果你的应用程序使用 Unicode 字符集,建议使用 OBJECTS_AND_SID 结构。
转载请注明出处:http://www.zyzy.cn/article/detail/23749/Win32 API/Accctrl.h/OBJECTS_AND_SID