Compartir a través de


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

Bloquea un intervalo de datos de índice y obtiene un puntero a la memoria del búfer de índice.

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 índice que se van a bloquear, en bytes. Bloquee todo el búfer de índice especificando 0 para ambos parámetros, SizeToLock y OffsetToLock.

[in] SizeToLock

Tipo: UINT

Tamaño de los datos de índice que se van a bloquear, en bytes. Bloquee todo el búfer de índice especificando 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 índice 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, vea 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 índice, 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 IDirect3DDevice9::D rawIndexedPrimitive no se realizarán correctamente con ningún recuento de bloqueos pendiente en ningún búfer de índice establecido actualmente.

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

Consulta Sugerencias de programación (Direct3D 9) para obtener información sobre el uso de D3DLOCK_DISCARD o D3DLOCK_NOOVERWRITE.

Requisitos

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

Consulte también

IDirect3DIndexBuffer9

IDirect3DIndexBuffer9::Unlock

Búferes de índice (Direct3D 9)