Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
La technologie de carte Secure Digital (SD) a commencé par des cartes portables, miniatures mémoire, mais avec la publication de la spécification SDIO (Secure Digital I/O), la Secure Digital Association (SDA) a élargi la définition de la technologie SD pour inclure une grande variété de fonctions de carte, telles que les appareils Bluetooth, les caméras vidéo, les appareils LAN sans fil et les récepteurs GPS (Global Positioning System). Ce document explique comment le système d’exploitation prend en charge les extensions de fonction de carte à la technologie SD.
Les lecteurs de carte pour de nombreux périphériques de stockage SD précoces ont été conçus pour se connecter au bus USB. Windows gère ces appareils avec le pilote de stockage de masse USB (usbstor.sys) et le pilote de classe de stockage natif (disk.sys), comme illustré dans le diagramme suivant :
Pour obtenir une description plus complète de la pile d’appareils créée par Windows pour une carte mémoire qui se connecte au bus USB, consultez l’exemple d’objet appareil pour un périphérique de stockage de masse USB.
Le système d’exploitation prend en charge les contrôleurs hôtes SD qui se connectent directement au bus PCI. Lorsque le système énumère un contrôleur hôte SD, il charge un pilote de bus SD natif (sdbus.sys). Si un utilisateur insère une carte mémoire SD, Windows charge un pilote de classe de stockage SD natif (sffdisk.sys) et un pilote miniport de stockage (sffp_sd.sys) au-dessus du pilote de bus. Si un utilisateur insère une carte SD avec un autre type de fonction, tel que gps ou réseau local sans fil, Windows charge un pilote fourni par le fournisseur pour l’appareil.
Tous les pilotes de périphérique de la pile SD, qu’ils soient natifs ou fournis par le fournisseur, doivent communiquer avec le pilote de bus SD en appelant des routines dans la bibliothèque de bus SD statique (sdbus.lib). Les pilotes SD doivent être liés à cette bibliothèque lorsqu’ils sont compilés. Le diagramme suivant illustre la pile de pilotes SD que le système crée lorsqu’il énumère un contrôleur SD et des cartes associées :
Les pilotes de périphériques SD ne peuvent pas accéder directement à l'ensemble de registres du contrôleur hôte, ni intégrer des commandes de passage pour le contrôleur hôte dans les paquets de demandes d'E/S (IRP). Les pilotes de périphérique SD émettent des commandes au contrôleur hôte en appelant les routines de bibliothèque de bus SD, puis la bibliothèque génère les commandes SD appropriées pour le contrôleur hôte.
Les pilotes de périphérique SD doivent gérer les IRP PnP et d’alimentation standard, mais ils ne demandent ni ne gèrent les ressources matérielles, telles que les ports, la mémoire ou les vecteurs d’interruption. Par conséquent, les pilotes de périphérique SD ne sont pas requis pour mapper des ressources matérielles lors de la gestion d’une demande de IRP_MN_START_DEVICE . Toutefois, lorsqu’un pilote de périphérique SD reçoit une demande de IRP_MN_STOP_DEVICE , il doit arrêter toutes les opérations d’E/S. En outre, le pilote doit fermer son interface au pilote de bus SD en réponse à une demande de IRP_MN_QUERY_REMOVE_DEVICE .
Lorsqu’une interruption matérielle se produit, la bibliothèque de bus SD intercepte l’interruption, masque d’autres interruptions et avertit le pilote de périphérique SD au moyen d’une routine de rappel qu’une interruption matérielle s’est produite. Pour obtenir une description de la routine de rappel utilisée par le pilote de bus pour notifier un pilote de périphérique SD des interruptions matérielles, consultez PSDBUS_CALLBACK_ROUTINE. Pour obtenir une explication générale de la façon dont la pile et les bibliothèques de pilotes SD gèrent les interruptions matérielles, consultez Gestion des interruptions matérielles Secure Digital (SD).
Le fichier d’en-tête ntddsd.h , fourni dans le Kit de pilotes Windows (WDK), déclare les prototypes des routines exposées par la bibliothèque de bus SD.