Compartir a través de


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

Bloquea un intervalo de datos de vértices y obtiene un puntero a la memoria del búfer de vértices.

Sintaxis

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

Parámetros

[in] OffsetToLock

Tipo: UINT

Desplazamiento en los datos de vértice que se van a bloquear, en bytes. Para bloquear todo el búfer de vértices, especifique 0 para ambos parámetros, SizeToLock y OffsetToLock.

[in] SizeToLock

Tipo: UINT

Tamaño de los datos de vértices que se van a bloquear, en bytes. Para bloquear todo el búfer de vértices, especifique 0 para ambos parámetros, SizeToLock y OffsetToLock.

[out] ppbData

Tipo: VOID**

VOID* puntero a un búfer de memoria que contiene los datos de vértices devueltos.

[in] Flags

Tipo: DWORD

Combinación de cero o más marcas de bloqueo que describen el tipo de bloqueo que se va a realizar. Para este método, las marcas válidas son:

  • D3DLOCK_DISCARD
  • D3DLOCK_NO_DIRTY_UPDATE
  • D3DLOCK_NOSYSLOCK
  • D3DLOCK_READONLY
  • D3DLOCK_NOOVERWRITE
Para obtener una descripción de las marcas, consulte D3DLOCK.

Valor devuelto

Tipo: HRESULT

Si el método se ejecuta correctamente, el valor devuelto es D3D_OK. Si se produce un error en el método, el valor devuelto se puede D3DERR_INVALIDCALL.

Comentarios

Como regla general, no mantenga un bloqueo en más de un marco. Al trabajar con búferes de vértices, se le permite realizar varias llamadas de bloqueo; sin embargo, debe asegurarse de que el número de llamadas de bloqueo coincida con el número de llamadas de desbloqueo. Las llamadas a DrawPrimitive no se realizarán correctamente con ningún recuento de bloqueos pendiente en ningún búfer de vértices establecido actualmente.

Las marcas D3DLOCK_DISCARD y D3DLOCK_NOOVERWRITE solo son válidas en los búferes creados con D3DUSAGE_DYNAMIC.

Para obtener información sobre cómo usar D3DLOCK_DISCARD o D3DLOCK_NOOVERWRITE con IDirect3DVertexBuffer9::Lock, vea Usar búferes dinámicos de vértices e índices.

Requisitos

Requisito Value
Plataforma de destino Windows
Encabezado d3d9.h (incluya D3D9.h)
Library D3D9.lib

Consulte también

IDirect3DVertexBuffer9

IDirect3DVertexBuffer9::Unlock

Búferes de vértices (Direct3D 9)