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