Condividi tramite


IOCTL_HPMI_QUERY_CAPABILITIES IOCTL (hpmi.h)

[Alcune informazioni riguardano il prodotto non rilasciato che può essere modificato in modo sostanziale prima che venga rilasciato commercialmente. Microsoft non fornisce garanzie, esplicite o implicite, relativamente alle informazioni fornite qui.

Il comando IOCTL_HPMI_QUERY_CAPABILITIES viene inviato alle funzionalità di query supportate dai servizi HPMI e Windows richiesti da HPMI. Windows eseguirà questo IOCL a HPMI una volta dopo che viene individuata una nuova istanza del driver HPMI.

informazioni preliminari importanti
 

Codice principale

IRP_MJ_DEVICE_CONTROL

Buffer di input

Il membro AssociatedIrp.SystemBuffer del pacchetto di richiesta I/O punta a un buffer allocato dall'iniziatore usato sia come buffer di input che come buffer di output per la richiesta. In caso di input, questo buffer contiene una struttura HPMI_QUERY_CAPABILITIES in cui la versione è impostata su un valore valido.

Lunghezza del buffer di input

Il membro Parameters.DeviceIoControl.InputBufferLength del percorso dello stack I/O corrente di IRP (IO_STACK_LOCATION) viene impostato sulle dimensioni in byte del buffer a cui punta il membro AssociatedIrp.SystemBuffer. Questa dimensione deve essere maggiore o uguale a sizeof HPMI_QUERY_CAPABILITIES struttura oppure la richiesta avrà esito negativo con uno stato di errore di STATUS_INVALID_PARAMETER.

Buffer di output

Se la richiesta viene completata correttamente, il buffer a cui punta il membro AssociatedIrp.SystemBuffer contiene le informazioni richieste sulla funzionalità HPMI. Situato all'inizio di questo buffer è una struttura HPMI_QUERY_CAPABILITIES_RESPONSE che indica il tipo e le dimensioni delle informazioni nel buffer.

Lunghezza del buffer di output

Il membro Parameters.DeviceIoControl.OutputBufferLength del percorso dello stack I/O corrente di IRP è impostato sulle dimensioni in byte del buffer a cui punta il membro AssociatedIrp.SystemBuffer. Affinché la richiesta abbia esito positivo, questa dimensione deve essere sufficientemente grande da contenere la funzionalità HPMI descritta in HPMI_QUERY_CAPABILITIES_RESPONSE. In caso contrario, la richiesta avrà esito negativo con stato di errore STATUS_BUFFER_TOO_SMALL.

Buffer di input/output

TBD

Lunghezza del buffer di input/output

TBD

Blocco di stato

Irp-> IoStatus.Status è impostato su STATUS_SUCCESS se la richiesta ha esito positivo. In caso contrario, stato alla condizione di errore appropriata come codice NTSTATUS, ad esempio STATUS_INVALID_PARAMETER.

Osservazioni

La richiesta di IOCTL_HPMI_QUERY_CAPABILITIES esegue una query sulle funzionalità HPMI o sulle informazioni sugli asset del contatore di potenza. Il valore della struttura di input HPMI_QUERY_CAPABILITIES specifica il tipo di informazioni sulle funzionalità da restituire. Il tipo di dati e il contenuto del buffer di output variano in base ai dati richiesti.

Questo IOCTL può essere rilasciato più volte, HPMI deve rispondere con la stessa
informazioni in HPMI_QUERY_CAPABILITIES_RESPONSE, come risposta a tutti
chiamate IOCTL successive.

Fabbisogno

Requisito Valore
client minimo supportato Disponibile in Windows 10 versione 1709 e successive dei sistemi operativi Windows.
intestazione hpmi.h (include Hpmi.h)

Vedere anche

creazione di richieste IOCTL nei driver

IRP

WdfIoTargetSendInternalIoctlOthersSynchronously

WdfIoTargetSendInternalIoctlSynchronously

WdfIoTargetSendIoctlSynchronously