| DirectX SDK | 
The D3DX_SURFACECLASS enumerated type defines the known surface classes that you can retrieve information about.
typedef enum _D3DX_SURFACECLASS {
  D3DX_SC_DEPTHBUFFER       = 0x01,
  D3DX_SC_STENCILBUFFER     = 0x02,
  D3DX_SC_COLORTEXTURE      = 0x04,
  D3DX_SC_BUMPMAP           = 0x08,
  D3DX_SC_LUMINANCEMAP      = 0x10,
  D3DX_SC_COLORRENDERTGT    = 0x20
} D3DX_SURFACECLASS;
You can query the various surface formats a device supports for various surface classes.
The members of the D3DX_SURFACECLASS enumerated type are the various types of two-dimensional (2-D) surfaces classified according to their usage. Note that a number of them overlap, for example D3DX_SC_STENCILBUFFER and D3DX_SC_DEPTHBUFFER overlap (since in the DirectX 7.0 implementation the stencil and depth bits are part of the same pixel format).
  Windows NT/2000: Requires Windows 2000.
  Windows 95/98: Requires Windows 95 or later. Available as a redistributable for Windows 95.
  Windows CE: Unsupported.
  Version: Requires DirectX 7.0.
  Header: Declared in d3dxcore.h.