Compartir a través de


IOCTL_MOUNTMGR_NEXT_DRIVE_LETTER IOCTL (mountmgr.h)

Este IOCTL comprueba si el volumen especificado tiene una letra de unidad. Si ya tiene una letra de unidad o si el volumen tiene una entrada especial de base de datos del administrador de montaje que indica que no requiere una letra de unidad, esta rutina devuelve la letra de unidad actual (si hay alguna) y no hace nada. Si el volumen especificado no tiene una letra de unidad y no tiene una entrada especial de base de datos del administrador de montaje que indica que no requiere una letra de unidad, la siguiente letra de unidad disponible se asigna al volumen. Si el nombre del dispositivo no persistente del volumen comienza por "\Device\Floppy", el administrador de montaje comprobará si hay letras de unidad disponibles a partir de la letra "A". Si el nombre del volumen comienza por "\Device\CdRom", el administrador de montaje comprobará si hay letras de unidad disponibles a partir de la letra de unidad "D". En todos los demás casos, el administrador de montaje comienza con la letra de unidad "C".

Código principal

IRP_MJ_DEVICE_CONTROL

Búfer de entrada

El cliente del administrador de montaje inicializa la estructura de MOUNTMGR_DRIVE_LETTER_TARGET, definida en Mountmgr.h, al principio del búfer en Irp-AssociatedIrp.SystemBuffer>. El cliente debe insertar el nombre del volumen de destino en la dirección a la que apunta el miembro DeviceName[] de esta estructura. El nombre del volumen de destino es el nombre del objeto de dispositivo no persistente asociado al volumen (por ejemplo, "\Device\HarddiskVolume1").

Longitud del búfer de entrada

Parameters.DeviceIoControl.InputBufferLength en la ubicación de pila de E/S del IRP indica el tamaño, en bytes, del búfer de entrada, que debe ser mayor o igual que sizeof(MOUNTMGR_DRIVE_LETTER_TARGET).

Búfer de salida

El administrador de montaje inserta la letra de unidad actual o la letra de unidad recién asignada (vea la explicación anterior) en la estructura de MOUNTMGR_DRIVE_LETTER_INFORMATION, definida en Mountmgr.h, al principio del búfer en Irp-AssociatedIrp.SystemBuffer>.

Longitud del búfer de salida

Parameters.DeviceIoControl.OutputBufferLength en la ubicación de la pila de E/S del IRP indica el tamaño, en bytes, del búfer de salida, que debe ser mayor o igual que sizeof(MOUNTMGR_DRIVE_LETTER_INFORMATION).

Bloque de estado

Si la operación se realiza correctamente, el campo Estado se establece en STATUS_SUCCESS.

Si InputBufferLength es menor que sizeof(MOUNTMGR_DRIVE_LETTER_TARGET) o si OutputBufferLength es menor que sizeof(MOUNTMGR_DRIVE_LETTER_INFORMATION), el campo Estado se establece en STATUS_INVALID_PARAMETER.

Requisitos

Requisito Valor
Header mountmgr.h (include Mountmgr.h)

Consulte también

MOUNTMGR_DRIVE_LETTER_TARGET