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

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

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 vértice a serem bloqueados, em bytes. Para bloquear todo o buffer de vértice, especifique 0 para ambos os parâmetros, SizeToLock e OffsetToLock.

[in] SizeToLock

Tipo: UINT

Tamanho dos dados de vértice a serem bloqueados, em bytes. Para bloquear todo o buffer de vértice, especifique 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 vértice 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 vértice, 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. As chamadas DrawPrimitive não terão êxito com nenhuma contagem de bloqueio pendente em nenhum buffer de vértice definido no momento.

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

Para obter informações sobre como usar D3DLOCK_DISCARD ou D3DLOCK_NOOVERWRITE com IDirect3DVertexBuffer9::Lock, consulte Usando buffers dinâmicos de vértice e índice.

Requisitos

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

Confira também

IDirect3DVertexBuffer9

IDirect3DVertexBuffer9::Unlock

Buffers de vértice (Direct3D 9)