WNDOBJ_bEnum

BOOL WNDOBJ_bEnum(

    WNDOBJ  *pwo,
   ULONG  cj,
   ULONG  *pul
  );

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

Parameters

pwo

Points 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

Points to the buffer in which a structure of the following form is to be written, where 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.

Comments

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 DDI functions that are given a WNDOBJ.

See Also

EngCreateWnd, WNDOBJ, WNDOBJ_cEnumStart