Partager via


IOCTL_MOUNTMGR_NEXT_DRIVE_LETTER IOCTL (mountmgr.h)

Ce IOCTL vérifie si le volume donné a une lettre de lecteur. S’il a déjà une lettre de lecteur ou si le volume a une entrée de base de données de gestionnaire de montage spéciale indiquant qu’il n’a pas besoin d’une lettre de lecteur, cette routine retourne la lettre de lecteur actuelle (le cas échéant) et ne fait rien. Si le volume donné n’a pas de lettre de lecteur et n’a pas d’entrée de base de données de gestionnaire de montage spéciale indiquant qu’il ne nécessite pas de lettre de lecteur, la lettre de lecteur disponible suivante est affectée au volume. Si le nom de l’appareil non persistant du volume commence par « \Device\Floppy », le gestionnaire de montage case activée pour les lettres de lecteur disponibles en commençant par la lettre « A ». Si le nom du volume commence par « \Device\CdRom », le gestionnaire de montage case activée pour les lettres de lecteur disponibles en commençant par la lettre de lecteur « D ». Dans tous les autres cas, le gestionnaire de montage commence par la lettre de lecteur « C ».

Code principal

IRP_MJ_DEVICE_CONTROL

Mémoire tampon d'entrée

Le client mount Manager initialise la structure MOUNTMGR_DRIVE_LETTER_TARGET, définie dans Mountmgr.h, au début de la mémoire tampon à l’emplacement Irp-AssociatedIrp.SystemBuffer>. Le client doit insérer le nom du volume cible à l’adresse pointée par le membre DeviceName[] de cette structure. Le nom du volume cible est le nom de l’objet d’appareil non persistant associé au volume (par exemple, « \Device\HarddiskVolume1 »).

Longueur de la mémoire tampon d’entrée

Parameters.DeviceIoControl.InputBufferLength dans l’emplacement de la pile d’E/S de l’IRP indique la taille, en octets, de la mémoire tampon d’entrée, qui doit être supérieure ou égale à sizeof(MOUNTMGR_DRIVE_LETTER_TARGET).

Mémoire tampon de sortie

Le gestionnaire de montage insère la lettre de lecteur actuelle ou la lettre de lecteur nouvellement affectée (voir la discussion précédente) dans la structure MOUNTMGR_DRIVE_LETTER_INFORMATION, définie dans Mountmgr.h, au début de 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(MOUNTMGR_DRIVE_LETTER_INFORMATION).

Bloc d’état

Si l’opération réussit , le champ État est défini sur STATUS_SUCCESS.

Si InputBufferLength est inférieur à sizeof(MOUNTMGR_DRIVE_LETTER_TARGET) ou si OutputBufferLength est inférieur à sizeof(MOUNTMGR_DRIVE_LETTER_INFORMATION), le champ État est défini sur STATUS_INVALID_PARAMETER.

Configuration requise

Condition requise Valeur
En-tête mountmgr.h (inclure Mountmgr.h)

Voir aussi

MOUNTMGR_DRIVE_LETTER_TARGET