IOCTL_HPMI_QUERY_CAPABILITIES IOCTL (hpmi.h)
[Некоторые сведения относятся к предварительно выпущенным продуктам, которые могут быть существенно изменены до его коммерческого выпуска. Майкрософт не дает никаких гарантий, явных или подразумеваемых, в отношении предоставленной здесь информации.]
Команда IOCTL_HPMI_QUERY_CAPABILITIES отправляется в функции запроса, поддерживаемые HPMI и службами Windows, запрашиваемыми HPMI. Windows выдаст этот ioCL в HPMI один раз после обнаружения нового экземпляра драйвера HPMI.
Основной код
Входной буфер
Элемент AssociatedIrp.SystemBuffer пакета запроса ввода-вывода (IRP) указывает на буфер, выделенный инициатором, который используется как входной, так и выходной буфер для запроса. На входных данных этот буфер содержит структуру HPMI_QUERY_CAPABILITIES , в которой версия имеет допустимое значение.
Длина входного буфера
Член Parameters.DeviceIoControl.InputBufferLength текущего расположения стека ввода-вывода (IO_STACK_LOCATION) IRP имеет размер буфера в байтах, на который указывает член AssociatedIrp.SystemBuffer. Этот размер должен быть больше или равен sizeof HPMI_QUERY_CAPABILITIES структуре, в противном случае запрос завершится ошибкой с состоянием STATUS_INVALID_PARAMETER.
Выходной буфер
Если запрос завершается успешно, буфер, на который указывает элемент AssociatedIrp.SystemBuffer, содержит запрошенные сведения о возможностях HPMI. В начале буфера находится HPMI_QUERY_CAPABILITIES_RESPONSE структура, которая указывает тип и размер сведений в буфере.
Длина выходного буфера
Член Parameters.DeviceIoControl.OutputBufferLength текущего расположения стека ввода-вывода IRP имеет размер буфера в байтах, на который указывает член AssociatedIrp.SystemBuffer. Для успешного выполнения запроса этот размер должен быть достаточно большим, чтобы содержать возможности HPMI, описанные в HPMI_QUERY_CAPABILITIES_RESPONSE. В противном случае запрос завершится ошибкой с состоянием ошибки STATUS_BUFFER_TOO_SMALL.
Буфер входных и выходных данных
TBD
Длина входного/выходного буфера
TBD
Блок состояния
Irp->IoStatus.Status имеет значение STATUS_SUCCESS, если запрос выполнен успешно. В противном случае значение Состояние до соответствующего условия ошибки в виде кода NTSTATUS , например STATUS_INVALID_PARAMETER.
Комментарии
Запрос IOCTL_HPMI_QUERY_CAPABILITIES запрашивает возможности HPMI или сведения об активах счетчика мощности. Входное HPMI_QUERY_CAPABILITIES значение структуры указывает тип возвращаемых сведений о возможностях. Тип данных и содержимое выходного буфера зависят от запрошенных данных.
Этот IOCTL может быть выдан несколько раз, HPMI должен отвечать с тем же
информация в HPMI_QUERY_CAPABILITIES_RESPONSE в ответ на все
последующие вызовы IOCTL.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Доступно в Windows 10 версии 1709 и более поздних версиях операционных систем Windows. |
Верхняя часть | hpmi.h (включая Hpmi.h) |
См. также раздел
Создание запросов IOCTL в драйверах
WdfIoTargetSendInternalIoctlOthersSynchronously