共用方式為


RtlAbsoluteToSelfRelativeSD 函式 (ntifs.h)

RtlAbsoluteToSelfRelativeSD 例程會使用絕對格式的安全性描述元作為範本,以自我相對格式建立新的安全性描述元。

語法

NTSYSAPI NTSTATUS RtlAbsoluteToSelfRelativeSD(
  [in]      PSECURITY_DESCRIPTOR AbsoluteSecurityDescriptor,
  [out]     PSECURITY_DESCRIPTOR SelfRelativeSecurityDescriptor,
  [in, out] PULONG               BufferLength
);

參數

[in] AbsoluteSecurityDescriptor

呼叫端配置的緩衝區指標,其中包含絕對格式的 SECURITY_DESCRIPTOR 結構。 RtlAbsoluteToSelfRelativeSD 會以自我相對格式建立此安全性描述元的版本,而不需要修改原始。

[out] SelfRelativeSecurityDescriptor

呼叫端配置的緩衝區指標,該緩衝區會以自我相對格式接收安全性描述元。

[in, out] BufferLength

呼叫端配置的變數指標,指定 SelfRelativeSecurityDescriptor 參數所指向之緩衝區的大小,以位元組為單位。 如果緩衝區不夠大而無法保存安全性描述元,RtlAbsoluteToSelfRelativeSD 會傳回STATUS_BUFFER_TOO_SMALL,並將此變數設定為所需的最小大小。

傳回值

RtlAbsoluteToSelfRelativeSD 會傳回STATUS_SUCCESS或適當的 NTSTATUS 值,例如下列其中一項:

傳回碼 描述
STATUS_BAD_DESCRIPTOR_FORMAT
AbsoluteSecurityDescriptor 參數所指向的緩衝區未包含絕對格式的SECURITY_DESCRIPTOR結構。 STATUS_BAD_DESCRIPTOR_FORMAT是錯誤碼。
STATUS_BUFFER_TOO_SMALL
SelfRelativeSecurityDescriptor 參數所指向的緩衝區太小,無法以自我相對格式包含安全性描述元。 STATUS_BUFFER_TOO_SMALL是錯誤碼。

言論

絕對格式的安全性描述元包含其包含之資訊的指標,而不是包含資訊本身。 自我相對格式的安全性描述元包含連續記憶體區塊中的資訊。 在自我相對安全性描述元中,SECURITY_DESCRIPTOR 結構一律會啟動資訊,但安全性描述元的其他元件可以依照任何順序遵循SECURITY_DESCRIPTOR結構。 安全性描述元的元件不是使用記憶體位址,而是透過安全性描述元開頭的位移來識別。 當安全性描述元必須儲存在磁碟上或透過通訊協定傳輸時,這個格式就很有用。

若要使用以自我相對格式的安全性描述元作為範本,以絕對格式建立新的安全性描述元,請使用 RtlSelfRelativeToAbsoluteSD

如需安全性和訪問控制的詳細資訊,請參閱 Microsoft Windows SDK 檔。

要求

要求 價值
最低支援的用戶端 Windows Server 2003 SP1
目標平臺 普遍
標頭 ntifs.h (include Ntifs.h)
連結庫 NtosKrnl.lib
DLL NtosKrnl.exe (核心模式):Ntdll.dll (使用者模式)
IRQL <= APC_LEVEL

另請參閱

ACL

RtlCreateSecurityDescriptor

RtlLengthSecurityDescriptor

RtlSelfRelativeToAbsoluteSD

RtlSetDaclSecurityDescriptor

RtlSetOwnerSecurityDescriptor

RtlValidSecurityDescriptor