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 pour la façon dont un pilote accède 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-typé qui identifie la méthode utilisée par le pilote 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

Aucun

Remarques

KMDF Si vous écrivez un nouveau pilote à l’aide de KMDF version 1.13 ou ultérieure, vous devez utiliser WdfDeviceInitSetIoTypeEx. L’appel 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 des pilotes.

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

Si un pilote appelle WdfDeviceInitSetIoType, il doit le faire avant d’appeler WdfDeviceCreate. Pour plus d’informations sur l’appel 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 mémoires 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 directe lorsqu’il accède à l’appareil.

WdfDeviceInitSetIoType(
                       DeviceInit,
                       WdfDeviceIoDirect
                       );

Exigences

Exigence Valeur
plateforme cible Universel
version minimale de KMDF 1.0
version minimale de UMDF 2.0
d’en-tête wdfdevice.h (include 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