Win32 LogonUser 関数は、ユーザーをローカルコンピュータにログオンしようとする。LogonUser はユーザーを偽装するために使用できるユーザートークンへのハンドルを返す。(Unicode)
LogonUserW lpszUsername, lpszDomain, lpszPassword, dwLogonType, dwLogonProvider, phToken
lpszUsername : [wstr] ユーザーの名前を指定する null 終端文字列へのポインタ。これはログオン先のユーザーアカウントの名前である。ユーザープリンシパル名 (UPN) 形式 (User@DNSDomainName) を使用する場合、lpszDomain パラメータは NULL でなければならない。 lpszDomain : [wstr] lpszUsername アカウントが含まれるアカウントデータベースを持つドメインまたはサーバーの名前を指定する null 終端文字列へのポインタ。このパラメータが NULL の場合、ユーザー名は UPN 形式で指定する必要がある。このパラメータが "." の場合、関数はローカルアカウントデータベースのみを使用してアカウントを検証する。 lpszPassword : [wstr] lpszUsername で指定されたユーザーアカウントの平文パスワードを指定する null 終端文字列へのポインタ。パスワードの使用が終わったら、SecureZeroMemory 関数を呼び出してメモリからパスワードをクリアする。パスワード保護の詳細については「Handling Passwords」を参照。 dwLogonType : [int] dwLogonProvider : [int] phToken : [intptr] 指定したユーザーを表すトークンへのハンドルを受け取るハンドル変数へのポインタ。返されたハンドルは ImpersonateLoggedOnUser 関数の呼び出しで使用できる。ほとんどの場合、返されるハンドルは CreateProcessAsUser 関数の呼び出しで使用できるプライマリトークンである。ただし、LOGON32_LOGON_NETWORK フラグを指定した場合、LogonUser は偽装トークンを返す。これは DuplicateTokenEx を呼び出してプライマリトークンに変換しない限り、CreateProcessAsUser では使用できない。このハンドルが不要になったら、CloseHandle 関数を呼び出して閉じる。
(プラグイン / モジュール : advapi32.dll)
Win32 LogonUser 関数は、ユーザーをローカルコンピュータにログオンしようとする。LogonUser はユーザーを偽装するために使用できるユーザートークンへのハンドルを返す。(Unicode) [戻り値] 関数が成功した場合、0 以外を返す。関数が失敗した場合、0 を返す。拡張エラー情報を取得するには GetLastError を呼び出す。 [備考] LOGON32_LOGON_NETWORK ログオンタイプは最速だが、以下の制限がある。 (以下省略)
| プラグイン / モジュール | advapi32.dll |
| バージョン | 1.0 |
| 作成日 | 2026/04/16 |
| 著作者 | IronHSP / CsWin32 bridge |
| URL | https://github.com/inovia/IronHSP |
| 備考 | Win32 API の advapi32.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。 |
| タイプ | 拡張命令 |
| グループ | Win32API |
| 対応環境 |
|
| hs ファイル | hsphelp\win32_advapi32_gen2.hs |