共用方式為


getUserObjectInformationW 函式 (winuser.h)

擷取指定視窗月臺或桌面物件的相關資訊。

語法

BOOL GetUserObjectInformationW(
  [in]            HANDLE  hObj,
  [in]            int     nIndex,
  [out, optional] PVOID   pvInfo,
  [in]            DWORD   nLength,
  [out, optional] LPDWORD lpnLengthNeeded
);

參數

[in] hObj

視窗月臺或桌面物件的控制碼。 這個控制碼是由 CreateWindowStationOpenWindowStationCreateDesktopOpenDesktop 函式傳回。

[in] nIndex

要擷取的資訊。 參數可以是下列其中一個值。

意義
UOI_FLAGS
1
控制碼旗標。 pvInfo參數必須指向USEROBJECTFLAGS結構。
UOI_HEAPSIZE
5
桌面堆積的大小,以 KB 為單位,以 ULONG 值表示。 hObj參數必須是桌面物件的控制碼,否則函式會失敗。

Windows Server 2003 和 Windows XP/2000: 不支援這個值。

UOI_IO
6
如果hObj參數是接收使用者輸入之桌面物件的控制碼,則為TRUE否則為 FALSE

Windows Server 2003 和 Windows XP/2000: 不支援這個值。

UOI_NAME
2
物件的名稱,做為字串。
UOI_TYPE
3
物件的型別名稱,做為字串。
UOI_USER_SID
4
SID結構,識別目前與指定物件相關聯的使用者。 如果沒有使用者與物件相關聯, lpnLengthNeeded 所指向緩衝區中傳回的值會是零。 請注意 ,SID 是可變長度結構。 您通常會呼叫 GetUserObjectInformation 來判斷 SID 的長度,然後再擷取其值。

[out, optional] pvInfo

要接收物件資訊的緩衝區指標。

[in] nLength

pvInfo參數所指向的緩衝區大小,以位元組為單位。

[out, optional] lpnLengthNeeded

變數的指標,接收儲存所要求資訊所需的位元組數目。 如果此變數的值大於函式傳回時 nLength 參數的值,則函式會傳回 FALSE,而且不會將任何資訊複製到 pvInfo 緩衝區。 如果 lpnLengthNeeded 所指向的變數值小於或等於 nLength的值,則會複製整個資訊區塊。

傳回值

如果函式成功,則傳回非零的值。

如果此函式失敗,則傳回值為零。 若要取得擴充的錯誤資訊,請呼叫 GetLastError

備註

注意

winuser.h 標頭會根據 UNICODE 預處理器常數的定義,將 GetUserObjectInformation 定義為別名,自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程式碼,可能會導致編譯或執行時間錯誤不符。 如需詳細資訊,請參閱 函式原型的慣例

規格需求

   
最低支援的用戶端 Windows 2000 Professional [僅限傳統型應用程式]
最低支援的伺服器 Windows 2000 Server [僅限桌面應用程式]
目標平台 Windows
標頭 winuser.h (包含 Windows.h)
程式庫 User32.lib
Dll User32.dll
API 集合 ext-ms-win-ntuser-windowstation-ansi-l1-1-0 (Windows 10 10.0.10240 版)

另請參閱

CreateDesktop

CreateWindowStation

GetUserObjectSecurity

OpenDesktop

OpenWindowStation

SID

SetUserObjectInformation

SetUserObjectSecurity

USEROBJECTFLAGS

視窗月臺和桌面函式