![]() |
![]() |
Locks a range of index data and obtains a pointer to the index buffer memory.
HRESULT Lock( UINT OffsetToLock, UINT SizeToLock, VOID ** ppbData, DWORD Flags );
If the method succeeds, the return value is D3D_OK. If the method fails, the return value can be D3DERR_INVALIDCALL.
When working with index buffers, you are allowed to make multiple lock calls. However, you must ensure that the number of lock calls match the number of unlock calls. IDirect3DDevice9::DrawIndexedPrimitive calls will not succeed with any outstanding lock count on any currently set index buffer.
The D3DLOCK_DISCARD and D3DLOCK_NOOVERWRITE flags are valid only on buffers created with D3DUSAGE_DYNAMIC.
See Programming Tips for information about using D3DLOCK_DISCARD or D3DLOCK_NOOVERWRITE.
Header: Declared in D3d9.h.