Compartir a través de


Método IDirect3DVertexBuffer9::Lock (d3d9helper.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 realiza 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, puede 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 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 de 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 Uso de búferes dinámicos de vértices e índices.

Requisitos

   
Plataforma de destino Windows
Encabezado d3d9helper.h (incluya D3D9.h)
Library D3D9.lib

Consulte también

IDirect3DVertexBuffer9

IDirect3DVertexBuffer9::Unlock

Búferes de vértices (Direct3D 9)