GetNamedSecurityInfoA 関数 (aclapi.h)
GetNamedSecurityInfo 関数は、名前で指定されたオブジェクトの セキュリティ記述子 のコピーを取得します。
構文
DWORD GetNamedSecurityInfoA(
[in] LPCSTR pObjectName,
[in] SE_OBJECT_TYPE ObjectType,
[in] SECURITY_INFORMATION SecurityInfo,
[out, optional] PSID *ppsidOwner,
[out, optional] PSID *ppsidGroup,
[out, optional] PACL *ppDacl,
[out, optional] PACL *ppSacl,
[out, optional] PSECURITY_DESCRIPTOR *ppSecurityDescriptor
);
パラメーター
[in] pObjectName
セキュリティ情報の取得元となるオブジェクトの名前を指定する null で終わる文字列へのポインター。 さまざまなオブジェクトの種類の文字列形式の説明については、SE_OBJECT_TYPEを参照してください。
[in] ObjectType
pObjectName パラメーターによって指定されたオブジェクトの型を示す SE_OBJECT_TYPE 列挙体の値を指定します。
[in] SecurityInfo
取得するセキュリティ情報の種類を示すビット フラグのセット。 このパラメーターには、SECURITY_INFORMATION ビット フラグの組み合わせを指定できます。
[out, optional] ppsidOwner
[out, optional] ppsidGroup
返されたセキュリティ記述子のプライマリ グループ SID へのポインターを受け取る変数へのポインター。セキュリティ記述子にグループ SID がない場合は NULL
[out, optional] ppDacl
返されたセキュリティ記述子で DACL へのポインターを受け取る変数へのポインター。または、セキュリティ記述子に DACL がない場合は NULL
[out, optional] ppSacl
返されたセキュリティ記述子で SACL へのポインターを受け取る変数へのポインター。セキュリティ記述子に SACL がない場合は NULL
[out, optional] ppSecurityDescriptor
オブジェクトのセキュリティ記述子へのポインターを受け取る変数へのポインター。 ポインターの使用が完了したら、LocalFree 関数を呼び出して、返されたバッファーを解放します。
このパラメーターは、
戻り値
関数が成功した場合、戻り値はERROR_SUCCESS。
関数が失敗した場合、戻り値は WinError.h で定義されている 0 以外のエラー コードです。
備考
オブジェクトのセキュリティ記述子から所有者、グループ、または DACL を読み取るために、オブジェクトの DACL は呼び出し元にREAD_CONTROLアクセス権を付与する必要があります。または、呼び出し元がオブジェクトの所有者である必要があります。
オブジェクトのシステム アクセス制御リストを読み取るために、呼び出し元プロセスに対してSE_SECURITY_NAME特権を有効にする必要があります。 特権を有効にした場合のセキュリティへの影響については、「特別な特権を使用した実行」を参照してください。
GetNamedSecurityInfo 関数は、次の種類のオブジェクトと共に使用できます。
- NTFS ファイル システム上のローカル またはリモートのファイルまたはディレクトリ
- ローカル プリンターまたはリモート プリンター
- ローカルまたはリモートの Windows サービス
- ネットワーク共有
- レジストリ キー
- セマフォ、イベント、ミューテックス、および待機可能タイマー
- ファイル マッピング オブジェクト
- ディレクトリ サービス オブジェクト
この関数は、プレーンテキストで情報を転送します。 この関数によって転送される情報は、システムに対して署名がオフになっていない限り署名されますが、暗号化は実行されません。
ユーザー アカウント、グループ アカウント、またはログオン セッションを介してオブジェクトへのアクセスを制御する方法の詳細については、「DCL がオブジェクトへのアクセスを制御する方法」を参照してください。
例
GetNamedSecurityInfo
手記
aclapi.h ヘッダーは、Unicode プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして GetNamedSecurityInfo を定義します。 エンコードに依存しないエイリアスをエンコードに依存しないコードと組み合わせて使用すると、コンパイルエラーやランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「関数プロトタイプの 規則」を参照してください。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows XP [デスクトップ アプリ |UWP アプリ] |
サポートされる最小サーバー | Windows Server 2003 [デスクトップ アプリ |UWP アプリ] |
ターゲット プラットフォーム の |
ウィンドウズ |
ヘッダー | aclapi.h |
ライブラリ | Advapi32.lib |
DLL | Advapi32.dll |
関連項目
GetSecurityInfo を
SID の
SetNamedSecurityInfo の
SetSecurityInfo の