Share via


IDirect3DIndexBuffer9::Lock-Methode (d3d9helper.h)

Sperrt einen Bereich von Indexdaten und ruft einen Zeiger auf den Indexpufferspeicher ab.

Syntax

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

Parameter

[in] OffsetToLock

Typ: UINT

Offset in die zu sperrenden Indexdaten in Bytes. Sperren Sie den gesamten Indexpuffer, indem Sie 0 für beide Parameter angeben, SizeToLock und OffsetToLock.

[in] SizeToLock

Typ: UINT

Größe der zu sperrenden Indexdaten in Bytes. Sperren Sie den gesamten Indexpuffer, indem Sie 0 für beide Parameter angeben, SizeToLock und OffsetToLock.

[out] ppbData

Typ: VOID**

VOID*-Zeiger auf einen Speicherpuffer, der die zurückgegebenen Indexdaten enthält.

[in] Flags

Typ: DWORD

Kombination von 0 oder mehr Sperrflags, die den Typ der auszuführenden Sperre beschreiben. Für diese Methode gelten die folgenden Flags:

  • D3DLOCK_DISCARD
  • D3DLOCK_NO_DIRTY_UPDATE
  • D3DLOCK_NOSYSLOCK
  • D3DLOCK_READONLY
  • D3DLOCK_NOOVERWRITE
Eine Beschreibung der Flags finden Sie unter D3DLOCK.

Rückgabewert

Typ: HRESULT

Wenn die Methode erfolgreich ist, wird der Rückgabewert D3D_OK. Wenn die Methode fehlschlägt, kann der Rückgabewert D3DERR_INVALIDCALL werden.

Hinweise

Halten Sie in der Regel keine Sperre für mehr als einen Frame. Beim Arbeiten mit Indexpuffern können Sie mehrere Sperraufrufe tätigen. Sie müssen jedoch sicherstellen, dass die Anzahl der Sperranrufe mit der Anzahl der Entsperrungsaufrufe übereinstimmt. IDirect3DDevice9::D rawIndexedPrimitive-Aufrufe werden nicht erfolgreich mit einer ausstehenden Sperranzahl für einen aktuell festgelegten Indexpuffer ausgeführt.

Die flags D3DLOCK_DISCARD und D3DLOCK_NOOVERWRITE sind nur für Puffer gültig, die mit D3DUSAGE_DYNAMIC erstellt wurden.

Informationen zur Verwendung von D3DLOCK_DISCARD oder D3DLOCK_NOOVERWRITE finden Sie unter Programmiertipps (Direct3D 9).

Anforderungen

   
Zielplattform Windows
Kopfzeile d3d9helper.h (einschließlich D3D9.h)
Bibliothek D3D9.lib

Weitere Informationen

IDirect3DIndexBuffer9

IDirect3DIndexBuffer9::Unlock

Indexpuffer (Direct3D 9)