Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
WDF stellt objektbasierte Schnittstellen für Treiber bereit. Frameworkdefinierte Objektschnittstellen bestehen aus:
Object-Methoden
Methoden sind Funktionen, die ein Treiber aufrufen kann, um einen Vorgang für das Objekt auszuführen oder eine Objekteigenschaft abzurufen oder festzulegen. Methoden heißen WdfObjectAction, wobei Object das Objekt beschreibt und die Aktion angibt, was die Funktion tut.
Beispielsweise erstellt WdfDeviceCreate ein Geräteobjekt.
Objektereignisrückruffunktionen
Ereignisrückruffunktionen sind Funktionen, die ein Treiber bereitstellt. Jede Ereignisrückruffunktion ist einem bestimmten Ereignis zugeordnet, das für ein Objekt auftreten kann. Das Framework ruft die Ereignisrückruffunktion auf, wenn das zugeordnete Ereignis auftritt. Üblicherweise werden die Platzhalter für Ereignis-Callback-Funktionen als EvtObjectEvent bezeichnet, obwohl Sie diese Callbacks in Ihrem Treiber nach Belieben benennen können. Beispielsweise registriert ein Treiber den EvtDeviceD0Entry-Ereignisrückruf , um benachrichtigt zu werden, wenn sein Gerät in den Arbeitszustand wechselt.
Objekteigenschaften
Eigenschaften sind Werte, die in einem Objekt gespeichert sind und die ein Treiber abrufen (d. h., erhalten) und festlegen (d. h., ändern) kann. In vielen Fällen entsprechen die Eigenschaften direkt den Feldern in den entsprechenden WDM-Objekten. Eigenschaften, die nicht fehlschlagen können, heißen WdfObjectGetValue und WdfObjectSetValue, und Eigenschaften, die fehlschlagen können, heißen WdfObjectRetrieveValue und WdfObjectAssignValue.
Objekt beschreibt das Objekt, und Value identifiziert die Daten, die die Funktion festlegt oder zurückgibt.
Beispielsweise gibt WdfDeviceGetDriver ein Handle an das Treiberobjekt zurück, das dem Geräteobjekt zugeordnet ist.
Objekt-Handles
Ein frameworkbasierter Treiber greift niemals direkt auf Frameworkobjekte zu. Der Treiber empfängt stattdessen Objekthandles, die er an die Methoden eines Objekts übergeben kann.
Das Framework definiert mehrere Objekttypen, die frameworkbasierte Treiber verwenden:
Ein Frameworktreiberobjekt stellt jeden Treiber dar.
Ein Framework-Geräteobjekt stellt jedes Gerät dar, das ein Treiber unterstützt.
Framework-Warteschlangenobjekte stellen E/A-Warteschlangen dar, die die E/A-Anforderungen eines Geräts empfangen.
Framework-Anforderungsobjekte stellen E/A-Anforderungen dar, die jede E/A-Warteschlange empfängt.
Eine Liste aller Objekte, die das Framework definiert, finden Sie unter "Zusammenfassung der Framework-Objekte".