### IDirectDraw2::CreateClipper

The IDirectDraw2::CreateClipper method creates a DirectDrawClipper object.

HRESULT CreateClipper(

DWORD dwFlags,

LPDIRECTDRAWCLIPPER FAR *lplpDDClipper,

IUnknown FAR *pUnkOuter

);

##### Parameters

dwFlags
  This parameter is currently not used and must be set to 0.
lplpDDClipper
  Address of a pointer that will be filled with the address of the new DirectDrawClipper object if this method returns successfully.
pUnkOuter
  Allows for future compatibility with COM aggregation features. Presently, however, IDirectDraw2::CreateClipper returns an error if this parameter is anything but NULL.

##### 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_INVALIDOBJECT
DDERR_INVALIDPARAMS
DDERR_NOCOOPERATIVELEVELSET
DDERR_OUTOFMEMORY

##### Remarks

The DirectDrawClipper object can be attached to a DirectDrawSurface and used during IDirectDrawSurface3::Blt, IDirectDrawSurface3::BltBatch, and IDirectDrawSurface3::UpdateOverlay operations.

To create a DirectDrawClipper object that is not owned by a specific DirectDraw object, use the DirectDrawCreateClipper function.

##### See Also

IDirectDrawSurface3::GetClipper, IDirectDrawSurface3::SetClipper