Metode IDirect3DVertexBuffer9::Lock (d3d9helper.h)

Mengunci berbagai data vertex dan mendapatkan penunjuk ke memori buffer vertex.

Sintaks

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

Parameter

[in] OffsetToLock

Jenis: UINT

Offset ke dalam data puncak untuk mengunci, dalam byte. Untuk mengunci seluruh buffer vertex, tentukan 0 untuk kedua parameter, SizeToLock dan OffsetToLock.

[in] SizeToLock

Jenis: UINT

Ukuran data puncak untuk dikunci, dalam byte. Untuk mengunci seluruh buffer vertex, tentukan 0 untuk kedua parameter, SizeToLock dan OffsetToLock.

[out] ppbData

Jenis: VOID**

VOID* pointer ke buffer memori yang berisi data vertex yang dikembalikan.

[in] Flags

Jenis: DWORD

Kombinasi bendera penguncian nol atau lebih yang menjelaskan jenis kunci yang akan dilakukan. Untuk metode ini, bendera yang valid adalah:

  • D3DLOCK_DISCARD
  • D3DLOCK_NO_DIRTY_UPDATE
  • D3DLOCK_NOSYSLOCK
  • D3DLOCK_READONLY
  • D3DLOCK_NOOVERWRITE
Untuk deskripsi bendera, lihat D3DLOCK.

Mengembalikan nilai

Jenis: HRESULT

Jika metode berhasil, nilai yang dikembalikan adalah D3D_OK. Jika metode gagal, nilai yang dikembalikan dapat D3DERR_INVALIDCALL.

Keterangan

Sebagai aturan umum, jangan tahan kunci di lebih dari satu bingkai. Saat bekerja dengan buffer vertex, Anda diizinkan untuk melakukan beberapa panggilan kunci; namun, Anda harus memastikan bahwa jumlah panggilan kunci cocok dengan jumlah panggilan buka kunci. Panggilan DrawPrimitive tidak akan berhasil dengan jumlah kunci yang luar biasa pada buffer vertex yang saat ini ditetapkan.

Bendera D3DLOCK_DISCARD dan D3DLOCK_NOOVERWRITE hanya valid pada buffer yang dibuat dengan D3DUSAGE_DYNAMIC.

Untuk informasi tentang menggunakan D3DLOCK_DISCARD atau D3DLOCK_NOOVERWRITE dengan IDirect3DVertexBuffer9::Lock, lihat Menggunakan Puncak Dinamis dan Buffer Indeks.

Persyaratan

   
Target Platform Windows
Header d3d9helper.h (termasuk D3D9.h)
Pustaka D3D9.lib

Lihat juga

IDirect3DVertexBuffer9

IDirect3DVertexBuffer9::Unlock

Buffer Puncak (Direct3D 9)