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


IOCTL_MOUNTDEV_QUERY_SUGGESTED_LINK_NAME IOCTL (mountdev.h)

IOCTL_MOUNTDEV_QUERY_SUGGESTED_LINK_NAME позволяет клиентам диспетчера подключений, таким как драйверы устройств или томов, предлагать букву диска или имя ссылки для связанных томов.

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

Основной код

IRP_MJ_DEVICE_CONTROL

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

Нет.

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

Нет.

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

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

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

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

Буфер входных и выходных данных

Н/Д

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

Н/Д

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

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

Если значение OutputBufferLength меньше sizeof(MOUNTDEV_SUGGESTED_LINK_NAME), для поля Состояние задано значение STATUS_INVALID_PARAMETER.

Если OutputBufferLength меньше общей длины выходных данных, для поля Состояние устанавливается значение STATUS_BUFFER_OVERFLOW, а для поля Information — значение sizeof(MOUNTDEV_SUGGESTED_LINK_NAME).

Комментарии

Некоторые клиенты диспетчера подключений могут отслеживать буквы дисков при перезагрузке системы без помощи диспетчера подключения. Такие клиенты могут отправить предлагаемое имя диска диспетчеру подключения в ответ на этот IOCTL. Диспетчер подключений использует предлагаемое имя, если база данных диспетчера подключений еще не содержит постоянного имени диска для тома клиента. В противном случае он игнорирует предложение и использует букву диска в своей базе данных постоянных имен.

Имена букв диска должны содержать полный путь к символьной ссылке в пространстве имен объектов и иметь традиционный синтаксис MS-DOS. Например, буква диска "D" должна быть представлена следующим образом: "\DosDevices\D:". Альтернативный путь символьной ссылки "?? \D:" нельзя использовать, а также сокращения символьной ссылки, такие как "D:".

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

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

Требования

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

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

MOUNTDEV_SUGGESTED_LINK_NAME