Compartir a través de


IOCTL_HPMI_QUERY_CAPABILITIES IOCTL (hpmi.h)

[Parte de la información hace referencia a la versión preliminar del producto, el cual puede sufrir importantes modificaciones antes de que se publique la versión comercial. Microsoft no ofrece ninguna garantía, expresa o implícita, con respecto a la información que se ofrece aquí].

El comando IOCTL_HPMI_QUERY_CAPABILITIES se envía a las características de consulta compatibles con los servicios HPMI y Windows solicitados por HPMI. Windows emitirá esta IOCL a HPMI una vez que se detecte una nueva instancia del controlador HPMI.

Importante Información preliminar
 

Código principal

IRP_MJ_DEVICE_CONTROL

Búfer de entrada

El miembro AssociatedIrp.SystemBuffer del paquete de solicitud de E/S (IRP) apunta a un búfer asignado por el iniciador que se usa tanto como búfer de entrada como búfer de salida para la solicitud. En la entrada, este búfer contiene una estructura de HPMI_QUERY_CAPABILITIES en la que la versión se establece en un valor válido.

Longitud del búfer de entrada

El miembro Parameters.DeviceIoControl.InputBufferLength de la ubicación de pila de E/S actual del IRP (IO_STACK_LOCATION) se establece en el tamaño en bytes del búfer al que apunta el miembro AssociatedIrp.SystemBuffer. Este tamaño debe ser mayor o igual que sizeof HPMI_QUERY_CAPABILITIES estructura o se producirá un error en la solicitud con un estado de error de STATUS_INVALID_PARAMETER.

Búfer de salida

Si la solicitud se completa correctamente, el búfer al que apunta el miembro AssociatedIrp.SystemBuffer contiene la información de funcionalidad de HPMI solicitada. Ubicado al principio de este búfer es una estructura de HPMI_QUERY_CAPABILITIES_RESPONSE que indica el tipo y el tamaño de la información del búfer.

Longitud del búfer de salida

El miembro Parameters.DeviceIoControl.OutputBufferLength de la ubicación de pila de E/S actual de IRP se establece en el tamaño en bytes del búfer al que apunta el miembro AssociatedIrp.SystemBuffer. Para que la solicitud se realice correctamente, este tamaño debe ser lo suficientemente grande como para contener la funcionalidad de HPMI descrita en HPMI_QUERY_CAPABILITIES_RESPONSE. De lo contrario, se producirá un error en la solicitud con el estado de error STATUS_BUFFER_TOO_SMALL.

Búfer de entrada y salida

TBD

Longitud del búfer de entrada y salida

TBD

Bloque de estado

Irp->IoStatus.Status se establece en STATUS_SUCCESS si la solicitud se realiza correctamente. De lo contrario, estado de la condición de error adecuada como código NTSTATUS , por ejemplo, STATUS_INVALID_PARAMETER.

Comentarios

La IOCTL_HPMI_QUERY_CAPABILITIES solicitud consulta las funcionalidades de HPMI o la información de recursos del medidor de energía. El valor de estructura de HPMI_QUERY_CAPABILITIES de entrada especifica el tipo de información de funcionalidad que se va a devolver. El tipo de datos y el contenido del búfer de salida varían en función de los datos solicitados.

Este IOCTL se puede emitir varias veces, HPMI debe responder con el mismo
información en HPMI_QUERY_CAPABILITIES_RESPONSE, como respuesta a todos
llamadas IOCTL posteriores.

Requisitos

Requisito Value
Cliente mínimo compatible Disponible en Windows 10, versión 1709 y versiones posteriores de los sistemas operativos Windows.
Encabezado hpmi.h (incluya Hpmi.h)

Consulte también

Creación de solicitudes IOCTL en controladores

IRP

WdfIoTargetSendInternalIoctlOthersSynchronously

WdfIoTargetSendInternalIoctlSynchronously

WdfIoTargetSendIoctlSynchronously