Funzione WdfFdoInitSetFilter (wdffdo.h)

[Si applica a KMDF e UMDF]

Il metodo WdfFdoInitSetFilter identifica il driver chiamante come driver di livello superiore o inferiore, per un dispositivo specificato.

Sintassi

void WdfFdoInitSetFilter(
  [in] PWDFDEVICE_INIT DeviceInit
);

Parametri

[in] DeviceInit

Puntatore a una struttura WDFDEVICE_INIT ottenuta dal driver dalla funzione EvtDriverDeviceAdd callback.

Valore restituito

nessuno

Osservazioni

I driver di filtro elaborano in genere alcune richieste di I/O, ma passano semplicemente la maggior parte delle richieste al driver successivo nello stack di driver. Se il framework riceve una richiesta per uno dei dispositivi del driver e se il driver non ha creato una coda di I/O per ricevere richieste corrispondenti al tipo di richiesta, il framework elabora la richiesta dipende dal fatto che il driver abbia chiamato WdfFdoInitSetFilter:

  • Se un driver chiama WdfFdoInitSetFilter, il framework driver inoltra la richiesta al driver successivo.
  • Se un driver non chiama WdfFdoInitSetFilter, il framework completa la richiesta con un valore di stato di STATUS_INVALID_DEVICE_REQUEST.
Se un driver chiama WdfFdoInitSetFilter, non deve chiamare WdfDeviceInitSetIoType, WdfDeviceInitSetPowerInrush o WdfDeviceInitSetPowerPageable perché il framework ignora le informazioni fornite da queste chiamate. Il framework ottiene invece queste informazioni dall'oggetto dispositivo inferiore successivo nello stack di dispositivi del driver.

Il driver deve chiamare WdfFdoInitSetFilter prima di chiamare WdfDeviceCreate. Per altre informazioni sulla chiamata a WdfDeviceCreate, vedere Creazione di un oggetto dispositivo Framework. Inoltre, il driver deve chiamare WdfFdoInitSetFilter prima di restituire dalla sua funzione EvtDriverDeviceAdd callback.

Per altre informazioni su WdfFdoInitSetFilter, vedere Creazione di oggetti dispositivo in un driver di filtro, creazione di code di I/O e inoltro di richieste di I/O.

Esempio

L'esempio di codice seguente identifica il driver chiamante come driver di filtro per il dispositivo specificato.

WdfFdoInitSetFilter(DeviceInit);

Requisiti

Requisito Valore
Piattaforma di destinazione Universale
Versione KMDF minima 1.0
Versione UMDF minima 2,0
Intestazione wdffdo.h (include Wdf.h)
Libreria Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF)
IRQL PASSIVE_LEVEL
Regole di conformità DDI DeviceInitAPI(kmdf), DriverCreate(kmdf), DrvAckIoStop(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)

Vedi anche

WDFDEVICE_INIT