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 |