GetSecurityDescriptorDacl 関数 (securitybaseapi.h)

GetSecurityDescriptorDacl 関数は、指定されたセキュリティ記述子随意アクセス制御リスト (DACL) へのポインターを取得します。

構文

BOOL GetSecurityDescriptorDacl(
  [in]  PSECURITY_DESCRIPTOR pSecurityDescriptor,
  [out] LPBOOL               lpbDaclPresent,
  [out] PACL                 *pDacl,
  [out] LPBOOL               lpbDaclDefaulted
);

パラメーター

[in] pSecurityDescriptor

DACL を含む SECURITY_DESCRIPTOR 構造体へのポインター。 関数は、それに対するポインターを取得します。

[out] lpbDaclPresent

指定したセキュリティ記述子に DACL が存在することを示す値へのポインター。 lpbDaclPresentTRUE の場合、セキュリティ記述子には DACL が含まれており、この関数の残りの出力パラメーターは有効な値を受け取ります。 lpbDaclPresentFALSE の場合、セキュリティ記述子には DACL が含まれていないので、残りの出力パラメーターは有効な値を受け取りません。

lpbDaclPresent値が TRUE の場合、pDaclNULL ではないことは意味しません。 つまり、pDacl が NULL の場合は lpbDaclPresentTRUE にできます。つまり、NULL DACL が有効であることを意味します。 NULL DACL は、オブジェクトへのすべてのアクセスを暗黙的に許可し、空の DACL と同じではありません。 空の DACL では、オブジェクトへのアクセスは許可されません。 適切な DACL の作成については、「 DACL の作成」を参照してください。

[out] pDacl

アクセス制御リスト (ACL) へのポインターへのポインター。 DACL が存在する場合、関数は pDacl によって指されるポインターをセキュリティ記述子の DACL のアドレスに設定します。 DACL が存在しない場合、値は格納されません。

関数が pDacl が指すポインターに NULL 値を格納する場合、セキュリティ記述子には NULL DACL があります。 NULL DACL は、オブジェクトへのすべてのアクセスを暗黙的に許可します。

アプリケーションが NULL 以外の DACL を予期していても NULL DACL が発生した場合、アプリケーションは安全に失敗し、アクセスを許可しないようにする必要があります。

[out] lpbDaclDefaulted

セキュリティ記述子に DACL が存在する場合、SECURITY_DESCRIPTOR_CONTROL構造体の SE_DACL_DEFAULTED フラグの値に設定されたフラグへのポインター。 このフラグが TRUE の場合、DACL は既定のメカニズムによって取得されました。 FALSE の場合、DACL はユーザーによって明示的に指定されました。

戻り値

関数が成功した場合、関数は 0 以外の値を返します。

関数が失敗すると、0 が返されます。 詳細なエラー情報を得るには、GetLastError を呼び出します。

要件

要件
サポートされている最小のクライアント Windows XP [デスクトップ アプリ | UWP アプリ]
サポートされている最小のサーバー Windows Server 2003 [デスクトップ アプリのみ | UWP アプリ]
対象プラットフォーム Windows
ヘッダー securitybaseapi.h (Windows.h を含む)
Library Advapi32.lib
[DLL] Advapi32.dll

こちらもご覧ください

GetSecurityDescriptorControl

GetSecurityDescriptorGroup

GetSecurityDescriptorLength

GetSecurityDescriptorOwner

GetSecurityDescriptorSacl

InitializeSecurityDescriptor

IsValidSecurityDescriptor

低レベルのAccess Control

低レベルのAccess Control関数

SECURITY_DESCRIPTOR

SECURITY_DESCRIPTOR_CONTROL

SetSecurityDescriptorDacl