IOCTL_MOUNTDEV_QUERY_UNIQUE_ID IOCTL (mountdev.h)
La prise en charge de cet IOCTL par les clients du gestionnaire de montage est obligatoire. Lors de la réception de ce IOCTL, le client du gestionnaire de montage doit fournir un identificateur de chaîne d’octets compté qui est propre au client (c’est-à-dire, l’appareil ou le volume). Le client ne peut pas modifier cet ID unique sans alerter le gestionnaire de montage (voir IOCTL_MOUNTDEV_UNIQUE_ID_CHANGE_NOTIFY).
Code principal
Mémoire tampon de sortie
La classe de périphérique ou le pilote de volume retourne la structure MOUNTDEV_UNIQUE_ID dans la mémoire tampon sur Irp-AssociatedIrp.SystemBuffer>.
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_UNIQUE_ID).
Bloc d’état
Le champ Information est défini sur FIELD_OFFSET(MOUNTDEV_UNIQUE_ID, UniqueId) + output-UniqueIdLength> ; ou sur sizeof(USHORT) + output-UniqueIdLength>, où la sortie pointe vers la mémoire tampon sur Irp-AssociatedIrp.SystemBuffer>.
Remarques
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).
Configuration requise
Condition requise | Valeur |
---|---|
En-tête | mountdev.h (include Mountdev.h) |
Voir aussi
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour