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.
Código principal
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
WdfIoTargetSendInternalIoctlOthersSynchronously