GetInheritanceSourceW 関数 (aclapi.h)

GetInheritanceSource 関数は、アクセス制御リスト (ACL) の継承されたアクセス制御エントリ (ACE) のソースに関する情報を返します

構文

DWORD GetInheritanceSourceW(
  [in]           LPWSTR                pObjectName,
  [in]           SE_OBJECT_TYPE        ObjectType,
  [in]           SECURITY_INFORMATION  SecurityInfo,
  [in]           BOOL                  Container,
  [in, optional] GUID                  **pObjectClassGuids,
  [in]           DWORD                 GuidCount,
  [in]           PACL                  pAcl,
  [in, optional] PFN_OBJECT_MGR_FUNCTS pfnArray,
  [in]           PGENERIC_MAPPING      pGenericMapping,
  [out]          PINHERITED_FROMW      pInheritArray
);

パラメーター

[in] pObjectName

ACL を使用してチェックされるオブジェクトの名前へのポインター。

[in] ObjectType

pObjectName で示されるオブジェクトの型。 使用可能な値は、SE_FILE_OBJECT、SE_REGISTRY_KEY、SE_DS_OBJECT、およびSE_DS_OBJECT_ALLです。

[in] SecurityInfo

オブジェクトで使用される ACL の型。 使用できる値は、DACL_SECURITY_INFORMATIONまたはSACL_SECURITY_INFORMATIONです。

[in] Container

オブジェクトがコンテナー オブジェクトの場合は TRUE、オブジェクトがリーフ オブジェクトの場合は FALSE。 リーフ オブジェクトはSE_FILE_OBJECTのみであることに注意してください。

[in, optional] pObjectClassGuids

pObjectName に関連付けられているオブジェクトの種類または名前を識別する GUID のオプションリスト。 オブジェクト マネージャーが 1 つのオブジェクト クラスのみをサポートしている場合、またはオブジェクト クラスに関連付けられている GUID がない場合、これは NULL になります。

[in] GuidCount

pObjectClassGuids が指す GUID の数。

[in] pAcl

オブジェクトの ACL。

[in, optional] pfnArray

予約済み。 このパラメーターを NULL に設定 します

[in] pGenericMapping

オブジェクトの特定の権限に対する汎用権限のマッピング。

[out] pInheritArray

GetInheritanceSource 関数が継承情報を入力するINHERITED_FROM構造体の配列へのポインター。 呼び出し元は、ACL 内の各 ACE のエントリに十分なメモリを割り当てる必要があります。

戻り値

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

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

注釈

GetInheritanceSource 関数は、INHERITED_FROM構造体で返される名前にメモリを割り当てます。 関数がこのメモリの使用を完了したら、呼び出し元のプログラムは FreeInheritedFromArray を呼び出して解放する必要があります。 呼び出し元は、配列自体のメモリを提供する必要があることに注意してください。 呼び出し元がメモリを割り当てた場合、呼び出し元は FreeInheritedFromArray を呼び出した後、そのメモリを解放する必要があります。

この関数は競合状態を処理しません。 スレッドがオブジェクトの セキュリティ記述子を変更するおおよその時点でこの関数を呼び出すと、この関数は失敗する可能性があります。

注意

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

要件

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

こちらもご覧ください

FreeInheritedFromArray