WNDOBJ_bEnum function (winddi.h)

The WNDOBJ_bEnum function obtains a batch of rectangles from the visible region of a window.

Syntax

ENGAPI BOOL WNDOBJ_bEnum(
  WNDOBJ *pwo,
  ULONG  cj,
  ULONG  *pul
);

Parameters

pwo

Pointer to a WNDOBJ structure created by a call to EngCreateWnd.

cj

Specifies the size, in bytes, of the buffer pointed to by pul. GDI will not write beyond this limit.

pul

Pointer to the buffer in which a structure of the following form is to be written. In this structure, c is a count of the rectangles returned, and arcl is an array of rectangles:

typedef struct _ENUMRECTS{
    ULONG c;
    RECTL arcl[]
} ENUMRECTS;

Return value

The return value is TRUE if there is more data to be enumerated and the driver should repeat the call. It is FALSE if the enumeration is complete.

Remarks

The order of enumeration is determined by the call to WNDOBJ_cEnumStart.

A possible loop structure for calling this function follows.

do {
    bMore = WNDOBJ_bEnum(pwo, sizeof(buffer), &buffer.c);
    for (i = 0; i < buffer.c; i++) { 
        //  Process the data
    }
} while (bMore);

WNDOBJ_bEnum should be called only by the callback function provided to GDI by the EngCreateWnd function, or by the graphics DDI functions that are given a WNDOBJ.

Requirements

Requirement Value
Minimum supported client Available in Windows 2000 and later versions of the Windows operating systems.
Target Platform Universal
Header winddi.h (include Winddi.h)
Library Win32k.lib
DLL Win32k.sys

See also

EngCreateWnd

WNDOBJ

WNDOBJ_cEnumStart