Classes have two methods relevant to object creation,
Construct. To create a new object, the
Create method of the class is called. It allocates enough memory
as well as the private data for derived classes and then calls
Construct method calls the base class
Construct, then does the necessary initialization.
For example, creating a primary surface with the user ddraw driver
User_DirectDrawSurface_Create which allocates memory for the
object and calls
User_DirectDrawSurface_Construct to initialize it.
DIB_DirectDrawSurface_Construct which calls