createWindowStationA 函式 (winuser.h)
建立視窗月臺物件、將它與呼叫進程產生關聯,並將它指派給目前的會話。
語法
HWINSTA CreateWindowStationA(
[in, optional] LPCSTR lpwinsta,
DWORD dwFlags,
[in] ACCESS_MASK dwDesiredAccess,
[in, optional] LPSECURITY_ATTRIBUTES lpsa
);
參數
[in, optional] lpwinsta
要建立的視窗月臺名稱。 視窗月臺名稱不區分大小寫,而且不能包含反斜線字元 (\) 。 只允許 Administrators 群組的成員指定名稱。 如果 lpwinsta 為 Null 或空字串,系統會使用呼叫程式的登入會話識別碼來形成視窗月臺名稱。 若要取得此名稱,請呼叫 GetUserObjectInformation 函式 。
dwFlags
如果此參數 CWF_CREATE_ONLY 且視窗月臺已經存在,則呼叫會失敗。 如果未指定這個旗標,而且視窗月臺已經存在,函式就會成功,並將新的控制碼傳回至現有的視窗月臺。
Windows XP/2000: 此參數是保留的,而且必須是零。
[in] dwDesiredAccess
傳回控制碼對視窗月臺的存取類型。 此外,您可以指定任何標準存取權限,例如 READ_CONTROL 或 WRITE_DAC,以及視窗月臺特定存取權限的組合。 如需詳細資訊,請參閱 Window Station Security and Access Rights。
[in, optional] lpsa
SECURITY_ATTRIBUTES結構的指標,決定子進程是否可以繼承傳回的控制碼。 如果 lpsa 為 Null,則無法繼承控制碼。
結構的 lpSecurityDescriptor 成員會指定新視窗月臺的安全描述項。 如果 lpsa 為 Null,則視窗月臺 (和視窗內建立的任何桌面) 取得安全性描述項,授與 所有使用者GENERIC_ALL 存取權。
傳回值
如果函式成功,傳回值就是新建立之視窗月臺的控制碼。 如果指定的視窗月臺已經存在,函式會成功,並將控制碼傳回至現有的視窗月臺。
如果函式失敗,傳回值為 Null。 若要取得擴充的錯誤資訊,請呼叫 GetLastError。
備註
完成控制碼之後,您必須呼叫 CloseWindowStation 以釋放控制碼。
注意
winuser.h 標頭會將 CreateWindowStation 定義為別名,根據 UNICODE 預處理器常數的定義,自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程式碼,可能會導致編譯或執行時間錯誤不符。 如需詳細資訊,請參閱 函式原型的慣例。
規格需求
最低支援的用戶端 | Windows 2000 Professional [僅限傳統型應用程式] |
最低支援的伺服器 | Windows 2000 Server [僅限桌面應用程式] |
目標平台 | Windows |
標頭 | winuser.h (包含 Windows.h) |
程式庫 | User32.lib |
Dll | User32.dll |
API 集合 | ext-ms-win-ntuser-windowstation-l1-1-0 (在 Windows 8) |
另請參閱
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應