視窗月臺和桌面建立
系統會自動建立互動式視窗月臺。 當互動式使用者登入時,系統會將互動式視窗月臺與使用者登入會話產生關聯。 系統也會為互動式視窗月臺建立預設輸入桌面, (Winsta0\default) 。 登入使用者啟動的進程會與 Winsta0\default 桌面相關聯。
程式可以使用CreateWindowStation函式來建立新的視窗月臺,以及CreateDesktop 或 CreateDesktopEx函式來建立新的桌面。 可建立的桌面數目受限於系統桌面堆積的大小。 如需詳細資訊,請參閱 CreateDesktop。
當服務應用程式嘗試連線到視窗月臺的非互動進程,且進程登入會話沒有視窗月臺存在時,系統會嘗試為會話建立視窗月臺和桌面。 所建立視窗月臺的名稱是以登入會話識別碼為基礎,且桌面名稱為預設值,如下所述:
- 如果服務是在 LocalSystem 帳戶的安全性內容中執行,但不包含 SERVICE_INTERACTIVE_PROCESS 屬性,則會使用下列視窗月臺和桌上型電腦:Service-0x0-3e7$\default。 此視窗月臺不是互動式的,因此服務無法顯示使用者介面。 此外,服務所建立的進程無法顯示使用者介面。
- 如果服務是在使用者帳戶的安全性內容中執行,則視窗月臺的名稱是以使用者 SID Service-0xZ1-Z2$ 為基礎,其中Z1是登入 SID 的高部分,而Z2是登入 SID 的低部分。 因為 SID 對登入會話而言是唯一的,所以在相同安全性內容中執行的兩個服務會收到唯一的視窗月臺。 這些視窗月臺不是互動式的。
視窗月臺和桌面 (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