MakeSelfRelativeSD 函数 (securitybaseapi.h)
MakeSelfRelativeSD 函数通过将绝对格式的安全描述符用作模板,创建自相对格式的安全描述符。
语法
BOOL MakeSelfRelativeSD(
[in] PSECURITY_DESCRIPTOR pAbsoluteSecurityDescriptor,
[out, optional] PSECURITY_DESCRIPTOR pSelfRelativeSecurityDescriptor,
[in, out] LPDWORD lpdwBufferLength
);
参数
[in] pAbsoluteSecurityDescriptor
指向绝对格式 的 SECURITY_DESCRIPTOR 结构的指针。 函数以自相对格式创建此安全描述符的版本,而无需修改原始版本。
[out, optional] pSelfRelativeSecurityDescriptor
指向函数用自相对格式的安全描述符填充的缓冲区的指针。
[in, out] lpdwBufferLength
指向变量的指针,该变量指定 pSelfRelativeSD 参数指向的缓冲区的大小。 如果缓冲区不足以容纳安全描述符,则函数会失败,并将此变量设置为所需的最小大小。
返回值
如果该函数成功,则返回值为非零值。
如果函数失败,则返回值为零。 要获得更多的错误信息,请调用 GetLastError。 可能的返回代码包括但不限于以下内容。
返回代码/值 | 说明 |
---|---|
|
一个或多个缓冲区太小。 |
注解
采用绝对格式的安全描述符包含指向它所包含的信息的指针,而不是包含信息本身。 采用自我相对格式的安全描述符包含连续内存块中的信息。 在自相对安全描述符中, SECURITY_DESCRIPTOR 结构始终启动信息,但安全描述符的其他组件可以按任意顺序跟随结构。 安全描述符的组成部分不使用内存地址,而是由安全描述符开头的偏移来标识。 当安全描述符必须存储在软盘上或通过通信协议传输时,此格式非常有用。
将安全对象复制到各种媒体的服务器可以使用 MakeSelfRelativeSD 函数从绝对安全描述符和 MakeAbsoluteSD 函数创建自相对安全描述符,以便从自相对安全描述符创建绝对安全描述符。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows XP [桌面应用 | UWP 应用] |
最低受支持的服务器 | Windows Server 2003 [桌面应用 | UWP 应用] |
目标平台 | Windows |
标头 | securitybaseapi.h (包括 Windows.h) |
Library | Advapi32.lib |
DLL | Advapi32.dll |