IOCTL_MOUNTDEV_QUERY_SUGGESTED_LINK_NAME IOCTL (mountdev.h)
IOCTL_MOUNTDEV_QUERY_SUGGESTED_LINK_NAME permet aux clients du gestionnaire de montage, tels que les pilotes de périphérique ou de volume, de suggérer une lettre de lecteur ou un nom de lien pour leurs volumes associés.
La prise en charge de cet IOCTL par les clients du gestionnaire de montage est facultative.
Code principal
Mémoire tampon d'entrée
Aucun.
Longueur de la mémoire tampon d’entrée
Aucun.
Mémoire tampon de sortie
Le pilote client doit placer une structure de longueur variable de type MOUNTDEV_SUGGESTED_LINK_NAME au début de la mémoire tampon sur Irp-AssociatedIrp.SystemBuffer>. Le pilote client doit insérer le nom persistant suggéré à l’adresse pointée par le membre Name de cette structure.
Longueur de la mémoire tampon de sortie
Parameters.DeviceIoControl.OutputBufferLength dans l’emplacement de la pile d’E/S de l’IRP indique la taille, en octets, de la mémoire tampon de sortie, qui doit être supérieure ou égale à sizeof(MOUNTDEV_SUGGESTED_LINK_NAME)
.
Mémoire tampon d’entrée/sortie
N/A
Longueur de la mémoire tampon d’entrée/sortie
N/A
Bloc d’état
Si l’opération réussit, le champ Informations est défini sur le nombre total d’octets retournés et le champ État est défini sur STATUS_SUCCESS.
Si OutputBufferLength est inférieur à sizeof(MOUNTDEV_SUGGESTED_LINK_NAME), le champ État est défini sur STATUS_INVALID_PARAMETER.
Si OutputBufferLength est inférieur à la longueur totale des données de sortie, le champ État est défini sur STATUS_BUFFER_OVERFLOW et le champ Informations est défini sur sizeof(MOUNTDEV_SUGGESTED_LINK_NAME).
Remarques
Certains clients du gestionnaire de montage sont en mesure de suivre leurs lettres de lecteur lors des redémarrages du système sans l’aide du gestionnaire de montage. Ces clients peuvent envoyer un nom de lettre de lecteur suggéré au gestionnaire de montage en réponse à ce IOCTL. Le gestionnaire de montage utilise le nom suggéré si la base de données du gestionnaire de montage ne contient pas déjà de nom de lettre de lecteur persistante pour le volume du client. Sinon, il ignore la suggestion et utilise le nom de la lettre de lecteur dans sa base de données de noms persistants.
Les noms de lettre de lecteur doivent inclure le chemin complet du lien symbolique dans l’espace de noms d’objet et doivent avoir la syntaxe MS-DOS traditionnelle. Par exemple, la lettre de lecteur « D » doit être représentée de la manière suivante : « \DosDevices\D : ». Le chemin de lien symbolique alternatif de " ?? \D : » ne peut pas être utilisé, ni les abréviations du lien symbolique comme « D : ».
L’implémenteur de cette fonction ne doit pas synchroniser les threads et ne doit pas effectuer d’appels de fonction de blocage et/ou de communication interprocessus (IPC).
Pour plus d’informations, consultez Prise en charge des demandes mount Manager dans un pilote de classe de stockage.
Configuration requise
Condition requise | Valeur |
---|---|
En-tête | mountdev.h (include Mountdev.h) |