Platform SDK: DirectX |
DirectDrawSurface objects expose their functionality through the IDirectDrawSurface, IDirectDrawSurface2, IDirectDrawSurface3, IDirectDrawSurface4, and IDirectDrawSurface7 interfaces. Each new interface version provides the same utility as its predecessors, with additional options available through new methods.
When you create a surface by calling the IDirectDraw7::CreateSurface method (or another creation method from IDirectDraw7), you receive a pointer to the surface's IDirectDrawSurface7 interface. This behavior is different than previous versions of DirectX. Before the introduction of the IDirectDraw7 interface, the CreateSurface method provided a pointer to a surface's IDirectDrawSurface interface. If you wanted to work with a different iteration of the interface, you had to query for it. When using IDirectDraw7 this isn't the case, although you are free to query a surface for a previous iteration of an interface if you choose.
DirectDrawSurface objects are created from the DirectDrawSurface7 class. You call the DirectDraw7.CreateSurface method to return a DirectDrawSurface object.