WdfFdoInitSetFilter-Funktion (wdffdo.h)
[Gilt für KMDF und UMDF]
Die WdfFdoInitSetFilter-Methode identifiziert den aufrufenden Treiber als Filtertreiber der oberen oder unteren Ebene für ein angegebenes Gerät.
Syntax
void WdfFdoInitSetFilter(
[in] PWDFDEVICE_INIT DeviceInit
);
Parameter
[in] DeviceInit
Ein Zeiger auf eine WDFDEVICE_INIT Struktur, die der Treiber aus seiner Rückruffunktion EvtDriverDeviceAdd abgerufen hat.
Rückgabewert
Keine
Bemerkungen
Filtertreiber verarbeiten in der Regel einige E/A-Anforderungen, aber sie übergeben die meisten Anforderungen einfach an den nächsten Treiber im Treiberstapel. Wenn das Framework eine Anforderung für eines der Geräte Ihres Treibers empfängt und der Treiber keine E/A-Warteschlange erstellt hat, um Anforderungen zu empfangen, die dem Anforderungstyp entsprechen, hängt die Art und Weise, wie das Framework die Anforderung verarbeitet, davon ab, ob der Treiber WdfFdoInitSetFilter aufgerufen hat:
- Wenn ein Treiber WdfFdoInitSetFilter aufruft, leitet das Treiberframework die Anforderung an den nächsten Treiber weiter.
- Wenn ein Treiber WdfFdoInitSetFilter nicht aufruft, schließt das Framework die Anforderung mit dem status Wert STATUS_INVALID_DEVICE_REQUEST ab.
Der Treiber muss WdfFdoInitSetFilter aufrufen, bevor WdfDeviceCreate aufgerufen wird. Weitere Informationen zum Aufrufen von WdfDeviceCreate finden Sie unter Erstellen eines Framework-Geräteobjekts. Darüber hinaus muss der Treiber WdfFdoInitSetFilter aufrufen, bevor er von seiner Rückruffunktion EvtDriverDeviceAdd zurückgibt.
Weitere Informationen zu WdfFdoInitSetFilter finden Sie unter Erstellen von Geräteobjekten in einem Filtertreiber, Erstellen von E/A-Warteschlangen und Weiterleiten 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 |
KMDF-Mindestversion | 1.0 |
UMDF-Mindestversion | 2.0 |
Kopfzeile | wdffdo.h (einschließen von 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) |