CreateWindowStationA 関数 (winuser.h)

ウィンドウ ステーション オブジェクトを作成し、呼び出し元プロセスに関連付け、現在のセッションに割り当てます。

構文

HWINSTA CreateWindowStationA(
  [in, optional] LPCSTR                lpwinsta,
                 DWORD                 dwFlags,
  [in]           ACCESS_MASK           dwDesiredAccess,
  [in, optional] LPSECURITY_ATTRIBUTES lpsa
);

パラメーター

[in, optional] lpwinsta

作成するウィンドウ ステーションの名前。 ウィンドウステーション名では大文字と小文字が区別されず、円記号 (\) を含めることはできません。 Administrators グループのメンバーのみが名前を指定できます。 lpwinstaNULL または空の文字列の場合、システムは、呼び出し元プロセスのログオン セッション識別子を使用してウィンドウ ステーション名を形成します。 この名前を取得するには、 GetUserObjectInformation 関数を呼び出します。

dwFlags

このパラメーターが CWF_CREATE_ONLY で、ウィンドウ ステーションが既に存在する場合、呼び出しは失敗します。 このフラグが指定されておらず、ウィンドウ ステーションが既に存在する場合、関数は成功し、既存のウィンドウ ステーションに新しいハンドルを返します。

Windows XP/2000: このパラメーターは予約済みであり、0 である必要があります。

[in] dwDesiredAccess

返されるハンドルがウィンドウ ステーションに対して持つアクセスの種類。 さらに、 READ_CONTROLWRITE_DACなどの標準アクセス権と、ウィンドウ ステーション固有のアクセス権の組み合わせを指定できます。 詳細については、「 Window Station のセキュリティとアクセス権」を参照してください。

[in, optional] lpsa

返された ハンドルを子 プロセスによって継承できるかどうかを決定するSECURITY_ATTRIBUTES構造体へのポインター。 lpsaNULL の場合、ハンドルを継承できません。

構造体の lpSecurityDescriptor メンバーは、新しいウィンドウ ステーションのセキュリティ記述子を指定します。 lpsaNULL の場合、ウィンドウ ステーション (およびウィンドウ内に作成されたすべてのデスクトップ) は、すべてのユーザーにGENERIC_ALLアクセスを許可するセキュリティ記述子を取得します。

戻り値

関数が成功した場合、戻り値は新しく作成されたウィンドウ ステーションへのハンドルです。 指定したウィンドウ ステーションが既に存在する場合、関数は成功し、既存のウィンドウ ステーションへのハンドルを返します。

関数が失敗した場合は、返される値は NULL です。 詳細なエラー情報を得るには、GetLastError を呼び出します。

解説

ハンドルが完了したら、 CloseWindowStation を呼び出してハンドルを解放する必要があります。

注意

winuser.h ヘッダーは、CreateWindowStation をエイリアスとして定義し、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択します。 エンコードに依存しないエイリアスをエンコードニュートラルでないコードと組み合わせて使用すると、コンパイルまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。

要件

   
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー winuser.h (Windows.h を含む)
Library User32.lib
[DLL] User32.dll
API セット ext-ms-win-ntuser-windowstation-l1-1-0 (Windows 8 で導入)

関連項目

CloseWindowStation

GetUserObjectInformation

OpenWindowStation

ウィンドウ ステーションとデスクトップ関数

ウィンドウステーション