The difference is how you created the LPDIRECT3DTEXTURE9. I don't know what drawquad() does, but you can not, for instance, directly draw into render targets without creating them as lockable. The various restrictions of different types of textures are described in the DirectX manual.