共用方式為


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 值,例如下列其中一項:

傳回碼 Description
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
目標平台 Universal
標頭 ntifs.h (包含 Ntifs.h)
程式庫 NtosKrnl.lib
Dll NtosKrnl.exe (核心模式) ;Ntdll.dll (使用者模式)
IRQL <= APC_LEVEL

另請參閱

ACL

RtlCreateSecurityDescriptor

RtlLengthSecurityDescriptor

RtlSelfRelativeToAbsoluteSD

RtlSetDaclSecurityDescriptor

RtlSetOwnerSecurityDescriptor

RtlValidSecurityDescriptor