Struttura DRIVEROBJ (winddi.h)
La struttura DRIVEROBJ viene usata per tenere traccia di una risorsa, allocata da un driver, che richiede l'uso dei servizi GDI. Una struttura DRIVEROBJ consente a un driver di visualizzazione di richiedere il servizio GDI nella gestione delle risorse per processo. Creando una struttura DRIVEROBJ, un driver di visualizzazione può garantire che le risorse vengano rilasciate al termine di un'applicazione.
Sintassi
typedef struct _DRIVEROBJ {
PVOID pvObj;
FREEOBJPROC pFreeProc;
HDEV hdev;
DHPDEV dhpdev;
} DRIVEROBJ;
Members
pvObj
Puntatore alla risorsa driver che verrà rilevata dalla struttura DRIVEROBJ. La risorsa è associata al processo client corrente.
pFreeProc
Puntatore a una funzione di callback fornita dal driver che libera la risorsa a cui punta pvObj. Questa funzione di callback ha il prototipo seguente:
BOOL (CALLBACK * FREEOBJPROC) (DRIVEROBJ * pDriverObj);
La funzione di callback restituisce TRUE se è in grado di liberare la risorsa e FALSE in caso contrario.
hdev
Handle GDI per il dispositivo fisico associato all'oggetto .
dhpdev
Puntatore ai dati dell'istanza privata del driver; ovvero, questo membro identifica il PDEV del driver.
Commenti
Una struttura DRIVEROBJ consente a un driver di visualizzazione di richiedere il servizio GDI nella gestione delle risorse per processo. Creando una struttura DRIVEROBJ, un driver di visualizzazione può garantire che le risorse vengano rilasciate al termine di un'applicazione.
Alcuni driver, nel supporto di Escape, allocano le risorse per conto delle applicazioni. In questi casi, la struttura DRIVEROBJ consente all'applicazione di notificare al driver quando termina. GDI chiamerà la funzione di pulizia del driver per ogni struttura DRIVEROBJ allocata nel contesto di un'applicazione che non viene eliminata prima che l'applicazione termini.
Questa struttura fornisce un meccanismo di blocco per l'accesso esclusivo alla risorsa associata.
Requisiti
Requisito | Valore |
---|---|
Intestazione | winddi.h (include Winddi.h) |