Struktur DRIVEROBJ (winddi.h)
Struktur DRIVEROBJ digunakan untuk melacak sumber daya, yang dialokasikan oleh driver, yang memerlukan penggunaan layanan GDI. Struktur DRIVEROBJ memungkinkan driver tampilan untuk meminta layanan GDI dalam mengelola sumber daya per proses. Dengan membuat struktur DRIVEROBJ, driver tampilan dapat memastikan bahwa sumber daya akan dirilis ketika aplikasi berakhir.
Sintaks
typedef struct _DRIVEROBJ {
PVOID pvObj;
FREEOBJPROC pFreeProc;
HDEV hdev;
DHPDEV dhpdev;
} DRIVEROBJ;
Anggota
pvObj
Arahkan ke sumber daya driver yang akan dilacak oleh struktur DRIVEROBJ. Sumber daya dikaitkan dengan proses klien saat ini.
pFreeProc
Penunjuk ke fungsi panggilan balik yang disediakan driver yang membebaskan sumber daya yang diacu oleh pvObj. Fungsi panggilan balik ini memiliki prototipe berikut:
BOOL (CALLBACK * FREEOBJPROC) (DRIVEROBJ * pDriverObj);
Fungsi panggilan balik mengembalikan TRUE jika dapat membebaskan sumber daya, dan FALSE sebaliknya.
hdev
GDI menangani ke perangkat fisik yang terkait dengan objek .
dhpdev
Penunjuk ke data instans privat driver; yaitu, anggota ini mengidentifikasi PDEV driver.
Keterangan
Struktur DRIVEROBJ memungkinkan driver tampilan untuk meminta layanan GDI dalam mengelola sumber daya per proses. Dengan membuat struktur DRIVEROBJ, driver tampilan dapat memastikan bahwa sumber daya akan dirilis ketika aplikasi berakhir.
Beberapa driver, dalam dukungan Escape mereka, mengalokasikan sumber daya atas nama aplikasi. Dalam kasus seperti itu, struktur DRIVEROBJ menyediakan sarana bagi aplikasi untuk memberi tahu driver ketika penghentian. GDI akan memanggil fungsi pembersihan driver untuk setiap struktur DRIVEROBJ yang dialokasikan dalam konteks aplikasi yang tidak dihapus sebelum aplikasi berakhir.
Struktur ini menyediakan mekanisme penguncian untuk akses eksklusif ke sumber daya terkait.
Persyaratan
Persyaratan | Nilai |
---|---|
Header | winddi.h (termasuk Winddi.h) |