Share via


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)

Weitere Informationen

EngCreateDriverObj

EngDeleteDriverObj

EngLockDriverObj

EngUnlockDriverObj