Freigeben über


IOCTL_EMI_GET_MEASUREMENT IOCTL (emi.h)

Der IOCTL_EMI_GET_MEASUREMENT Steuercode ruft die aktuelle Energiemessung und den Zeitpunkt ab, zu dem die Messung durchgeführt wurde.

Eingabepuffer

Keine.

Eingabepufferlänge

Keine.

Ausgabepuffer

Das AssociatedIrp.SystemBuffer-Element gibt die Adresse eines vom Aufrufer zugewiesenen Puffers an, der die Messdaten des Anbietergerätetreibers enthält.

Länge des Ausgabepuffers

Die Länge des Ausgabepuffers sollte die Größe von EMI_MEASUREMENT_DATA_V1 oder EMI_MEASUREMENT_DATA_V2 multipliziert mit der Anzahl von Kanälen sein. Sie wird im Parameter.DeviceIoControl.OutputBufferLength-Element angegeben.

Hinweise

Bei EMI-Version 1 und 2 sollten die von jedem Kanal gemeldeten EMI-Messdaten kumuliert und in die vom Kanal bei jeder Anforderung angegebene Einheit übersetzt werden, da die EMI-Schnittstelle eines beliebigen Geräts im gesamten System gemeinsam genutzt werden sollte. Daher hängt es davon ab, wie oft die einzelnen Consumeranforderungen und auch die Treiberimplementierung der Indikatoren erfasst und kumuliert werden.

Für die EMI-Version 2 sollten mehrere Kanäle, die von demselben Gerät verfügbar gemacht werden, bei jeder Anforderung gleichzeitig stichprobeniert werden. Daher sollte der Aufrufer den ChannelCount im EMI_METADATA_V2 verwenden, um die Kanäle zu durchlaufen, z. B.:


  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;
  }

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Verfügbar ab Windows 10.
Kopfzeile emi.h (emi.h einschließen)

Weitere Informationen

EMI_METADATA_V2
EMI_MEASUREMENT_DATA_V2
Energiemessungsschnittstelle