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
Per una descrizione dei flag, vedere D3DLOCK.

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

Vedi anche

IDirect3DVertexBuffer9

IDirect3DVertexBuffer9::Unlock

Vertex Buffers (Direct3D 9)