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


IOCTL_EMI_GET_MEASUREMENT IOCTL (emi.h)

Код элемента управления IOCTL_EMI_GET_MEASUREMENT извлекает текущее измерение энергии и время, в которое было выполнено измерение.

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

Нет.

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

Нет.

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

Член AssociatedIrp.SystemBuffer указывает адрес буфера, выделенного вызывающим объектом, который содержит данные измерений из драйвера устройства поставщика.

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

Длина выходного буфера должна быть размером EMI_MEASUREMENT_DATA_V1 или EMI_MEASUREMENT_DATA_V2 умножения на количество каналов, она указывается в элементе Parameters.DeviceIoControl.OutputBufferLength .

Комментарии

Для EMI версии 1 и 2 данные измерения EMI, сообщаемые из каждого канала, должны накапливаться и претворяться в единицу, указанную каналом для каждого запроса, так как интерфейс EMI любого устройства должен быть совместно использоваться в системе, поэтому частота выборки и накопления счетчиков зависит от частоты каждого из запросов потребителей и реализации драйвера.

Для EMI версии 2 несколько каналов предоставляются на одном устройстве одновременно в каждом запросе, поэтому вызывающий объект должен использовать ChannelCount в EMI_METADATA_V2 для обхода каналов, например:


  status = DeviceIoControl(DeviceHandle,
                           IOCTL_EMI_GET_MEASUREMENT,
                           NULL,
                           NULL,
                           Data,
                           ChannelDataSize,
                           BytesReturned,
                           NULL);

  EMI_CHANNEL_V2* Channel = &MetaData->Channels[0];
  for (int i = 0 ; i < MetaData->ChannelCount && status ; i++) {
      
      //
      // Get energy measurement for each energy counter.
      //

      AbsoluteEnergy = Measurement->ChannelData[i].AbsoluteEnergy;
      AbsoluteTime = Measurement->ChannelData[i].AbsoluteTime;
  }

Требования

Требование Значение
Минимальная версия клиента Доступно начиная с Windows 10.
Верхняя часть emi.h (включая Emi.h)

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

EMI_METADATA_V2
EMI_MEASUREMENT_DATA_V2
Интерфейс измерения энергопотребления