Compartir a través de


IOCTL_MOUNTDEV_QUERY_DEVICE_NAME IOCTL (mountmgr.h)

Al recibir este IOCTL, un controlador de cliente debe proporcionar el nombre del dispositivo (o destino) (no persistente) para el volumen. El administrador de montaje usa el nombre del dispositivo devuelto por el cliente como destino de un vínculo simbólico. Un ejemplo de un nombre de dispositivo sería "\Device\HarddiskVolume1".

La compatibilidad con este IOCTL por parte de los clientes del administrador de montaje es obligatoria.

Código principal

IRP_MJ_DEVICE_CONTROL

Búfer de entrada

Ninguno.

Longitud del búfer de entrada

Ninguno.

Búfer de salida

El cliente del administrador de montaje devuelve una estructura de longitud variable de tipo MOUNTDEV_NAME al principio del búfer en Irp-AssociatedIrp.SystemBuffer>. El nombre del dispositivo debe insertarse en la dirección a la que apunta el miembro Name de esta estructura.

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(MOUNTDEV_NAME).

Bloque de estado

El campo Información se establece en FIELD_OFFSET(MOUNTDEV_NAME, Name) + output-NameLength>, o bien, output-NameLength> + sizeof(USHORT), donde la salida apunta al búfer en Irp-AssociatedIrp.SystemBuffer>.

Si la operación se realiza correctamente, el cliente del administrador de montaje debe establecer el campo Información en la longitud de la cadena terminada en NULL que contiene el nombre del dispositivo y el campo Estado en STATUS_SUCCESS.

Si el búfer de salida es demasiado pequeño para contener el nombre del dispositivo, el cliente del administrador de montaje debe establecer el campo sizeof(MOUNTDEV_NAME)Información en y el campo Estado en STATUS_BUFFER_OVERFLOW. Además, el cliente del administrador de montaje rellena el miembro NameLength de la estructura MOUNTDEV_NAME .

Comentarios

Como procedimiento recomendado, el implementador no debe sincronizar el subproceso y no debe realizar llamadas de función de bloqueo o comunicación entre procesos (IPC).

Para obtener más información, vea Admitir solicitudes del Administrador de montaje en un controlador de clase de almacenamiento.

Requisitos

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

Consulte también

MOUNTDEV_NAME