次の方法で共有


LookupSecurityDescriptorPartsA 関数 (aclapi.h)

LookupSecurityDescriptorParts 関数は、の自己相対セキュリティ記述子からセキュリティ情報を取得します。

構文

DWORD LookupSecurityDescriptorPartsA(
  [out, optional] PTRUSTEE_A           *ppOwner,
  [out, optional] PTRUSTEE_A           *ppGroup,
  [out, optional] PULONG               pcCountOfAccessEntries,
  [out, optional] PEXPLICIT_ACCESS_A   *ppListOfAccessEntries,
  [out, optional] PULONG               pcCountOfAuditEntries,
  [out, optional] PEXPLICIT_ACCESS_A   *ppListOfAuditEntries,
  [in]            PSECURITY_DESCRIPTOR pSD
);

パラメーター

[out, optional] ppOwner

のトラスティ 構造体へのポインターを受け取る変数へのポインター。 この関数は、pSDセキュリティ記述子の所有者 セキュリティ識別子 (SID) に関連付けられている名前を検索し、のトラスティ 構造体の ptstrName メンバー内の名前へのポインターを返します。 この関数は、トラスティ フォーム メンバーをTRUSTEE_IS_NAMEに設定します。

所有者の名前に関心がない場合は、このパラメーターを NULL できます。

[out, optional] ppGroup

のトラスティ 構造体へのポインターを受け取る変数へのポインター。 この関数は、セキュリティ記述子のプライマリ グループ SID に関連付けられている名前を検索し、のトラスティ 構造体の ptstrName メンバー内の名前へのポインターを返します。 この関数は、トラスティ フォーム メンバーをTRUSTEE_IS_NAMEに設定します。

グループの名前に関心がない場合は、このパラメーターを NULL できます。

[out, optional] pcCountOfAccessEntries

pListOfAccessEntries 配列で返される EXPLICIT_ACCESS 構造体の数を受け取る ULONG へのポインター。 このパラメーターは、pListOfAccessEntries パラメーターも NULL場合にのみ、NULL できます。

[out, optional] ppListOfAccessEntries

セキュリティ記述子の 随意アクセス制御リスト (DACL) の アクセス制御エントリ (ACE) を記述する EXPLICIT_ACCESS 構造体の配列へのポインターを受け取る変数へのポインター。 これらの EXPLICIT_ACCESS 構造の トラスティ 構造では、TRUSTEE_IS_NAME形式が使用されます。 EXPLICIT_ACCESS 構造体の配列が、アクセス制御リスト (ACL) の ACE を記述する方法については、getExplicitEntriesFromAcl 関数 を参照してください。 このパラメーターが NULL場合、cCountOfAccessEntries パラメーターも NULLする必要があります。

[out, optional] pcCountOfAuditEntries

pListOfAuditEntries 配列で返される EXPLICIT_ACCESS 構造体の数を受け取る ULONG へのポインター。 このパラメーターは、pListOfAuditEntries パラメーターも NULL場合にのみ、NULL できます。

[out, optional] ppListOfAuditEntries

セキュリティ記述子の システム アクセス制御リスト (SACL) の ACE を記述する EXPLICIT_ACCESS 構造体の配列へのポインターを受け取る変数へのポインター。 これらの EXPLICIT_ACCESS 構造の トラスティ 構造では、TRUSTEE_IS_NAME形式が使用されます。 このパラメーターが NULL場合、cCountOfAuditEntries パラメーターも NULLする必要があります。

[in] pSD

関数がセキュリティ情報を取得する既存の 自己相対セキュリティ記述子 へのポインター。

戻り値

関数が成功した場合、関数はERROR_SUCCESSを返します。

関数が失敗した場合、WinError.h で定義された 0 以外のエラー コードが返されます。

備考

LookupSecurityDescriptorParts 関数は、セキュリティ記述子の所有者とプライマリ グループの名前を取得します。 この関数は、DACL の ACE と、セキュリティ記述子の SACL の監査制御エントリの説明も返します。

pSD 以外のパラメーターは、情報に関心がない場合は NULL できます。 DACL に関する情報が必要ない場合は、pListOfAccessEntriescCountOfAuditEntries の両方を NULLする必要があります。 SACL に関する情報が必要ない場合は、pListOfAuditEntriescCountOfAuditEntries の両方を NULLする必要があります。 同様に、DACL または SACL 情報が必要な場合は、対応するパラメーターの両方を NULLすることはできません。

pOwnerpGrouppListOfAccessEntries、または pListOfAuditEntries パラメーター によって返されるバッファーの使用が完了したら、LocalFree 関数を呼び出して解放します。

LookupSecurityDescriptorParts 関数は、独自のオブジェクトにセキュリティを実装または公開する信頼されたサーバーを対象としています。 この関数は、信頼されたサーバーが必要とする場合があるため、ストリームにシリアル化してディスクに格納するのに適した自己相対セキュリティ記述子で動作します。

手記

aclapi.h ヘッダーは、Unicode プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして LookupSecurityDescriptorParts を定義します。 エンコードに依存しないエイリアスをエンコードに依存しないコードと組み合わせて使用すると、コンパイルエラーやランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「関数プロトタイプの 規則」を参照してください。

必要条件

要件 価値
サポートされる最小クライアント Windows XP [デスクトップ アプリのみ]
サポートされる最小サーバー Windows Server 2003 [デスクトップ アプリのみ]
ターゲット プラットフォーム の ウィンドウズ
ヘッダー aclapi.h
ライブラリ Advapi32.lib
DLL Advapi32.dll

関連項目

ACE

ACL

クライアント/サーバー のアクセス制御関数の

クライアント/サーバー のアクセス制御の概要

EXPLICIT_ACCESS

GetExplicitEntriesFromAcl の

LocalFree

SECURITY_DESCRIPTOR

SID の

トラスティ