Partager via


StorPortPoFxPowerControl, fonction (storport.h)

La routine StorPortPoFxPowerControl envoie une demande de contrôle d’alimentation à l’infrastructure de gestion de l’alimentation (PoFx) pour la transférer au plug-in du moteur d’alimentation (PEP).

Syntaxe

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

Paramètres

[in] HwDeviceExtension

Pointeur vers l’extension de périphérique matériel pour l’adaptateur de bus hôte (HBA). Il s’agit de l’extension d’appareil utilisée pour inscrire l’appareil dans un appel antérieur à StorPortInitializePoFxPower.

Address

Pointeur vers le code de contrôle d’alimentation. Ce code est une valeur GUID qui spécifie l’opération demandée.

[in] PowerControlCode

Pointeur vers le code de contrôle d’alimentation. Ce code est une valeur GUID qui spécifie l’opération demandée.

[in, optional] InBuffer

Pointeur vers une mémoire tampon allouée à l’appelant qui contient les données d’entrée pour l’opération. Le format des données de cette mémoire tampon dépend du code de contrôle d’alimentation spécifié par le paramètre PowerControlCode . Le paramètre InBuffer est facultatif et peut être spécifié en tant que NULL si l’opération spécifiée ne nécessite aucune donnée d’entrée.

[in] InBufferSize

Taille, en octets, de la mémoire tampon d’entrée pointée par le paramètre InBuffer . Si InBuffer a la valeur NULL, définissez InBufferSize sur zéro.

[out, optional] OutBuffer

Pointeur vers une mémoire tampon allouée à l’appelant qui doit contenir les données de sortie de l’opération. Le format des données de cette mémoire tampon dépend du code de contrôle d’alimentation spécifié par le paramètre PowerControlCode . Le paramètre OutBuffer est facultatif et peut être spécifié en tant que NULL si l’opération spécifiée ne produit aucune donnée de sortie.

[in] OutBufferSize

Taille, en octets, de la mémoire tampon de sortie pointée par le paramètre OutBuffer . Si OutBuffer a la valeur NULL, définissez OutBufferSize sur zéro.

[out, optional] BytesReturned

Pointeur vers un emplacement dans lequel la routine écrit le nombre d’octets de données écrites dans la mémoire tampon pointée par OutBuffer. Le nombre d’octets écrits est inférieur ou égal à OutBufferSize. Ce paramètre est facultatif et peut être spécifié comme NULL si l’appelant n’a pas besoin de savoir combien d’octets ont été écrits dans la mémoire tampon de sortie.

Valeur retournée

La routine StorPortPoFxPowerControl retourne l’un des codes status suivants :

Code de retour Description
STOR_STATUS_SUCCESS
L’opération de contrôle d’alimentation spécifiée dans PowerControlCode a été exécutée avec succès.
STOR_STATUS_INVALID_PARAMETER
HwDeviceExtension ou Device a la valeur NULL.

-ou-

L’adresse pointe vers une structure d’adresse d’unité non valide.

-ou-

Le périphérique de stockage spécifié par Address est introuvable.

STOR_STATUS_INVALID_DEVICE_REQUEST
Le périphérique de stockage n’est pas inscrit auprès de PoFx.
STOR_STATUS_INVALID_IRQL
> DISPATCH_LEVEL IRQL actuel.
STOR_STATUS_UNSUCCESSFUL
L’opération de contrôle d’alimentation a échoué.

Remarques

Un pilote minport appelle cette routine pour envoyer une demande de contrôle d’alimentation directement au PEP. Une demande de contrôle d’alimentation est similaire à une demande de contrôle d’E/S (IOCTL). Contrairement à un IOCTL, toutefois, une demande de contrôle d’alimentation est envoyée directement à PEP et n’est pas observée par d’autres pilotes de périphérique dans la pile de périphériques. Pendant un appel StorPortPoFxPowerControl , le PEP effectue de manière synchrone l’opération demandée.

De même, le PEP peut envoyer une demande de contrôle d’alimentation directement au miniport. Le pilote miniport gère cette requête dans ses routines HwStorAdapterControl et HwStorUnitControl . Le paramètre ControlType reçoit le type ScsiAdapterPoFxPowerControl dans la routine HwStorAdapterControl et le type ScsiUnitPoFxPowerControl dans la routine HwStorUnitControl .

Configuration requise

Condition requise Valeur
Client minimal pris en charge Disponible dans à partir de Windows 8.
Plateforme cible Universal
En-tête storport.h
Bibliothèque Storport.lib
IRQL <= DISPATCH_LEVEL

Voir aussi

HwStorAdapterControl

HwStorUnitControl