Partager via


WdfFdoInitSetFilter, fonction (wdffdo.h)

[S’applique à KMDF et UMDF]

La méthode WdfFdoInitSetFilter identifie le pilote appelant en tant que pilote de niveau supérieur ou inférieur pilote de filtre, pour un appareil spécifié.

Syntaxe

VOID WdfFdoInitSetFilter(
  [in] PWDFDEVICE_INIT DeviceInit
);

Paramètres

[in] DeviceInit

Pointeur vers une structure WDFDEVICE_INIT que le pilote a obtenue à partir de sa fonction de rappel EvtDriverDeviceAdd.

Valeur de retour

Aucun

Remarques

Les pilotes de filtre traitent généralement certaines requêtes d’E/S, mais ils transmettent simplement la plupart des requêtes au pilote suivant dans la pile des pilotes. Si l’infrastructure reçoit une demande pour l’un des appareils de votre pilote et si le pilote n’a pas créé de file d’attente d’E/S pour recevoir des demandes qui correspondent au type de requête, la façon dont l’infrastructure traite la requête dépend de l’appel du pilote WdfFdoInitSetFilter:

  • Si un pilote appelle WdfFdoInitSetFilter, l’infrastructure du pilote transfère la requête au pilote suivant.
  • Si un pilote n’appelle pas WdfFdoInitSetFilter, l’infrastructure termine la demande avec une valeur d’état de STATUS_INVALID_DEVICE_REQUEST.
Si un pilote appelle WdfFdoInitSetFilter, il ne doit pas appeler WdfDeviceInitSetIoType, WdfDeviceInitSetPowerInrush, ou WdfDeviceInitSetPowerPageable, car le framework ignore les informations fournies par ces appels. Au lieu de cela, l’infrastructure obtient ces informations à partir de l’objet de périphérique inférieur suivant dans la pile d’appareils du pilote.

Le pilote doit appeler WdfFdoInitSetFilter avant d’appeler WdfDeviceCreate. Pour plus d’informations sur l’appel WdfDeviceCreate, consultez Création d’un objet d’appareil Framework. En outre, le pilote doit appeler WdfFdoInitSetFilter avant de revenir de sa fonction de rappel evtDriverDeviceAdd .

Pour plus d’informations sur WdfFdoInitSetFilter, consultez Création d’objets d’appareil dans unde pilote de filtre, création de files d’attente d’E/S et transfert de requêtes d’E/S.

Exemples

L’exemple de code suivant identifie le pilote appelant comme pilote de filtre pour l’appareil spécifié.

WdfFdoInitSetFilter(DeviceInit);

Spécifications

Besoin Valeur
plateforme cible Universel
version minimale de KMDF 1.0
version minimale de UMDF 2.0
En-tête wdffdo.h (include Wdf.h)
Bibliothèque Wdf01000.sys (KMDF) ; WUDFx02000.dll (UMDF)
IRQL PASSIVE_LEVEL
règles de conformité DDI DeviceInitAPI(kmdf), DriverCreate(kmdf), DrvAckIoStop(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)

Voir aussi

WDFDEVICE_INIT