RtlGetDaclSecurityDescriptor 関数 (ntifs.h)
RtlGetDaclSecurityDescriptor ルーチンは、セキュリティ記述子の随意 ACL (DACL) へのポインターを返します。
構文
NTSYSAPI NTSTATUS RtlGetDaclSecurityDescriptor(
[in] PSECURITY_DESCRIPTOR SecurityDescriptor,
[out] PBOOLEAN DaclPresent,
[out] PACL *Dacl,
[out] PBOOLEAN DaclDefaulted
);
パラメーター
[in] SecurityDescriptor
DACL が返される SECURITY_DESCRIPTOR へのポインター。
[out] DaclPresent
指定したセキュリティ記述子に DACL が存在することを示すブール変数へのポインター。 この変数が TRUE を受け取る場合、セキュリティ記述子には DACL が含まれており、残りの出力パラメーターは有効な値を受け取ります。 この変数が FALSE を受け取った場合、セキュリティ記述子には DACL が含まれていません。残りの出力パラメーターは有効な値を受け取りません。
[out] Dacl
セキュリティ記述子の DACL のアドレスを受け取る変数へのポインター。 セキュリティ記述子に DACL がない場合、この変数は値を受け取りません。 セキュリティ記述子に NULL DACL がある場合、この変数は NULL を受け取ります。 NULL DACL は、オブジェクトへのすべてのアクセスを暗黙的に許可します。
[out] DaclDefaulted
セキュリティ記述子のSECURITY_DESCRIPTOR_CONTROL構造体でSE_DACL_DEFAULTED フラグの値を受け取るブール変数へのポインター。 このフラグが TRUE の場合、DACL は既定のメカニズムによって取得されました。 FALSE の場合、DACL はユーザーによって明示的に指定されました。 この値は、 *Dacl が NULL 以外の値を受け取る場合にのみ有効です。
戻り値
RtlGetDaclSecurityDescriptor は、次のようなSTATUS_SUCCESSまたは適切な NTSTATUS 値を返します。
リターン コード | 説明 |
---|---|
|
セキュリティ記述子のリビジョン レベルが不明であるか、サポートされていません。 これはエラー コードです。 |
注釈
*DaclPresent の値が TRUE の場合、*Dacl が NULL 以外であることを意味しません。 つまり、 *DaclPresent は TRUE 、 *Dacl は NULL であり、 NULL DACL が有効であることを意味します。 NULL DACL は、オブジェクトへのすべてのアクセスを暗黙的に許可し、空の DACL と同じではありません。 空の DACL では、オブジェクトへのアクセスは許可されません。
セキュリティとアクセス制御の詳細については、 ドライバー開発者向けの Windows セキュリティ モデル と、Windows SDK のこれらのトピックに関するドキュメントを参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows Server 2003 SP1 |
対象プラットフォーム | ユニバーサル |
Header | ntifs.h (Ntifs.h を含む) |
Library | NtosKrnl.lib |
[DLL] | NtosKrnl.exe |
IRQL | <= APC_LEVEL |