Metodo IDirect3DIndexBuffer9::Lock (d3d9helper.h)

Blocca un intervallo di dati di indice e ottiene un puntatore alla memoria del buffer di indice.

Sintassi

HRESULT Lock(
  [in]  UINT  OffsetToLock,
  [in]  UINT  SizeToLock,
  [out] void  **ppbData,
  [in]  DWORD Flags
);

Parametri

[in] OffsetToLock

Tipo: UINT

Offset nei dati dell'indice da bloccare, in byte. Bloccare l'intero buffer di indice specificando 0 per entrambi i parametri, SizeToLock e OffsetToLock.

[in] SizeToLock

Tipo: UINT

Dimensioni dei dati dell'indice da bloccare, in byte. Bloccare l'intero buffer di indice specificando 0 per entrambi i parametri, SizeToLock e OffsetToLock.

[out] ppbData

Tipo: VOID**

PUNTATORE VOID* a un buffer di memoria contenente i dati dell'indice restituiti.

[in] Flags

Tipo: DWORD

Combinazione di flag di blocco zero o più 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 è D3D_OK. Se il metodo ha esito negativo, il valore restituito può essere D3DERR_INVALIDCALL.

Commenti

Come regola generale, non contenere un blocco su più fotogrammi. Quando si usano buffer di indice, è 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 IDirect3DDevice9::D rawIndexedPrimitive non avranno esito positivo con alcun conteggio dei blocchi in sospeso in qualsiasi buffer di indice 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, vedere Suggerimenti per la programmazione (Direct3D 9).

Requisiti

   
Piattaforma di destinazione Windows
Intestazione d3d9helper.h (include D3D9.h)
Libreria D3D9.lib

Vedi anche

IDirect3DIndexBuffer9

IDirect3DIndexBuffer9::Unlock

Buffer di indice (Direct3D 9)