Поделиться через


IOCTL_MOUNTDEV_QUERY_DEVICE_NAME IOCTL (mountmgr.h)

После получения этого IOCTL драйвер клиента должен указать (неперсистентное) имя устройства (или целевого объекта) для тома. Диспетчер подключения использует имя устройства , возвращенное клиентом, в качестве целевого объекта символьной ссылки. Примером имени устройства может быть "\Device\HarddiskVolume1".

Поддержка этого IOCTL клиентами диспетчера подключения является обязательной.

Основной код

IRP_MJ_DEVICE_CONTROL

Входной буфер

Нет.

Длина входного буфера

Нет.

Выходной буфер

Клиент диспетчера подключений возвращает структуру переменной длины типа MOUNTDEV_NAME в начале буфера в Irp-AssociatedIrp.SystemBuffer>. Имя устройства должно быть вставлено по адресу, на который указывает элемент Name этой структуры.

Длина выходного буфера

Parameters.DeviceIoControl.OutputBufferLength в расположении стека ввода-вывода IRP указывает размер выходного буфера в байтах, который должен быть больше или равен sizeof(MOUNTDEV_NAME).

Блок состояния

Для поля Information задано значение FIELD_OFFSET(MOUNTDEV_NAME, Name) + output-NameLength> или output-NameLength> + sizeof(USHORT), где выходные данные указывают на буфер в Irp-AssociatedIrp.SystemBuffer>.

Если операция выполнена успешно, клиент диспетчера подключения должен задать для поля Сведения длину строки, завершаемой значением NULL, содержащей имя устройства, а в поле Состояние — значение STATUS_SUCCESS.

Если выходной буфер слишком мал для хранения имени устройства, клиент диспетчера подключений должен задать для поля sizeof(MOUNTDEV_NAME)Сведения значение , а для поля Состояние — значение STATUS_BUFFER_OVERFLOW. Кроме того, клиент диспетчера подключений заполняет элемент NameLength структуры MOUNTDEV_NAME .

Комментарии

Рекомендуется, чтобы средство реализации не синхронизировало потоки и не должно выполнять блокирующие вызовы функций и (или) межпроцессного взаимодействия (IPC).

Дополнительные сведения см. в статье Поддержка запросов диспетчера подключений в драйвере класса хранения.

Требования

Требование Значение
Заголовок mountmgr.h (включая Mountmgr.h)

См. также раздел

MOUNTDEV_NAME