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 cette IOCTL. Lors de la réception de ce IOCTL, le client du gestionnaire de montage doit fournir un identificateur de chaîne d’octet compté unique au client (autrement dit, 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 d’appareil ou le pilote de volume retourne la structure MOUNTDEV_UNIQUE_ID dans la mémoire tampon à Irp->AssociatedIrp.SystemBuffer.
Longueur de la mémoire tampon de sortie
Parameters.DeviceIoControl.OutputBufferLength à 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 Informations est défini sur FIELD_OFFSET(MOUNTDEV_UNIQUE_ID, UniqueId) + sortie ->UniqueIdLength ; ou alternativement à sizeof(USHORT) + output->UniqueIdLength, où la sortie pointe vers la mémoire tampon à 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 interprocess (IPC).
Pour plus d’informations, consultez prise en charge des demandes mount Manager dans un pilote de classe de stockage.
Exigences
Exigence | Valeur |
---|---|
d’en-tête | mountdev.h (include Mountdev.h) |