DRIVEROBJ-Struktur (winddi.h)
Die DRIVEROBJ-Struktur wird verwendet, um eine Von einem Treiber zugeordnete Ressource nachzuverfolgen, die die Verwendung von GDI-Diensten erfordert. Eine DRIVEROBJ-Struktur ermöglicht es einem Anzeigetreiber, den GDI-Dienst bei der Verwaltung von Ressourcen pro Prozess anzufordern. Durch das Erstellen einer DRIVEROBJ-Struktur kann ein Anzeigetreiber sicherstellen, dass Ressourcen freigegeben werden, wenn eine Anwendung beendet wird.
Syntax
typedef struct _DRIVEROBJ {
PVOID pvObj;
FREEOBJPROC pFreeProc;
HDEV hdev;
DHPDEV dhpdev;
} DRIVEROBJ;
Member
pvObj
Zeiger auf die Treiberressource, die von der DRIVEROBJ-Struktur nachverfolgt wird. Die Ressource ist dem aktuellen Clientprozess zugeordnet.
pFreeProc
Zeiger auf eine vom Treiber bereitgestellte Rückruffunktion, die die Ressource freigibt, auf die von pvObj verwiesen wird. Diese Rückruffunktion verfügt über den folgenden Prototyp:
BOOL (CALLBACK * FREEOBJPROC) (DRIVEROBJ * pDriverObj);
Die Rückruffunktion gibt TRUE zurück, wenn sie die Ressource freigeben kann, andernfalls FALSE .
hdev
GDI-Handle für das physische Gerät, das dem Objekt zugeordnet ist.
dhpdev
Zeiger auf die privaten instance Daten des Treibers, d. h. dieses Mitglied identifiziert den PDEV des Treibers.
Hinweise
Eine DRIVEROBJ-Struktur ermöglicht es einem Anzeigetreiber, den GDI-Dienst bei der Verwaltung von Ressourcen pro Prozess anzufordern. Durch das Erstellen einer DRIVEROBJ-Struktur kann ein Anzeigetreiber sicherstellen, dass Ressourcen freigegeben werden, wenn eine Anwendung beendet wird.
Einige Treiber weisen in ihrer Escapeunterstützung Ressourcen im Namen von Anwendungen zu. In solchen Fällen stellt die DRIVEROBJ-Struktur eine Möglichkeit für die Anwendung bereit, den Treiber zu benachrichtigen, wenn er beendet wird. GDI ruft die Bereinigungsfunktion des Treibers für jede DRIVEROBJ-Struktur auf, die im Kontext einer Anwendung zugeordnet ist und nicht gelöscht wird, bevor die Anwendung beendet wird.
Diese Struktur bietet einen Sperrmechanismus für den exklusiven Zugriff auf die zugeordnete Ressource.
Anforderungen
Anforderung | Wert |
---|---|
Header | winddi.h (einschließlich Winddi.h) |