Partager via


WdfDeviceInitSetIoType, fonction (wdfdevice.h)

[S’applique à KMDF et UMDF]

La méthode WdfDeviceInitSetIoType définit la méthode ou la préférence d’accès d’un pilote aux mémoires tampons de données incluses dans les demandes de lecture et d’écriture pour un appareil spécifié.

Syntaxe

void WdfDeviceInitSetIoType(
  [in] PWDFDEVICE_INIT    DeviceInit,
  [in] WDF_DEVICE_IO_TYPE IoType
);

Paramètres

[in] DeviceInit

Pointeur vers une structure WDFDEVICE_INIT .

[in] IoType

Énumérateur WDF_DEVICE_IO_TYPE qui identifie la méthode que le pilote utilisera pour accéder aux mémoires tampons de données qu’il reçoit pour les demandes de lecture et d’écriture.

Valeur de retour

None

Remarques

KMDF Si vous écrivez un nouveau pilote à l’aide de KMDF version 1.13 ou ultérieure, utilisez plutôt WdfDeviceInitSetIoTypeEx. L’appel de WdfDeviceInitSetIoType à partir d’un pilote de filtre KMDF n’a aucun effet. Pour les pilotes de filtre, l’infrastructure utilise le type d’E/S spécifié par le pilote inférieur suivant dans la pile de pilotes.

UMDF Si vous convertissez un pilote KMDF qui appelle WdfDeviceInitSetIoType en UMDF version 2.0 ou ultérieure, votre pilote converti peut continuer à appeler WdfDeviceInitSetIoType sans problème. Toutefois, si vous écrivez un pilote entièrement nouveau à l’aide d’UMDF version 2.0 ou ultérieure, vous devez utiliser WdfDeviceInitSetIoTypeEx.

Si un pilote appelle WdfDeviceInitSetIoType, il doit le faire avant d’appeler WdfDeviceCreate. Pour plus d’informations sur l’appel de WdfDeviceCreate, consultez Création d’un objet d’appareil framework.

Si le pilote n’appelle pas WdfDeviceInitSetIoType, l’infrastructure définit la méthode d’accès à la mémoire tampon du pilote sur WdfDeviceIoBuffered, pour l’appareil spécifié.

Pour plus d’informations sur les méthodes d’accès aux tampons, consultez Accès aux mémoires tampons de données.

Exemples

L’exemple de code suivant indique qu’un pilote utilisera la méthode d’E/S directes lorsqu’il accède à l’appareil.

WdfDeviceInitSetIoType(
                       DeviceInit,
                       WdfDeviceIoDirect
                       );

Configuration requise

Condition requise Valeur
Plateforme cible Universal
Version KMDF minimale 1.0
Version UMDF minimale 2.0
En-tête wdfdevice.h (inclure Wdf.h)
Bibliothèque Wdf01000.sys (KMDF) ; WUDFx02000.dll (UMDF)
IRQL <= DISPATCH_LEVEL
Règles de conformité DDI ChildDeviceInitAPI(kmdf), ControlDeviceInitAPI(kmdf), DeviceInitAPI(kmdf), DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf), PdoDeviceInitAPI(kmdf)

Voir aussi

IWDFDeviceInitialize2 ::SetIoTypePreference

WDF_DEVICE_IO_TYPE

WdfDeviceInitSetIoTypeEx