Función StorPortPoFxPowerControl (storport.h)
La rutina StorPortPoFxPowerControl envía una solicitud de control de energía al marco de administración de energía (PoFx) para reenviar al complemento del motor de alimentación (PEP).
Sintaxis
ULONG StorPortPoFxPowerControl(
[in] PVOID HwDeviceExtension,
PSTOR_ADDRESS Address,
[in] LPCGUID PowerControlCode,
[in, optional] PVOID InBuffer,
[in] SIZE_T InBufferSize,
[out, optional] PVOID OutBuffer,
[in] SIZE_T OutBufferSize,
[out, optional] PSIZE_T BytesReturned
);
Parámetros
[in] HwDeviceExtension
Puntero a la extensión de dispositivo de hardware para el adaptador de bus host (HBA). Esta es la extensión de dispositivo que se usa para registrar el dispositivo en una llamada anterior a StorPortInitializePoFxPower.
Address
Puntero al código de control de energía. Este código es un valor GUID que especifica la operación solicitada.
[in] PowerControlCode
Puntero al código de control de energía. Este código es un valor GUID que especifica la operación solicitada.
[in, optional] InBuffer
Puntero a un búfer asignado por el autor de la llamada que contiene los datos de entrada de la operación. El formato de los datos de este búfer depende del código de control de energía especificado por el parámetro PowerControlCode . El parámetro InBuffer es opcional y se puede especificar como NULL si la operación especificada no requiere datos de entrada.
[in] InBufferSize
Tamaño, en bytes, del búfer de entrada al que apunta el parámetro InBuffer . Si InBuffer es NULL, establezca InBufferSize en cero.
[out, optional] OutBuffer
Puntero a un búfer asignado por el autor de la llamada que va a contener los datos de salida de la operación. El formato de los datos de este búfer depende del código de control de energía especificado por el parámetro PowerControlCode . El parámetro OutBuffer es opcional y se puede especificar como NULL si la operación especificada no genera datos de salida.
[in] OutBufferSize
Tamaño, en bytes, del búfer de salida al que apunta el parámetro OutBuffer . Si OutBuffer es NULL, establezca OutBufferSize en cero.
[out, optional] BytesReturned
Puntero a una ubicación en la que la rutina escribe el número de bytes de datos escritos en el búfer al que apunta OutBuffer. El número de bytes escritos será menor o igual que OutBufferSize. Este parámetro es opcional y se puede especificar como NULL si el autor de la llamada no necesita saber cuántos bytes se escribieron en el búfer de salida.
Valor devuelto
La rutina StorPortPoFxPowerControl devuelve uno de estos códigos de estado:
Código devuelto | Descripción |
---|---|
|
La operación de control de energía especificada en PowerControlCode se ejecutó correctamente. |
|
HwDeviceExtension o Device es NULL.
O bien La dirección apunta a una estructura de direcciones de unidad no válida. O bien No se encuentra el dispositivo de almacenamiento especificado por Address . |
|
El dispositivo de almacenamiento no está registrado con PoFx. |
|
> DISPATCH_LEVEL irQL actual. |
|
La operación de control de energía no se realizó correctamente. |
Comentarios
Un controlador minport llama a esta rutina para enviar una solicitud de control de energía directamente al PEP. Una solicitud de control de energía es similar a una solicitud de control de E/S (IOCTL). A diferencia de un IOCTL, sin embargo, una solicitud de control de energía se envía directamente a PEP y no se observa mediante otros controladores de dispositivo de la pila de dispositivos. Durante una llamada a StorPortPoFxPowerControl , el PEP realiza de forma sincrónica la operación solicitada.
Del mismo modo, el PEP puede enviar una solicitud de control de energía directamente a la minipuerto. El controlador de minipuerto controla esta solicitud en sus rutinas HwStorAdapterControl y HwStorUnitControl . El parámetro ControlType recibe el tipo ScsiAdapterPoFxPowerControl en la rutina HwStorAdapterControl y ScsiUnitPoFxPowerControl en la rutina HwStorUnitControl .
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Disponible en a partir de Windows 8. |
Plataforma de destino | Universal |
Encabezado | storport.h |
Library | Storport.lib |
IRQL | <= DISPATCH_LEVEL |