Partager via


WdfFdoInitSetFilter, fonction (wdffdo.h)

[S’applique à KMDF et UMDF]

La méthode WdfFdoInitSetFilter identifie le pilote appelant en tant que pilote de filtre de niveau supérieur ou inférieur, 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

None

Remarques

Les pilotes de filtre traitent généralement certaines demandes d’E/S, mais ils passent simplement la plupart des demandes au pilote suivant dans la pile de pilotes. Si l’infrastructure reçoit une demande pour l’un des périphériques 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 demande, la façon dont l’infrastructure traite la demande dépend de la façon dont le pilote a appelé WdfFdoInitSetFilter :

  • Si un pilote appelle WdfFdoInitSetFilter, l’infrastructure du pilote transfère la demande au pilote suivant.
  • Si un pilote n’appelle pas WdfFdoInitSetFilter, l’infrastructure termine la requête avec une valeur status 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 de périphériques du pilote.

Le pilote doit appeler WdfFdoInitSetFilter avant d’appeler WdfDeviceCreate. Pour plus d’informations sur l’appel de WdfDeviceCreate, consultez Création d’un objet d’appareil framework. En outre, le pilote doit appeler WdfFdoInitSetFilter avant de retourner à partir de sa fonction de rappel EvtDriverDeviceAdd .

Pour plus d’informations sur WdfFdoInitSetFilter, consultez Création d’objets d’appareil dans un pilote de filtre, Création de files d’attente d’E/S et transfert de demandes d’E/S.

Exemples

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

WdfFdoInitSetFilter(DeviceInit);

Configuration requise

Condition requise Valeur
Plateforme cible Universal
Version KMDF minimale 1.0
Version UMDF minimale 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