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


IOCTL_MOUNTDEV_QUERY_UNIQUE_ID IOCTL (mountdev.h)

IOCTL_MOUNTDEV_QUERY_UNIQUE_ID получает уникальный идентификатор устройства или тома.

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

Основной код

IRP_MJ_DEVICE_CONTROL

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

Никакой.

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

Никакой.

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

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

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

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

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

N/A

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

N/A

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

Поле сведений имеет значение FIELD_OFFSET(MOUNTDEV_UNIQUE_ID, UniqueId) + output->UniqueIdLength; или вместо sizeof(USHORT) + output->UniqueIdLength, где выходные данные указывают на буфер в Irp->AssociatedIrp.SystemBuffer.

Замечания

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

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

Требования

Требование Ценность
заголовка mountdev.h (include Mountdev.h)

См. также

MOUNTDEV_UNIQUE_ID