You can create clipper objects that are not directly owned by any particular DirectDraw object. Such clipper objects can be shared across multiple DirectDraw objects. Driver independent clipper objects are created with the new DirectDraw API function DirectDrawCreateClipper. This function can be called before any DirectDraw objects are created.
Because these clippers are not owned by any DirectDraw object, they are not automatically released when your application's objects are released. If not released explicitly by the application, these clippers will be released by DirectDraw when the application terminates.
You can still create clippers with the IDirectDraw::CreateClipper method. These DirectDrawClipper objects are automatically released when the DirectDraw object from which they were created is released.