Metode IDirectDrawSurface7::SetPrivateData (ddraw.h)

Mengaitkan data dengan permukaan yang dimaksudkan untuk digunakan oleh aplikasi, bukan oleh DirectDraw. Data diteruskan oleh nilai, dan beberapa set data dapat dikaitkan dengan satu permukaan.

Sintaks

HRESULT SetPrivateData(
  [in] REFGUID unnamedParam1,
  [in] LPVOID  unnamedParam2,
  [in] DWORD   unnamedParam3,
  [in] DWORD   unnamedParam4
);

Parameter

[in] unnamedParam1

Referensi ke (C++) atau alamat (C) pengidentifikasi unik global yang mengidentifikasi data privat yang akan ditetapkan.

[in] unnamedParam2

Penunjuk ke buffer yang berisi data yang akan dikaitkan dengan permukaan.

[in] unnamedParam3

Nilai ukuran buffer di lpData, dalam byte.

[in] unnamedParam4

Nilai yang dapat diatur ke salah satu bendera berikut. Bendera ini menjelaskan jenis data yang diteruskan atau meminta agar data tidak valid saat permukaan berubah.

(tidak ada)

Jika tidak ada bendera yang ditentukan, DirectDraw mengalokasikan memori untuk menyimpan data dalam buffer dan menyalin data ke dalam buffer baru. Buffer yang dialokasikan oleh DirectDraw secara otomatis dibebaskan, sebagaimana mewajarkan.

DDSPD_IUNKNOWNPOINTER

Data di lpData adalah penunjuk ke antarmuka IUnknown . DirectDraw secara otomatis memanggil metode IUnknown::AddRef dari antarmuka ini. Ketika data ini tidak lagi diperlukan, DirectDraw secara otomatis memanggil metode IUnknown::Release antarmuka ini.

DDSPD_VOLATILE

Buffer di lpData hanya valid sementara permukaan tetap tidak berubah. Jika konten permukaan berubah, panggilan berikutnya ke metode IDirectDrawSurface7::GetPrivateData mengembalikan DDERR_EXPIRED.

Nilai kembali

Jika metode berhasil, nilai yang dikembalikan adalah DD_OK.

Jika gagal, metode dapat mengembalikan salah satu nilai kesalahan berikut:

  • DDERR_INVALIDOBJECT
  • DDERR_INVALIDPARAMS
  • DDERR_OUTOFMEMORY

Keterangan

DirectDraw tidak mengelola memori di lpData. Jika buffer ini dialokasikan secara dinamis, pemanggil harus membebaskan memori.

Persyaratan

Persyaratan Nilai
Target Platform Windows
Header ddraw.h
Pustaka Ddraw.lib
DLL Ddraw.dll

Lihat juga

IDirectDrawSurface7