Cómo capturar la pantalla en DirectX 9 en un mapa de bits sin procesar en la memoria sin usar D3DXSaveSurfaceToFile

Sé que en OpenGL puedo hacer algo como esto glReadBuffer( GL_FRONT ); glReadPixels( 0, 0, _width, _height, GL_RGB, GL_UNSIGNED_BYTE, _buffer ); Y es bastante rápido, obtengo el mapa de bits sin procesar en _buffer. Cuando trato de hacer esto en DirectX. Suponiendo que tengo un objeto D3DDevice,...