EnumDesktops

The EnumDesktops function enumerates all desktops in the window station assigned to the calling process. The function does so by passing the name of each desktop, in turn, to an application-defined callback function.

BOOL EnumDesktops(
  HWINSTA hwinsta,            // handle to window station to enumerate
  DESKTOPENUMPROC lpEnumFunc, // points to application's callback function
  LPARAM lParam               // value to pass to the callback function
);
 

Parameters

hwinsta
Handle to the window station whose desktops are to be enumerated. The CreateWindowStation, GetProcessWindowStation, and OpenWindowStation functions return a window station handle.
lpEnumFunc
Pointer to an application-defined EnumDesktopProc callback function.
dwDesiredAccess
Specifies a 32-bit application-defined value to be passed to the callback function.

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.

Remarks

The calling process must have WINSTA_ENUMDESKTOPS access to the window station. The EnumDesktops function enumerates only those desktops for which the calling process has DESKTOP_ENUMERATE access.

The EnumDesktops function repeatedly invokes the lpEnumFunc callback function until the last desktop is enumerated or the callback function returns FALSE.

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, CreateWindowStation, EnumDesktopProc, GetProcessWindowStation, OpenWindowStation