次の方法で共有


ウィンドウ ステーションとデスクトップの作成

対話型ウィンドウステーションが自動的に作成されます。 対話型ユーザーがログオンすると、システムは対話型ウィンドウ ステーションをユーザー ログオン セッションに関連付けます。 システムでは、対話型ウィンドウ ステーションの既定の入力デスクトップも作成されます (Winsta0\default)。 ログオン ユーザーによって開始されたプロセスは、Winsta0\default デスクトップに関連付けられます。

プロセスでは 、CreateWindowStation 関数を使用して新しいウィンドウ ステーションを作成し、 CreateDesktop または CreateDesktopEx 関数を使用して新しいデスクトップを作成できます。 作成できるデスクトップの数は、システム デスクトップ ヒープのサイズによって制限されます。 詳細については、「 CreateDesktop」を参照してください。

サービス アプリケーションなどの非対話型プロセスがウィンドウ ステーションへの接続を試み、プロセス ログオン セッションに対してウィンドウ ステーションが存在しない場合、システムはセッションのウィンドウ ステーションとデスクトップの作成を試みます。 作成されたウィンドウ ステーションの名前はログオン セッション識別子に基づいており、デスクトップには default という名前が付けられます。次に説明します。

  • サービスが LocalSystem アカウントのセキュリティ コンテキストで実行されていても、SERVICE_INTERACTIVE_PROCESS属性が含まれていない場合は、Service-0x0-3e7$\default というウィンドウ ステーションとデスクトップが使用されます。 このウィンドウ ステーションは対話型でないので、サービスはユーザー インターフェイスを表示できません。 さらに、サービスによって作成されたプロセスでは、ユーザー インターフェイスを表示できません。
  • サービスがユーザー アカウントのセキュリティ コンテキストで実行されている場合、ウィンドウ ステーションの名前はユーザー SID Service-0xZ1-Z2$ に基づきます。 ここで、Z1 はログオン SID の上位部分、 Z2 はログオン SID の下位部分です。 SID はログオン セッションに固有であるため、同じセキュリティ コンテキストで実行されている 2 つのサービスは一意のウィンドウ ステーションを受け取ります。 これらのウィンドウ ステーションは対話型ではありません。

ウィンドウ ステーションとデスクトップの随意アクセス制御リスト (DACL) には、サービスのユーザー アカウントに対する次のアクセス権が含まれます。

ウィンドウ ステーション:

WINSTA\_ACCESSCLIPBOARD WINSTA\_ACCESSGLOBALATOMS WINSTA\_CREATEDESKTOP WINSTA\_EXITWINDOWS WINSTA\_READATTRIBUTES STANDARD\_RIGHTS\_REQUIRED

デスクトップ:

DESKTOP\_CREATEMENU DESKTOP\_CREATEWINDOW DESKTOP\_ENUMERATE DESKTOP\_HOOKCONTROL DESKTOP\_READOBJECTS DESKTOP\_WRITEOBJECTS STANDARD\_RIGHTS\_REQUIRED