GetUserObjectInformation

The GetUserObjectInformation function returns information about a window station or desktop object.

BOOL GetUserObjectInformation(
  HANDLE hObj,            // handle to object to get information for
  int nIndex,             // type of information to retrieve
  PVOID pvInfo,           // points to buffer that receives the information
  DWORD nLength,          // size of the pvInfo buffer
  LPDWORD lpnLengthNeeded // receives required size of the pvInfo buffer
);
 

Parameters

hObj
Handle to the window station or desktop object for which to return information. This can be an HDESK or HWINSTA handle (for example, a handle returned by CreateWindowStation, OpenWindowStation, CreateDesktop, or OpenDesktop).
nIndex
Specifies the object information to be retrieved. The parameter must be one of the following values:
Value Description
UOI_FLAGS Returns handle flags. The pvInfo parameter must point to a USEROBJECTFLAGS structure.
UOI_NAME Returns a string containing the name of the object.
UOI_TYPE Returns a string containing the type name of the object.
UOI_USER_SID Returns the SID structure that identifies the user that is currently associated with the specified object. If no user is associated with the object, the value returned in the buffer pointed to by lpnLengthNeeded is zero. Note that SID is a variable length structure. You will usually make a call to GetUserObjectInformation to determine the length of the SID before retrieving its value.

pvInfo
Pointer to a buffer to receive the object information.
nLength
Specifies the size, in bytes, of the buffer pointed to by the pvInfo parameter.
lpnLengthNeeded
Pointer to a variable receiving the number of bytes required to store the requested information. If this variable's value is greater than the value of the nLength parameter when the function returns, the function returns FALSE, and none of the information is copied to the pvInfo buffer. If the value of the variable pointed to by lpnLengthNeeded is less than or equal to the value of nLength, the entire information block is copied.

Return Values

If the function succeeds, the return value is nonzero.

If the function fails, the return value is zero. To get extended error information, call GetLastError.

QuickInfo

  Windows NT: Requires version 3.51 or later.
  Windows: Unsupported.
  Windows CE: Unsupported.
  Header: Declared in winuser.h.
  Import Library: Use user32.lib.
  Unicode: Implemented as Unicode and ANSI versions on Windows NT.

See Also

Window Stations and Desktops Overview, Window Station and Desktop Functions, CreateDesktop, CreateWindowStation, GetUserObjectSecurity, OpenDesktop, OpenWindowStation, SetUserObjectInformation, SetUserObjectSecurity, SID, USEROBJECTFLAGS