GetUserNameW

現在のスレッドに関連付けられたユーザーの名前を取得する。(Unicode)

GetUserNameW lpBuffer, pcbBuffer

lpBuffer : [wstr] ユーザーのログオン名を受け取るバッファへのポインタ。このバッファがユーザー名全体を格納するのに十分な大きさでない場合、関数は失敗する。(UNLEN + 1) 文字のバッファサイズで、終端 null 文字を含む最大長のユーザー名を格納できる。UNLEN は Lmcons.h で定義される。
pcbBuffer : [var] 入力時、この変数は lpBuffer バッファのサイズを TCHAR 単位で指定する。出力時、変数にはバッファにコピーされた TCHAR 数 (終端 null 文字を含む) が格納される。

(プラグイン / モジュール : advapi32.dll)

解説

現在のスレッドに関連付けられたユーザーの名前を取得する。(Unicode)

[戻り値]
関数が成功した場合、戻り値は 0 以外であり、lpnSize が指す変数には終端 null 文字を含めて lpBuffer
で指定されたバッファにコピーされた TCHAR 数が格納される。関数が失敗した場合、戻り値は 0 である。拡張エラー情報を取得するには
GetLastError を呼び出す。

[備考]
現在のスレッドが別のクライアントを偽装している場合、GetUserName
関数はスレッドが偽装しているクライアントのユーザー名を返す。GetUserName が "NETWORK SERVICE"
アカウントで実行されているプロセスから呼び出された場合、lpBuffer に返される文字列は Windows
のバージョンによって異なる。Windows XP では "NETWORK SERVICE" 文字列が返される。Windows Vista
では "<HOSTNAME>$" 文字列が返される。

情報

プラグイン / モジュールadvapi32.dll
バージョン1.0
作成日2026/04/16
著作者IronHSP / CsWin32 bridge
URLhttps://github.com/inovia/IronHSP
備考Win32 API の advapi32.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。
タイプ拡張命令
グループWin32API
対応環境
  • Windows 版 HSP
hs ファイルhsphelp\win32_advapi32_gen2.hs