次の方法で共有


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 (Ntifs.h を含む)
ライブラリ NtosKrnl.lib
DLL NtosKrnl.exe (カーネル モード);Ntdll.dll (ユーザー モード)
IRQL <= APC_LEVEL

関連項目

ACL

RtlCreateSecurityDescriptor する

RtlLengthSecurityDescriptor する

RtlSelfRelativeToAbsoluteSD する

RtlSetDaclSecurityDescriptor

RtlSetOwnerSecurityDescriptor

RtlValidSecurityDescriptor