## DirectDrawCreateClipper

The DirectDrawCreateClipper function creates an instance of a DirectDrawClipper object not associated with a DirectDraw object.

HRESULT DirectDrawCreateClipper(

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.
pUnkOuter
  Allows for future compatibility with COM aggregation features. Presently, however, DirectDrawCreateClipper returns an error if this parameter is anything but NULL.

##### Return Values

If the function succeeds, the return value is DD_OK.

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

DDERR_INVALIDPARAMS
DDERR_OUTOFMEMORY

##### Remarks

This function can be called before any DirectDraw objects are created. Because these DirectDrawClipper objects are not owned by any DirectDraw object, they are not automatically released when an application's objects are released. If the application does not explicitly release the DirectDrawClipper objects, DirectDraw will release them when the application terminates.

To create a DirectDrawClipper object owned by a specific DirectDraw object, use the IDirectDraw2::CreateClipper method.

##### See Also

IDirectDraw2::CreateClipper