Two of the DirectDraw functions initiate control of display memory through the IDirectDraw interface. The first function, DirectDrawCreate, creates an instance of a DirectDraw object that represents a specific piece of display hardware. The second function, DirectDrawEnumerate, obtains a list of all DirectDraw objects installed on a system. These functions are the mechanisms DirectDraw uses to support multiple pieces of display hardware. To support multiple display devices, your application need only select a specific DirectDraw object and instantiate it.
The third function, DirectDrawCreateClipper, creates an instance of a DirectDraw clipper that is not directly owned by a DirectDraw object, and can be shared across multiple driver objects.