DRIVEROBJ 結構 (winddi.h)
DRIVEROBJ 結構可用來追蹤驅動程式所配置的資源,該驅動程式需要使用 GDI 服務。 DRIVEROBJ 結構可讓顯示驅動程式要求 GDI 服務來管理個別進程資源。 藉由建立 DRIVEROBJ 結構,顯示驅動程式可確保應用程式終止時會釋放資源。
語法
typedef struct _DRIVEROBJ {
PVOID pvObj;
FREEOBJPROC pFreeProc;
HDEV hdev;
DHPDEV dhpdev;
} DRIVEROBJ;
成員
pvObj
DRIVEROBJ 結構將追蹤之驅動程序資源的指標。 資源與目前的客戶端進程相關聯。
pFreeProc
驅動程式提供的回呼函式指標,釋放 pvObj 所指向的資源。 此回呼函式具有下列原型:
BOOL (CALLBACK * FREEOBJPROC) (DRIVEROBJ * pDriverObj);
如果回呼函式能夠釋放資源,則回呼函式會傳回 TRUE ,否則傳回 FALSE 。
hdev
與對象相關聯之實體裝置的 GDI 句柄。
dhpdev
驅動程式私人實例數據的指標;也就是說,這個成員會識別驅動程式的 PDEV。
備註
DRIVEROBJ 結構可讓顯示驅動程式要求 GDI 服務來管理個別進程資源。 藉由建立 DRIVEROBJ 結構,顯示驅動程式可確保應用程式終止時會釋放資源。
有些驅動程式在逸出支援中代表應用程式配置資源。 在這種情況下,DRIVEROBJ 結構會提供方法,讓應用程式在終止時通知驅動程式。 GDI 會針對應用程式內容中配置的每個 DRIVEROBJ 結構呼叫驅動程式的清除函式,該結構不會在應用程式終止之前刪除。
此結構會提供鎖定機制來獨佔存取相關聯的資源。
規格需求
需求 | 值 |
---|---|
標頭 | winddi.h (包含Winddi.h) |