Direct3D provides two methods of manipulating and controlling textures, texture handles and texture interfaces. Texture handles are obsolete. They were used in applications that utilized the IDirect3D and IDirect3D2 interfaces. For details, see Texture Handles.
With the introduction of the IDirect3D3 interface, you now create and use textures through texture interface pointers. Obtain a texture interface pointer by querying the DirectDrawSurface object for the IDirect3DTexture2 interface by calling the surface's IUnknown::QueryInterface method (use the IID_IDirect3DTexture2 reference identifier).
With the advent of texture interfaces in Direct3D, powerful new texturing features are also realized. Texture interfaces support the blending of up to eight textures onto a primitive at once. New texture blending operations have been also added. For details, see Texture Interfaces.