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


IOCTL_PMI_GET_CONFIGURATION IOCTL (pmi.h)

Запрос IOCTL_PMI_GET_CONFIGURATION возвращает сведения о текущей конфигурации счетчика электроэнергии.

Основной код

IRP_MJ_DEVICE_CONTROL

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

AssociatedIrp.SystemBuffer член пакета запросов ввода-вывода (IRP) указывает на выделенный инициатором буфер, который используется как входной буфер, так и выходной буфер запроса. В входных данных этот буфер содержит структуру PMI_CONFIGURATION, в которой для элементов ConfigurationType версии и ConfigurationType заданы допустимые значения. Элемент ConfigurationType содержит значение перечисления PMI_CONFIGURATION_TYPE, указывающее тип сведений о конфигурации, извлекаемых из счетчика питания. Это значение также определяет тип сведений о конфигурации, записываемых в выходной буфер.

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

Parameters.DeviceIoControl.InputBufferLength элемент текущего расположения стека ввода-вывода IRP (IO_STACK_LOCATION) имеет размер в байтах буфера, на который указывает элемент AssociatedIrp.SystemBuffer. Этот размер должен быть больше или равен размеру(PMI_CONFIGURATION) или запрос завершится ошибкой с состоянием STATUS_INVALID_PARAMETER.

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

Если запрос выполнен успешно, буфер, указывающий на элемент AssociatedIrp.SystemBuffer, содержит структуру PMI_CONFIGURATION. Эта структура содержит запрошенные сведения о конфигурации.

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

Элемент Parameters.DeviceIoControl.OutputBufferLength в текущем расположении стека ввода-вывода IRP имеет размер в байтах буфера, на который указывает элемент AssociatedIrp.SystemBuffer. Для успешного выполнения запроса этот размер должен быть больше или равен размеру(PMI_CONFIGURATION). В противном случае запрос завершится ошибкой с состоянием STATUS_BUFFER_TOO_SMALL.

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

Элемент Information имеет размер в байтах структуры PMI_CONFIGURATION.

Элемент состояния имеет одно из следующих значений:

STATUS_BUFFER_TOO_SMALL

Элемент Parameters.DeviceIoControl.OutputBufferLength элемента IRP меньше размера в байтах структуры PMI_CONFIGURATION.

STATUS_INVALID_PARAMETER

Выделенный инициатором входной буфер содержит недопустимое значение PMI_CONFIGURATION_TYPE.

STATUS_SUCCESS

Драйвер WDM, поддерживающий интерфейс PMI, успешно завершил запрос IOCTL.

Замечания

Запрос IOCTL_PMI_GET_CONFIGURATION запрашивает текущую конфигурацию счетчика питания. Значение перечисления входных PMI_CONFIGURATION_TYPE указывает тип возвращаемых данных конфигурации. Тип данных и содержимое выходного буфера зависят от запрошенных данных.

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

значение PMI_CONFIGURATION_TYPE Описание
PmiBudgetingConfiguration Структура PMI_BUDGETING_CONFIGURATION, содержащая сведения о конфигурации бюджетирования счетчика электроэнергии.
pmiMeasurementConfiguration Структура PMI_MEASUREMENT_CONFIGURATION, содержащая сведения о конфигурации измерения счетчика электроэнергии.
PmiThresholdConfiguration Структура PMI_THRESHOLD_CONFIGURATION, содержащая сведения о конфигурации порогового значения счетчика питания.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Доступно в Windows 7, Windows Server 2008 R2 и более поздних версиях операционных систем Windows.
заголовка pmi.h (include Pmi.h)

См. также

IOCTL_PMI_GET_CAPABILITIES

IO_STACK_LOCATION

IRP

PMI_BUDGETING_CONFIGURATION

PMI_CAPABILITIES_TYPE

PMI_CONFIGURATION

PMI_CONFIGURATION_TYPE

PMI_MEASUREMENT_CONFIGURATION

PMI_THRESHOLD_CONFIGURATION