LsaEnumerateAccountsWithUserRight 関数 (ntsecapi.h)
LsaEnumerateAccountsWithUserRight 関数は、指定された特権を保持するローカル セキュリティ機関 (LSA) ポリシー オブジェクトのデータベース内のアカウントを返します。 この関数によって返されるアカウントは、グループへのメンバーシップの一部としてではなく、ユーザー アカウントを介して指定された特権を直接保持します。
構文
NTSTATUS LsaEnumerateAccountsWithUserRight(
[in] LSA_HANDLE PolicyHandle,
[in] PLSA_UNICODE_STRING UserRight,
[out] PVOID *Buffer,
[out] PULONG CountReturned
);
パラメーター
[in] PolicyHandle
Policy オブジェクトへのハンドル。 ハンドルには、POLICY_LOOKUP_NAMESとPOLICY_VIEW_LOCAL_INFORMATIONユーザー権限が必要です。 詳細については、「 ポリシー オブジェクト ハンドルを開く」を参照してください。
[in] UserRight
特権の名前を指定する LSA_UNICODE_STRING 構造体へのポインター。 特権の一覧については、「 特権定数 」と「アカウント権限定数」を参照してください。
このパラメーターが NULL の場合、この関数は Policy オブジェクトに関連付けられているシステムの LSA データベース内のすべてのアカウントを列挙します。
[out] Buffer
構造体の配列へのポインターを受け取る変数へのポインター LSA_ENUMERATION_INFORMATION 。 各構造体の Sid メンバーは、指定された特権を保持するアカウントの セキュリティ識別子 (SID) へのポインターです。
情報が不要になったら、返されたポインターを LsaFreeMemory 関数に渡してメモリを解放します。
[out] CountReturned
EnumerationBuffer パラメーターで返されるエントリの数を受け取る変数へのポインター。
戻り値
関数が成功した場合、関数はSTATUS_SUCCESSを返します。
関数が失敗した場合、 NTSTATUS コードが返されます。これは、次の値のいずれか、または LSA ポリシー関数の戻り値のいずれかになります。
値 | 説明 |
---|---|
|
指定された特権文字列が有効な特権ではありません。 |
|
指定された特権を持つアカウントがありませんでした。 |
LsaNtStatusToWinError 関数を使用して、NTSTATUS コードを Windows エラー コードに変換できます。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows XP (デスクトップ アプリのみ) |
サポートされている最小のサーバー | Windows Server 2003 (デスクトップ アプリのみ) |
対象プラットフォーム | Windows |
ヘッダー | ntsecapi.h |
Library | Advapi32.lib |
[DLL] | Advapi32.dll |