Compartilhar via


Método IDirect3DIndexBuffer9::Lock (d3d9helper.h)

Bloqueia um intervalo de dados de índice e obtém um ponteiro para a memória do buffer de índice.

Sintaxe

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

Parâmetros

[in] OffsetToLock

Tipo: UINT

Deslocamento para os dados de índice a serem bloqueados, em bytes. Bloqueie todo o buffer de índice especificando 0 para ambos os parâmetros, SizeToLock e OffsetToLock.

[in] SizeToLock

Tipo: UINT

Tamanho dos dados de índice a serem bloqueados, em bytes. Bloqueie todo o buffer de índice especificando 0 para ambos os parâmetros, SizeToLock e OffsetToLock.

[out] ppbData

Tipo: VOID**

Void* ponteiro para um buffer de memória que contém os dados de índice retornados.

[in] Flags

Tipo: DWORD

Combinação de zero ou mais sinalizadores de bloqueio que descrevem o tipo de bloqueio a ser executado. Para esse método, os sinalizadores válidos são:

  • D3DLOCK_DISCARD
  • D3DLOCK_NO_DIRTY_UPDATE
  • D3DLOCK_NOSYSLOCK
  • D3DLOCK_READONLY
  • D3DLOCK_NOOVERWRITE
Para obter uma descrição dos sinalizadores, consulte D3DLOCK.

Valor retornado

Tipo: HRESULT

Se o método for bem-sucedido, o valor retornado será D3D_OK. Se o método falhar, o valor retornado poderá ser D3DERR_INVALIDCALL.

Comentários

Como regra geral, não mantenha um bloqueio em mais de um quadro. Ao trabalhar com buffers de índice, você tem permissão para fazer várias chamadas de bloqueio. No entanto, você deve garantir que o número de chamadas de bloqueio corresponda ao número de chamadas de desbloqueio. IDirect3DDevice9::D rawIndexedPrimitive não terá êxito com nenhuma contagem de bloqueio pendente em nenhum buffer de índice definido no momento.

Os sinalizadores D3DLOCK_DISCARD e D3DLOCK_NOOVERWRITE são válidos somente em buffers criados com D3DUSAGE_DYNAMIC.

Consulte Dicas de programação (Direct3D 9) para obter informações sobre como usar D3DLOCK_DISCARD ou D3DLOCK_NOOVERWRITE.

Requisitos

   
Plataforma de Destino Windows
Cabeçalho d3d9helper.h (inclua D3D9.h)
Biblioteca D3D9.lib

Confira também

IDirect3DIndexBuffer9

IDirect3DIndexBuffer9::Unlock

Buffers de índice (Direct3D 9)