Metodo IDirect3DVertexBuffer9::Lock (d3d9helper.h)
Blocca un intervallo di dati dei vertici e ottiene un puntatore alla memoria del vertex buffer.
Sintassi
HRESULT Lock(
[in] UINT OffsetToLock,
[in] UINT SizeToLock,
[out] void **ppbData,
[in] DWORD Flags
);
Parametri
[in] OffsetToLock
Tipo: UINT
Sfalsare i dati dei vertici in byte. Per bloccare l'intero buffer dei vertici, specificare 0 per entrambi i parametri, SizeToLock e OffsetToLock.
[in] SizeToLock
Tipo: UINT
Dimensioni dei dati dei vertici da bloccare, in byte. Per bloccare l'intero buffer dei vertici, specificare 0 per entrambi i parametri, SizeToLock e OffsetToLock.
[out] ppbData
Tipo: VOID**
Puntatore VOID* a un buffer di memoria contenente i dati dei vertici restituiti.
[in] Flags
Tipo: DWORD
Combinazione di zero o più flag di blocco che descrivono il tipo di blocco da eseguire. Per questo metodo, i flag validi sono:
- D3DLOCK_DISCARD
- D3DLOCK_NO_DIRTY_UPDATE
- D3DLOCK_NOSYSLOCK
- D3DLOCK_READONLY
- D3DLOCK_NOOVERWRITE
Valore restituito
Tipo: HRESULT
Se il metodo ha esito positivo, il valore restituito viene D3D_OK. Se il metodo ha esito negativo, il valore restituito può essere D3DERR_INVALIDCALL.
Commenti
Come regola generale, non tenere un blocco su più di un fotogramma. Quando si usano i vertex buffer, è possibile effettuare più chiamate di blocco; Tuttavia, è necessario assicurarsi che il numero di chiamate di blocco corrisponda al numero di chiamate di sblocco. Le chiamate DrawPrimitive non avranno esito positivo con un conteggio dei blocchi in sospeso su qualsiasi buffer dei vertici attualmente impostato.
I flag D3DLOCK_DISCARD e D3DLOCK_NOOVERWRITE sono validi solo nei buffer creati con D3DUSAGE_DYNAMIC.
Per informazioni sull'uso di D3DLOCK_DISCARD o D3DLOCK_NOOVERWRITE con IDirect3DVertexBuffer9::Lock, vedere Using Dynamic Vertex and Index Buffers.For information about using D3DLOCK_DISCARD or D3DLOCK_NOOVERWRITE with IDirect3DVertexBuffer9::Lock, see Using Dynamic Vertex and Index Buffers.
Requisiti
Piattaforma di destinazione | Windows |
Intestazione | d3d9helper.h (include D3D9.h) |
Libreria | D3D9.lib |