次の方法で共有


LookupAccountNameA 関数 (winbase.h)

LookupAccountName 関数は、システムの名前とアカウントを入力として受け入れます。 アカウントの セキュリティ識別子 (SID) と、アカウントが見つかったドメインの名前を取得します。

LsaLookupNames 関数は、コンピューター アカウントを取得することもできます。

構文

BOOL LookupAccountNameA(
  [in, optional]  LPCSTR        lpSystemName,
  [in]            LPCSTR        lpAccountName,
  [out, optional] PSID          Sid,
  [in, out]       LPDWORD       cbSid,
  [out, optional] LPSTR         ReferencedDomainName,
  [in, out]       LPDWORD       cchReferencedDomainName,
  [out]           PSID_NAME_USE peUse
);

パラメーター

[in, optional] lpSystemName

システムの名前を指定する -terminated 文字列null へのポインター。 この文字列には、リモート コンピューターの名前を指定できます。 この文字列が NULL場合、アカウント名の変換はローカル システムで開始されます。 ローカル システムで名前を解決できない場合、この関数はローカル システムによって信頼されているドメイン コントローラーを使用して名前の解決を試みます。 一般に、lpSystemName の値は、アカウントが信頼されていないドメインにあり、そのドメイン内のコンピューターの名前がわかっている場合にのみ指定します。

[in] lpAccountName

アカウント名を指定する -terminated 文字列null へのポインター。

domain_name\user_name形式の完全修飾文字列を使用して、LookupAccountName 目的のドメイン内のアカウントを確実に検索します。

[out, optional] Sid

lpAccountName パラメーターが指すアカウント名に対応する SID 構造体を受け取るバッファーへのポインター。 このパラメーターが NULL場合、cbSid 0 にする必要があります。

[in, out] cbSid

変数へのポインター。 入力時に、この値は、Sid バッファーのサイズ (バイト単位) を指定します。 バッファーが小さすぎるために関数が失敗した場合、または cbSid が 0 場合、この変数は必要なバッファー サイズを受け取ります。

[out, optional] ReferencedDomainName

アカウント名が見つかったドメインの名前を受け取るバッファーへのポインター。 ドメインに参加していないコンピューターの場合、このバッファーはコンピューター名を受け取ります。 このパラメーターが NULL場合、関数は必要なバッファー サイズを返します。

[in, out] cchReferencedDomainName

変数へのポインター。 入力時に、この値は、ReferencedDomainName バッファーのサイズ (TCHARs) を指定します。 バッファーが小さすぎるために関数が失敗した場合、この変数は必要なバッファー サイズを受け取ります(終端 null 文字を含む)。 ReferencedDomainName パラメーター が NULL場合、このパラメーターは 0 である必要があります。

[out] peUse

関数が戻るときにアカウントの型を示す SID_NAME_USE 列挙型へのポインター。

戻り値

関数が成功した場合、関数は 0 以外の値を返します。

関数が失敗すると、0 が返されます。 拡張エラー情報については、GetLastError呼び出します。

備考

LookupAccountName 関数は、最初に既知の SID の一覧を確認することで、指定した名前の SID の検索を試みます。 名前が既知の SID に対応していない場合、関数は組み込みおよび管理上定義されたローカル アカウントをチェックします。 次に、この関数はプライマリ ドメインを確認します。 名前が見つからない場合は、信頼されたドメインがチェックされます。

分離名 (たとえば、user_name) の代わりに、完全修飾アカウント名 (domain_name\user_name など) を使用します。 完全修飾名は明確であり、検索の実行時にパフォーマンスが向上します。 この関数では、完全修飾 DNS 名 (example.example.com\user_name など) とユーザー プリンシパル名 (UPN) もサポートされます (たとえば、)。

LookupAccountName は、ローカル アカウント、ローカル ドメイン アカウント、明示的に信頼されたドメイン アカウントを検索するだけでなく、フォレスト内の任意のドメイン内の任意のアカウントの名前を検索できます。

手記

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

必要条件

要件 価値
サポートされる最小クライアント Windows XP [デスクトップ アプリ |UWP アプリ]
サポートされる最小サーバー Windows Server 2003 [デスクトップ アプリ |UWP アプリ]
ターゲット プラットフォーム の ウィンドウズ
ヘッダー winbase.h (Windows.h を含む)
ライブラリ Advapi32.lib
DLL Advapi32.dll

関連項目

アクセス制御の概要

基本的なアクセス制御関数の

EqualPrefixSid を する

GetUserName を する

LookupAccountSid を する

LsaLookupNames2

SID の

SID_NAME_USE