CreateOffscreenPlainSurface的有关问题

CreateOffscreenPlainSurface的问题
我在direct3d9用GetBackBuffer(0,0,D3DBACKBUFFER_TYPE_MONO,&mback)获得back buffer,用GetSurfaceLevel(0,&msurface1)获得纹理的第一层,用CreateOffscreenPlainSurface(1280,720,D3DFMT_A8R8G8B8, D3DPOOL_DEFAULT(D3DPOOL_SCRATCH也试过),&msurface,NULL)来建立表面。
问题:我把纹理的第一层直接strechrect到backbuffer,可以正常显示。为什么我把纹理的第一层先复制到offscreen表面里,再从offscrren表面复制到back buffer却显示的是黑屏?如何解决?

------解决方案--------------------
黑屏可能是因为在显示的时候,backbuffer的数据已经被修改了,backbuffer一般由dx底层自己维护。
------解决方案--------------------
BUFFER有没有被修改呢?
------解决方案--------------------
"从offscrren表面复制到back buffer"

你是怎么复制的?是 LockRect 吗?确定 LockRect 成功了吗?
------解决方案--------------------
用的是stretchrect?那不应该有问题啊