Partager via


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

IRP_MJ_DEVICE_CONTROL

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

IOCTL_MOUNTDEV_UNIQUE_ID_CHANGE_NOTIFY

MOUNTDEV_UNIQUE_ID