IOCTL_MOUNTDEV_QUERY_UNIQUE_ID IOCTL (mountdev.h)
Поддержка этого IOCTL клиентами диспетчера подключений является обязательной. После получения этого IOCTL клиент диспетчера подключений должен предоставить подсчитанный идентификатор строки байтов, который является уникальным для клиента (то есть устройства или тома). Клиент не может изменить этот уникальный идентификатор без оповещения диспетчера подключения (см. IOCTL_MOUNTDEV_UNIQUE_ID_CHANGE_NOTIFY).
Основной код
Выходной буфер
Класс устройства или драйвер тома возвращает структуру 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) |
См. также раздел
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по