IDirectDrawClipper::GetClipList

The IDirectDrawClipper::GetClipList method retrieves a copy of the clip list associated with a DirectDrawClipper object. A subset of the clip list can be selected by passing a rectangle that clips the clip list.

HRESULT GetClipList(
  LPRECT lpRect,         
  LPRGNDATA lpClipList,  
  LPDWORD lpdwSize       
);
 

Parameters

lpRect
Address of a rectangle that will be used to clip the clip list. This parameter can be NULL to retrieve the entire clip list.
lpClipList
Address of an RGNDATA structure that will contain the resulting copy of the clip list. If this parameter is NULL, the method fills the variable at lpdwSize to the number of bytes necessary to hold the entire clip list.
lpdwSize
Size of the resulting clip list. When retrieving the clip list, this parameter is the size of the buffer at lpClipList. When lpClipList is NULL, the variable at lpdwSize receives the required size of the buffer, in bytes.

Return Values

If the method succeeds, the return value is DD_OK.

If the method fails, the return value may be one of the following error values:

DDERR_GENERIC
DDERR_INVALIDCLIPLIST
DDERR_INVALIDOBJECT
DDERR_INVALIDPARAMS
DDERR_NOCLIPLIST
DDERR_REGIONTOOSMALL

Remarks

The RGNDATA structure used with this method has the following syntax:

typedef struct _RGNDATA { 
    RGNDATAHEADER rdh; 
    char          Buffer[1]; 
} RGNDATA; 
 

The rdh member of the RGNDATA structure is an RGNDATAHEADER structure that has the following syntax:

typedef struct _RGNDATAHEADER { 
    DWORD dwSize; 
    DWORD iType; 
    DWORD nCount; 
    DWORD nRgnSize; 
    RECT  rcBound; 
} RGNDATAHEADER; 
 

For more information about these structures, see the documentation in the Platform SDK.

QuickInfo

  Windows NT/2000: Requires Windows NT 4.0 SP3 or later.
  Windows 95/98: Requires Windows 95 or later. Available as a redistributable for Windows 95.
  Header: Declared in ddraw.h.
  Import Library: Use ddraw.lib.

See Also

IDirectDrawClipper::SetClipList