|Microsoft DirectX 9.0|
Locks a range of index data and obtains a pointer to the index buffer memory.
UINT OffsetToLock, UINT SizeToLock, VOID **ppbData, DWORD Flags );
- [in] Offset into the index data to lock, in bytes. Lock the entire index buffer by specifying 0 for both parameters, SizeToLock and OffsetToLock.
- [in] Size of the index data to lock, in bytes. Lock the entire index buffer by specifying 0 for both parameters, SizeToLock and OffsetToLock.
- [out] VOID* pointer to a memory buffer containing the returned index data.
- [in] Combination of zero or more locking flags that describe the type of lock to perform. For this method, the valid flags are:
For a description of the flags, see D3DLOCK.
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::DrawPrimitive 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.