IOCTL_MOUNTDEV_QUERY_UNIQUE_ID IOCTL (mountdev.h)

Поддержка этого IOCTL клиентами диспетчера подключений является обязательной. После получения этого IOCTL клиент диспетчера подключений должен предоставить подсчитанный идентификатор строки байтов, который является уникальным для клиента (то есть устройства или тома). Клиент не может изменить этот уникальный идентификатор без оповещения диспетчера подключения (см. IOCTL_MOUNTDEV_UNIQUE_ID_CHANGE_NOTIFY).

Основной код

IRP_MJ_DEVICE_CONTROL

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

Класс устройства или драйвер тома возвращает структуру MOUNTDEV_UNIQUE_ID в буфере irp-AssociatedIrp.SystemBuffer>.

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

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

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

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

Комментарии

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

Требования

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

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

IOCTL_MOUNTDEV_UNIQUE_ID_CHANGE_NOTIFY

MOUNTDEV_UNIQUE_ID