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
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) |