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
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 |