The D3DSTATE structure describes the render state for the D3DOP_STATETRANSFORM, D3DOP_STATELIGHT, and D3DOP_STATERENDER opcodes in the D3DOPCODE enumerated type. The first member of this structure is the relevant enumerated type and the second is the value for that type.
typedef struct _D3DSTATE { 
    union { 
        D3DTRANSFORMSTATETYPE dtstTransformStateType; 
        D3DLIGHTSTATETYPE     dlstLightStateType; 
        D3DRENDERSTATETYPE    drstRenderStateType; 
    }; 
    union { 
        DWORD                 dwArg[1]; 
        D3DVALUE              dvArg[1]; 
    }; 
} D3DSTATE, *LPD3DSTATE; 
   Windows NT/2000: Requires Windows NT 4.0 SP3 or later.
  Windows 95/98: Requires Windows 95 or later. Available as a redistributable for Windows 95.
  Header: Declared in d3dtypes.h.
D3DLIGHTSTATETYPE, D3DOPCODE, D3DRENDERSTATETYPE, and D3DTRANSFORMSTATETYPE, D3DVALUE