You can create DirectDrawClipper objects that are not directly owned by any particular DirectDraw object. These DirectDrawClipper objects can be shared across multiple DirectDraw objects. Driver-independent DirectDrawClipper objects are created by using the new DirectDrawCreateClipper DirectDraw function. An application can call this function before any DirectDraw objects are created.
Because DirectDraw objects do not own these DirectDrawClipper objects, they are not automatically released when your application's objects are released. If the application does not explicitly release these DirectDrawClipper objects, DirectDraw will release them when the application closes.
You can still create DirectDrawClipper objects by using the IDirectDraw4::CreateClipper method. These DirectDrawClipper objects are automatically released when the DirectDraw object from which they were created is released.