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 transférer vers le 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 précédent à 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 par l’appelant qui contient les données d’entrée 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 InBuffer est facultatif et peut être spécifié comme 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 par 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é comme 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 qui ont été écrits 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 de retour

La routine StorPortPoFxPowerControl retourne l’un des codes d’état suivants :

Retourner le code 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-

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

-ou-

L’appareil de stockage spécifié par adresse est introuvable.

STOR_STATUS_INVALID_DEVICE_REQUEST
L’appareil de stockage n’est pas inscrit auprès de PoFx.
STOR_STATUS_INVALID_IRQL
La > DISPATCH_LEVEL IRQL actuelle.
STOR_STATUS_UNSUCCESSFUL
L’opération de contrôle d’alimentation a échoué.

Remarques

Un pilote miniport 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 d’appareils. Pendant un appel StorPortPoFxPowerControl, le pep effectue de façon 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 la routine ScsiUnitPoFxPowerControl dans la routine HwStorUnitControl.

Exigences

Exigence Valeur
client minimum pris en charge Disponible à partir de Windows 8.
plateforme cible Universel
d’en-tête storport.h
bibliothèque Storport.lib
IRQL <= DISPATCH_LEVEL

Voir aussi

HwStorAdapterControl

HwStorUnitControl