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 Nombre miembro 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 Information está establecido en FIELD_OFFSET(MOUNTDEV_NAME, Name) + output->NameLength, o como alternativa, output->NameLength + sizeof(USHORT), donde output 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 de 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 información de en sizeof(MOUNTDEV_NAME) y el campo Estado de en STATUS_BUFFER_OVERFLOW. Además, el cliente del administrador de montaje rellena el miembro NameLength de la estructura MOUNTDEV_NAME.

Observaciones

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

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

Requisitos

Requisito Valor
encabezado de mountmgr.h (include Mountmgr.h)

Consulte también

MOUNTDEV_NAME