SetUserObjectInformationA 函数 (winuser.h)

设置有关指定窗口工作站或桌面对象的信息。

语法

BOOL SetUserObjectInformationA(
  [in] HANDLE hObj,
  [in] int    nIndex,
  [in] PVOID  pvInfo,
  [in] DWORD  nLength
);

参数

[in] hObj

窗口站、桌面对象或当前进程伪句柄的句柄。 此句柄可由 CreateWindowStationOpenWindowStationCreateDesktopOpenDesktopGetCurrentProcess 函数返回。

[in] nIndex

要设置的对象信息。 此参数可以是以下值。

Value 含义
UOI_FLAGS
1
设置对象的句柄标志。 pvInfo 参数必须指向 USEROBJECTFLAGS 结构。
UOI_TIMERPROC_EXCEPTION_SUPPRESSION
7
设置调用 TimerProc 时的异常处理行为。 hObj 必须是 GetCurrentProcess 函数返回的进程句柄。

pvInfo 参数必须指向 BOOL。 如果为 TRUE,则 Windows 将使用使用和放弃所有异常的异常处理程序将其对 TimerProc 的调用括起来。 这是自 Windows 2000 以来的默认行为,尽管这可能会在 Windows 的未来版本中更改。

如果 pvInfo 指向 FALSE,则 Windows 不会将其对 TimerProc 的 调用与异常处理程序一起括起来。 建议设置 FALSE。 否则,应用程序的行为可能会不可预测,并且可能更容易受到安全漏洞的攻击。

[in] pvInfo

指向包含对象信息的缓冲区或 BOOL 的指针。

[in] nLength

pvInfo 指向的缓冲区中包含的信息的大小(以字节为单位)。

返回值

如果该函数成功,则返回值为非零值。

如果函数失败,则返回值为零。 要获得更多的错误信息,请调用 GetLastError。

注解

注意

winuser.h 标头将 SetUserObjectInformation 定义为别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将非特定编码别名与非非特定编码的代码混合使用可能会导致不匹配,从而导致编译或运行时错误。 有关详细信息,请参阅 函数原型的约定

要求

   
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
目标平台 Windows
标头 winuser.h (包括 Windows.h)
Library User32.lib
DLL User32.dll

另请参阅

CreateDesktop

CreateWindowStation

GetUserObjectInformation

OpenDesktop

OpenWindowStation

USEROBJECTFLAGS

窗口工作站和桌面函数

窗口工作站