IDirect3DExecuteBuffer::Lock

HRESULT Lock(LPD3DEXECUTEBUFFERDESC lpDesc);

Obtains a direct pointer to the commands in the execute buffer.

·Returns D3D_OK if successful, or an error otherwise, which may be one of the following values:

D3DERR_EXECUTE_LOCKED

DDERR_INVALIDOBJECT

DDERR_INVALIDPARAMS

DDERR_WASSTILLDRAWING

lpDesc

Address of a D3DEXECUTEBUFFERDESC structure. When the method returns, the lpData member will be set to point to the actual data the application has access to. This data may reside in system or video memory, and is specified by the dwCaps member. The application may use the IDirect3DExecuteBuffer::Lock method to request that Direct3D move the data between system or video memory.

This call fails if the Direct3DExecuteBuffer object is locked—that is, if another thread is accessing the buffer, or if a IDirect3DDevice::Execute method that was issued on this buffer has not yet completed.