Freigeben über


WdfFdoInitSetFilter-Funktion (wdffdo.h)

[Gilt für KMDF und UMDF]

Die WdfFdoInitSetFilter--Methode identifiziert den aufrufenden Treiber als übergeordneter oder niedrigerer Filtertreiberfür ein angegebenes Gerät.

Syntax

void WdfFdoInitSetFilter(
  [in] PWDFDEVICE_INIT DeviceInit
);

Die Parameter

[in] DeviceInit

Ein Zeiger auf eine WDFDEVICE_INIT Struktur, die der Treiber aus seiner EvtDriverDeviceAdd Rückruffunktion abgerufen hat.

Rückgabewert

Nichts

Bemerkungen

Filtertreiber verarbeiten in der Regel einige E/A-Anforderungen, aber sie übergeben einfach die meisten Anforderungen an den nächsten Treiber im Treiberstapel. Wenn das Framework eine Anforderung für eines ihrer Treibergeräte empfängt und der Treiber keine E/A-Warteschlange zum Empfangen von Anforderungen erstellt hat, die dem Anforderungstyp entsprechen, hängt die Art und Weise, wie das Framework die Anforderung verarbeitet, davon ab, ob der Treiber WdfFdoInitSetFilteraufgerufen hat:

  • Wenn ein Treiber WdfFdoInitSetFilteraufruft, leitet das Treiberframework die Anforderung an den nächsten Treiber weiter.
  • Wenn ein Treiber WdfFdoInitSetFilternicht aufruft, schließt das Framework die Anforderung mit dem Statuswert STATUS_INVALID_DEVICE_REQUEST ab.
Wenn ein Treiber WdfFdoInitSetFilteraufruft, sollte er nicht WdfDeviceInitSetIoType, WdfDeviceInitSetPowerInrushoder WdfDeviceInitSetPowerPageable aufrufen, da das Framework die von diesen Aufrufen bereitgestellten Informationen ignoriert. Stattdessen ruft das Framework diese Informationen aus dem nächsten unteren Geräteobjekt im Gerätestapel des Treibersab.

Der Treiber muss WdfFdoInitSetFilter- aufrufen, bevor WdfDeviceCreateaufgerufen wird. Weitere Informationen zum Aufrufen WdfDeviceCreatefinden Sie unter Creating a Framework Device Object. Darüber hinaus muss der Treiber WdfFdoInitSetFilter- aufrufen, bevor er von seiner EvtDriverDeviceAdd Rückruffunktion zurückgibt.

Weitere Informationen zu WdfFdoInitSetFilter-finden Sie unter Erstellen von Geräteobjekten in einem Filtertreiber-, Erstellen von E/A-Warteschlangen und Weiterleitung von E/A-Anforderungen.

Beispiele

Im folgenden Codebeispiel wird der aufrufende Treiber als Filtertreiber für das angegebene Gerät identifiziert.

WdfFdoInitSetFilter(DeviceInit);

Anforderungen

Anforderung Wert
Zielplattform universell
Minimale KMDF-Version 1.0
Mindest-UMDF-Version 2.0
Kopfzeile wdffdo.h (include Wdf.h)
Bibliothek Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF)
IRQL PASSIVE_LEVEL
DDI-Complianceregeln DeviceInitAPI(kmdf), DriverCreate(kmdf), DrvAckIoStop(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)

Siehe auch

WDFDEVICE_INIT