Cibles générales d’E/S dans UMDF

Avertissement

UMDF 2 est la dernière version d’UMDF et remplace UMDF 1. Tous les nouveaux pilotes UMDF doivent être écrits à l’aide d’UMDF 2. Aucune nouvelle fonctionnalité n’est ajoutée à UMDF 1 et la prise en charge d’UMDF 1 est limitée sur les versions plus récentes de Windows 10. Les pilotes Windows universels doivent utiliser UMDF 2.

Les exemples UMDF 1 archivés se trouvent dans la Windows 11, version 22H2 - Mise à jour des exemples de pilotes de mai 2022.

Pour plus d’informations, consultez Prise en main avec UMDF.

Les cibles d’E/S générales, qui peuvent être locales ou distantes, sont des cibles d’E/S qui ne prennent pas en charge les formats de données spécifiques à l’appareil, tels que les blocs de requête USB. Avant d’envoyer des données à une cible d’E/S générale, les pilotes doivent placer les données dans une mémoire tampon d’écriture dans un format que la cible d’E/S et l’appareil peuvent interpréter. De même, lorsque les pilotes lisent des données à partir d’une cible d’E/S générale, ils doivent être en mesure d’interpréter le contenu des mémoires tampons de données qu’ils reçoivent de la cible.

Cibles d’E/S locales
Les pilotes envoient souvent des demandes d’E/S au pilote inférieur suivant dans la pile des pilotes. Par conséquent, chaque pilote basé sur UMDF a une cible d’E/S par défaut pour chaque appareil, qui est le pilote inférieur suivant de l’appareil. La cible d’E/S par défaut pour le pilote UMDF de niveau le plus bas est le réflecteur en mode noyau.

Parfois, un pilote UMDF doit envoyer des demandes d’E/S à une cible d’E/S basée sur un handle de fichier, comme un fichier ou un socket réseau. Par conséquent, l’infrastructure fournit également des objets cibles d’E/S basés sur un handle de fichier.

La cible d’E/S par défaut et les cibles d’E/S basées sur le handle de fichiers sont appelées cibles d’E/S locales, car les pilotes basés sur UMDF utilisent ces cibles pour envoyer des demandes d’E/S aux appareils pris en charge par la pile de pilotes.

Cibles d’E/S distantes
Parfois, un pilote doit envoyer une demande d’E/S à une autre pile de pilotes. Par conséquent, l’infrastructure fournit également des cibles d’E/S distantes, qui se composent de toutes les cibles d’E/S à l’exception des cibles d’E/S locales.

Une cible d’E/S distante peut être un appareil que la pile de pilotes ne prend pas en charge, un fichier sur cet appareil ou une interface d’appareil pour cet appareil.

Les sections suivantes décrivent comment initialiser et utiliser une cible d’E/S générale :