MakeSelfRelativeSD函数通过使用绝对格式的安全描述符作为模板,以自相关格式创建安全描述符。
BOOL MakeSelfRelativeSD(
PSECURITY_DESCRIPTOR 【pAbsoluteSecurityDescriptor】, | //绝对SD地址 |
PSECURITY_DESCRIPTOR 【pSelfRelativeSecurityDescriptor】, | //地址自相关SD |
LPDWORD 【lpdwBufferLength】 | // SD大小的地址 |
); |
参数
【pAbsoluteSecurityDescriptor】
以绝对格式指向SECURITY_DESCRIPTOR结构。该函数以自相关格式创建此安全描述符的版本,无需修改原始文件。
【pSelfRelativeSecurityDescriptor】
指向缓冲区,函数以自相关格式填充安全描述符。
【lpdwBufferLength】
指向指定【pSelfRelativeSecurityDescriptor】参数指向的缓冲区大小的变量。如果缓冲区不足以用于安全描述符,则该函数将失败,并将此变量设置为最小所需大小。
返回值
如果函数成功,返回值不为零。
如果函数失败,返回值为零。要获取扩展错误信息,请调用GetLastError.
备注
绝对格式的安全描述符包含指向其包含的信息的指针,而不是包含信息本身。自相关格式的安全描述符包含连续的内存块中的信息。在自相关安全描述符中,SECURITY_DESCRIPTOR结构始终启动信息,但安全描述符的其他组件可以按任何顺序跟随结构。代替使用内存地址,安全描述符的组件由安全描述符开头的偏移量标识。当安全描述符必须存储在软盘上或通过通信协议传输时,此格式很有用。
将安全对象复制到各种媒体的服务器可以使用MakeSelfRelativeSD功能从绝对安全描述符和MakeAbsoluteSD功能创建一个自相关的安全描述符,以从自相关安全描述符创建绝对安全描述符。
也可以看看