IOCTL_MOUNTDEV_QUERY_UNIQUE_ID IOCTL (mountdev.h)
IOCTL_MOUNTDEV_QUERY_UNIQUE_ID récupère un identificateur unique pour un appareil ou un volume.
Les clients du gestionnaire de montage doivent prendre en charge ce IOCTL. 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).
Code principal
Mémoire tampon d'entrée
Aucun.
Longueur de la mémoire tampon d’entrée
Aucun.
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)
.
Mémoire tampon d’entrée/sortie
N/A
Longueur de la mémoire tampon d’entrée/sortie
N/A
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).
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) |