ウィンドウステーションオブジェクトを作成し、呼び出し元プロセスに関連付け、現在のセッションに割り当てる。(Unicode)
CreateWindowStationW lpwinsta, dwFlags, dwDesiredAccess, lpsa
lpwinsta : [wstr] 作成するウィンドウステーションの名前。ウィンドウステーション名は大文字小文字を区別せず、バックスラッシュ文字 (\\) を含むことはできない。名前を指定できるのは Administrators グループのメンバのみである。lpwinsta が NULL または空文字列の場合、システムは呼び出し元プロセスのログオンセッション識別子を使ってウィンドウステーション名を生成する。この名前を取得するには GetUserObjectInformation 関数を呼ぶ。 dwFlags : [int] このパラメータが CWF_CREATE_ONLY でウィンドウステーションが既に存在する場合、呼び出しは失敗する。このフラグが指定されておらずウィンドウステーションが既に存在する場合、関数は成功し、既存のウィンドウステーションへの新しいハンドルを返す。Windows XP/2000 ではこのパラメータは予約されており、0 でなければならない。 dwDesiredAccess : [int] 返されるハンドルがウィンドウステーションに対して持つアクセスの種類。さらに、READ_CONTROL や WRITE_DAC などの標準アクセス権、およびウィンドウステーション固有のアクセス権の組み合わせを指定できる。詳細は Window Station Security and Access Rights を参照。 lpsa : [var] 返されるハンドルが子プロセスに継承可能かどうかを決定する SECURITY_ATTRIBUTES 構造体へのポインタ。lpsa が NULL の場合、ハンドルは継承されない。構造体の lpSecurityDescriptor メンバは、新しいウィンドウステーションのセキュリティ記述子を指定する。lpsa が NULL の場合、ウィンドウステーション (およびその中で作成されるデスクトップ) はすべてのユーザに GENERIC_ALL アクセスを許可するセキュリティ記述子を取得する。
(プラグイン / モジュール : user32.dll)
ウィンドウステーションオブジェクトを作成し、呼び出し元プロセスに関連付け、現在のセッションに割り当てる。(Unicode) [戻り値] 関数が成功した場合、戻り値は新しく作成されたウィンドウステーションへのハンドル。指定されたウィンドウステーションが既に存在する場合、関数は成功し、既存のウィンドウステーションへのハンドルを返す。関数が失敗した場合、戻り値は NULL。拡張エラー情報を取得するには GetLastError を呼ぶ。 [備考] ハンドルの使用が終わったら CloseWindowStation を呼んでハンドルを解放しなければならない。 > [!NOTE] > winuser.h ヘッダは CreateWindowStation をエイリアスとして定義しており、UNICODE プリプロセッサ定数の定義に基づき自動的に ANSI/Unicode 版を選択する。エンコーディング非依存のエイリアスとそうでないコードを混在させると、コンパイル時または実行時のエラーにつながる不一致が生じる可能性がある。詳細は Conventions for Function Prototypes を参照。
| プラグイン / モジュール | user32.dll |
| バージョン | 1.0 |
| 作成日 | 2026/04/16 |
| 著作者 | IronHSP / CsWin32 bridge |
| URL | https://github.com/inovia/IronHSP |
| 備考 | Win32 API の user32.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。 |
| タイプ | 拡張命令 |
| グループ | Win32API |
| 対応環境 |
|
| hs ファイル | hsphelp\win32_user32_gen2.hs |