すいません抜けがありました。
正しくはこう。

_COM_SMARTPTR_TYPEDEF( IDirect3DStateBlock9, IID_IDirect3DStateBlock9 ); 
IDirect3DStateBlock9Ptr pStateBlock; 
pD3DDevice->CreateStateBlock( D3DSBT_ALL, &pStateBlock );
pD3DDevice->BeginStateBlock(); 
・・・ 
pD3DDevice->EndStateBlock( &pStateBlock );