GetUserObjectInformationA 函数 (winuser.h)
检索有关指定窗口工作站或桌面对象的信息。
语法
BOOL GetUserObjectInformationA(
[in] HANDLE hObj,
[in] int nIndex,
[out, optional] PVOID pvInfo,
[in] DWORD nLength,
[out, optional] LPDWORD lpnLengthNeeded
);
参数
[in] hObj
窗口工作站或桌面对象的句柄。 此句柄由 CreateWindowStation、OpenWindowStation、CreateDesktop或 OpenDesktop 函数返回。
[in] nIndex
要检索的信息。 参数可以是下列值之一。
价值 | 意义 |
---|---|
|
句柄标志。 pvInfo 参数必须指向 USEROBJECTFLAGS 结构。 |
|
桌面堆的大小(以 KB 为单位),作为 ULONG 值。
hObj 参数必须是桌面对象的句柄,否则该函数将失败。
Windows Server 2003 和 Windows XP/2000:不支持 此值。 |
|
如果 hObj 参数是接收用户输入的桌面对象的句柄,则 TRUE。 否则 FALSE。
Windows Server 2003 和 Windows XP/2000:不支持 此值。 |
|
对象的名称,作为字符串。 |
|
对象的类型名称,作为字符串。 |
|
SID 结构,用于标识当前与指定对象关联的用户。 如果没有用户与对象关联,则 lpnLengthNeeded 指向的缓冲区中返回的值为零。 请注意,SID 是可变长度结构。 通常会调用 GetUserObjectInformation,以确定检索其值之前 SID 的长度。 |
[out, optional] pvInfo
指向用于接收对象信息的缓冲区的指针。
[in] nLength
pvInfo 参数指向的缓冲区的大小(以字节为单位)。
[out, optional] lpnLengthNeeded
指向接收存储所请求信息的字节数的变量的指针。 如果此变量的值大于函数返回时 nLength 参数的值,则函数返回 FALSE,并且不会将任何信息复制到 pvInfo 缓冲区。 如果 lpnLengthNeeded 指向的变量的值小于或等于 nLength的值,则会复制整个信息块。
返回值
如果函数成功,则返回值为非零。
如果函数失败,则返回值为零。 若要获取扩展的错误信息,请调用 GetLastError。
言论
注意
winuser.h 标头将 GetUserObjectInformation 定义为一个别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将中性编码别名与不中性编码的代码混合使用可能会导致编译或运行时错误不匹配。 有关详细信息,请参阅函数原型的
要求
要求 | 价值 |
---|---|
最低支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
支持的最低服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | 窗户 |
标头 | winuser.h (包括 Windows.h) |
库 | User32.lib |
DLL | User32.dll |
API 集 | ext-ms-win-ntuser-windowstation-ansi-l1-1-0(在 Windows 10 版本 10.0.10240 中引入) |