次の方法で共有


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 文字列へのポインター。 domain_name\user_name 形式の完全修飾文字列を使用して、SecLookupAccountName 目的のドメイン内のアカウントを確実に検索します。

[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
ターゲット プラットフォーム の 万国
ヘッダー ntifs.h (Ntifs.h を含む)
ライブラリ Ksecdd.lib
IRQL <= APC_LEVEL

関連項目

SID の

SID_NAME_USE

SecLookupAccountSid

SecLookupWellKnownSid