共用方式為


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)

另請參閱

EngCreateDriverObj

EngDeleteDriverObj

EngLockDriverObj

EngUnlockDriverObj