The IDirect3DDevice::CreateExecuteBuffer method allocates an execute buffer for a display list.
HRESULT CreateExecuteBuffer(
LPD3DEXECUTEBUFFERDESC lpDesc,
LPDIRECT3DEXECUTEBUFFER *lplpDirect3DExecuteBuffer,
IUnknown *pUnkOuter
);
If the method succeeds, the return value is D3D_OK.
If the method fails, the return value may be one of the following values:
DDERR_INVALIDOBJECT
DDERR_INVALIDPARAMS
The display list may be read by hardware DMA into VRAM for processing. All display primitives in the buffer that have indices to vertices must also have those vertices in the same buffer.
The D3DEXECUTEBUFFERDESC structure describes the execute buffer to be created. At a minimum, the application must specify the size required. If the application specifies D3DDEBCAPS_VIDEOMEMORY in the dwCaps member, Direct3D will attempt to keep the execute buffer in video memory.
The application can use the IDirect3DExecuteBuffer::Lock method to request that the memory be moved. When this method returns, it will adjust the contents of the D3DEXECUTEBUFFERDESC structure to indicate whether the data resides in system or video memory.
Windows NT: Use version 4.0 or later.
Windows: Use Windows 95 or later. Available as a redistributable for Windows 95.
Windows CE: Unsupported.
Header: Declared in ddraw.h.
Import Library: Use ddraw.lib.