GetUserObjectInformationA 函式 (winuser.h)

擷取指定之視窗月臺或桌面對象的相關信息。

語法

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

參數

[in] hObj

視窗月臺或桌面物件的句柄。 這個句柄是由 CreateWindowStationOpenWindowStationCreateDesktop 或 OpenDesktop式傳回。

[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 專業版 [僅限傳統型應用程式]
最低支援的伺服器 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

視窗月臺和桌面函式