GetUserNameExW 関数 (secext.h)
呼び出し元スレッドに関連付けられているユーザーまたは他のセキュリティ プリンシパルの名前を取得します。 返される名前の形式を指定できます。
スレッドがクライアントを偽装している場合、 GetUserNameEx はクライアントの名前を返します。
構文
BOOLEAN SEC_ENTRY GetUserNameExW(
[in] EXTENDED_NAME_FORMAT NameFormat,
[out] LPWSTR lpNameBuffer,
[in, out] PULONG nSize
);
パラメーター
[in] NameFormat
名前の形式。 このパラメーターは、 EXTENDED_NAME_FORMAT 列挙型の値です。 NameUnknown にすることはできません。 ユーザー アカウントがドメインにない場合は、 NameSamCompatible のみがサポートされます。
[out] lpNameBuffer
指定した形式で名前を受け取るバッファーへのポインター。 バッファーには、終端の null 文字のスペースを含める必要があります。
[in, out] nSize
入力時に、この変数は TCHAR の lpNameBuffer バッファーのサイズを指定します。 関数が成功した場合、変数はバッファーにコピーされた TCHAR の 数を受け取ります。終端の null 文字は含まれません。
lpNameBuffer が小さすぎると、関数は失敗し、GetLastError はERROR_MORE_DATAを返します。 このパラメーターは、必要なバッファー サイズを Unicode 文字 (Unicode が使用されているかどうかに関係なく) で受け取ります。終端の null 文字も含まれます。
戻り値
関数が成功した場合、戻り値は 0 以外の値になります。
関数が失敗した場合は、0 を返します。 詳細なエラー情報を得るには、GetLastError を呼び出します。 使用可能な値は次のとおりです。
リターン コード | 説明 |
---|---|
|
lpNameBuffer バッファーが小さすぎます。 lpnSize パラメーターには、名前を受け取るために必要なバイト数が含まれています。 |
|
参照を実行するためにドメイン コントローラーを使用できない |
|
ユーザー名は、指定された形式では使用できません。 |
注釈
注意
secext.h ヘッダーは、Unicode プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして GetUserNameEx を定義します。 encoding-neutral エイリアスの使用を encoding-neutral ではないコードと混在すると、コンパイル エラーまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | secext.h (Security.h を含む) |
Library | Secur32.lib |
[DLL] | Secur32.dll |