SecLookupAccountName 関数 (ntifs.h)
SecLookupAccountName は 、アカウントを入力として受け入れ、アカウントのセキュリティ識別子 (SID) と、アカウントが見つかったドメインの名前を取得します。
構文
KSECDDDECLSPEC NTSTATUS SEC_ENTRY SecLookupAccountName(
[in] PUNICODE_STRING Name,
[in, out] PULONG SidSize,
[out] PSID Sid,
[out] PSID_NAME_USE NameUse,
[out] PULONG DomainSize,
[in_out, optional] PUNICODE_STRING ReferencedDomain
);
パラメーター
[in] Name
アカウント名を指定する Unicode 文字列へのポインター。 secLookupAccountName が目的のドメイン内のアカウントを確実に検索するには、domain_name\user_name形式の完全修飾文字列を使用します。
[in, out] SidSize
Sid バッファーのサイズを指定する変数へのポインター。 入力時に、この値は入力 Sid バッファーのサイズをバイト単位で指定します。 バッファーが小さすぎるか 、SidSize が 0 の場合に関数が失敗した場合、この変数は必要なバッファー サイズを受け取ります。 成功した場合、この変数には返される Sid のサイズが含まれます。
[out] Sid
Name パラメーターによって指されるアカウント名に対応する SID 構造体を受け取るバッファーへのポインター。 このパラメーターが NULL の場合、 SidSize は 0 である必要があります。
[out] NameUse
アカウントの型を受け取る SID_NAME_USE 列挙型へのポインター。
[out] DomainSize
ReferencedDomain パラメーターのサイズを受け取る ULONG へのポインター。 バッファーが小さすぎるために関数が失敗した場合、この変数は必要なバッファー サイズを受け取ります。 入力 ReferencedDomain パラメーターが NULL の場合、このパラメーターは 0 を受け取ります。
[in_out, optional] ReferencedDomain
アカウント名が見つかったドメインの名前のバッファーへのポインター。 このパラメーターは省略可能であり、NULL にすることができます。 ドメインに参加していないコンピューターの場合、このバッファーはコンピューター名を受け取ります。
戻り値
SecLookupAccountName は、成功した場合はSTATUS_SUCCESS、失敗した場合は次のいずれかのエラー コードを返します。
リターン コード | 説明 |
---|---|
SEC_E_INTERNAL_ERROR | ローカル システム機関 (LSA) またはローカル プロシージャ コール (LPC) にセキュリティ プロバイダーに接続しようとしたときに、内部エラーが発生しました。 |
STATUS_ACCESS_DENIED | 現在実行中のスレッドに関連付けられているプロセス ID が、現在のプロセス ID と一致しません。 |
STATUS_BUFFER_TOO_SMALL | Sid パラメーターまたは ReferencedDomain パラメーターのバッファー サイズが小さすぎます。 |
STATUS_INVALID_PARAMETER | Name パラメーターの長さが、ローカル・システム機関へのメッセージで許可されている長さを超えました。 |
STATUS_NONE_MAPPED | Name パラメーターが見つかりませんでした。 |
STATUS_PROCESS_IS_TERMINATING | このプロセスは終了しているため、ローカル プロシージャ コール (LPC) 接続を確立できません。 |
注釈
SecLookupAccountName は、指定した名前の SID の検索を試みます。 関数は、組み込みおよび管理上定義されたローカル アカウントをチェックします。 次に、この関数はプライマリ ドメインを確認します。 名前が見つからない場合は、信頼されたドメインがチェックされます。
独立した名前 (たとえば、user_name) ではなく、完全修飾アカウント名 (たとえば、domain_name\user_name) を使用します。 完全修飾名は明確であり、検索を実行するとパフォーマンスが向上します。 この関数では、完全修飾 DNS 名 (たとえば、example.example.com\user_name) とユーザー プリンシパル名 (UPN) もサポートされます (例: someone@example.com)。
SecLookupAccountName は、ローカル アカウント、ローカル ドメイン アカウント、明示的に信頼されたドメイン アカウントを検索するだけでなく、フォレスト内の任意のドメイン内の任意のアカウントの名前を検索できます。
SecLookupAccountName は、Win32 LookupAccountName 関数と 同じです。
SecLookupAccountName は、ユーザー モード ヘルパー サービスを使用してこの関数を実装する ksecdd ドライバーによってエクスポートされます。 したがって、ファイル システム内でこの関数を使用するには、ユーザー モード サービスとの通信に関する通常の規則に従う必要があります。 SecLookupAccountName は、ページング ファイルの I/O 中に使用できません。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows XP |
対象プラットフォーム | ユニバーサル |
Header | ntifs.h (Ntifs.h を含む) |
Library | Ksecdd.lib |
IRQL | <= APC_LEVEL |