structure PEP_ACPI_EVALUATE_CONTROL_METHOD (pepfx.h)
La structure PEP_ACPI_EVALUATE_CONTROL_METHOD spécifie une méthode de contrôle ACPI à évaluer, un argument d’entrée à fournir à cette méthode et une mémoire tampon de sortie pour le résultat de l’évaluation.
Syntaxe
typedef struct _PEP_ACPI_EVALUATE_CONTROL_METHOD {
PEPHANDLE DeviceHandle;
ULONG RequestFlags;
union {
ULONG MethodName;
ANSI_STRING MethodNameString;
};
NTSTATUS MethodStatus;
PVOID CompletionContext;
ULONG InputArgumentCount;
SIZE_T InputArgumentSize;
PACPI_METHOD_ARGUMENT InputArguments;
ULONG OutputArgumentCount;
SIZE_T OutputArgumentSize;
PACPI_METHOD_ARGUMENT OutputArguments;
} PEP_ACPI_EVALUATE_CONTROL_METHOD, *PPEP_ACPI_EVALUATE_CONTROL_METHOD;
Membres
DeviceHandle
Valeur PEPHANDLE qui identifie l’inscription de l’appareil pour les services ACPI. Le plug-in d’extension de plateforme (PEP) a fourni ce handle en réponse à une notification PEP_NOTIFY_ACPI_REGISTER_DEVICE précédente.
RequestFlags
Ensemble d’indicateurs. Ce membre contient l’une des valeurs suivantes.
Nom de l’indicateur | Valeur | Signification |
---|---|---|
PEP_ACPI_ECM_FLAG_NONE | 0x0 | Nom de méthode de contrôle non valide. |
PEP_ACPI_ECM_FLAG_RELATIVE_NAME | 0x1 | Le membre MethodNameUlong contient un nom de méthode de contrôle relatif au chemin d’accès. |
PEP_ACPI_ECM_FLAG_FULLY_QUALIFIED_NAME | 0x2 | Le membre MethodNameString contient un nom de méthode de contrôle complet. |
MethodName
Valeur ULONG qui contient le nom relatif de chemin d’accès à quatre caractères de la méthode de contrôle ACPI.
MethodNameString
Une structure ANSI_STRING qui contient le nom complet de la méthode de contrôle ACPI. Ce nom spécifie le chemin d’accès et le nom de la méthode dans l’espace de noms ACPI. Pour plus d’informations, consultez Énumération d’appareils enfants et méthodes de contrôle.
MethodStatus
Valeur NTSTATUS qui indique la status de l’évaluation de la méthode de contrôle ACPI. Définissez ce membre sur STATUS_SUCCESS pour indiquer que le plug-in d’extension de plateforme (PEP) a réussi son évaluation de la méthode. Définissez sur STATUS_NOT_SUPPORTED pour indiquer que le PEP ne reconnaît pas la méthode de contrôle. Définissez sur STATUS_BUFFER_TOO_SMALL pour indiquer que la taille de mémoire tampon de sortie spécifiée par le membre InputArgumentSize n’est pas assez grande pour contenir les résultats de la méthode.
Si le PEP doit évaluer la méthode de manière asynchrone, définissez ce membre sur STATUS_PENDING et retourne à partir du rappel AcceptAcpiNotification . Plus tard, une fois l’évaluation terminée, le PEP appelle la routine CompleteWork pour informer l’infrastructure de gestion de l’alimentation Windows (PoFx) que l’évaluation de la méthode de contrôle est terminée.
CompletionContext
Pointeur vers une valeur de contexte d’achèvement. Le PEP utilise ce membre uniquement si la méthode de contrôle est évaluée de manière asynchrone. Dans ce cas, le PEP fournit ce pointeur de contexte d’achèvement dans l’appel à la routine CompleteWork qui avertit l’infrastructure de gestion de l’alimentation Windows (PoFx) que l’évaluation de la méthode de contrôle est terminée. Les paramètres d’entrée de cet appel incluent un pointeur vers une structure PEP_WORK_ACPI_EVALUATE_CONTROL_METHOD_COMPLETE dans laquelle le PEP a écrit le pointeur de contexte d’achèvement. Le contexte est opaque au PEP et contient des données utilisées en interne par PoFx.
InputArgumentCount
Nombre d’arguments d’entrée dans la mémoire tampon d’entrée pointée par le membre InputArguments . Chaque argument commence par une structure ACPI_METHOD_ARGUMENT qui spécifie la taille de l’argument. Actuellement, la valeur maximale d’InputArgumentCount est une.
InputArgumentSize
Taille, en octets, de la mémoire tampon d’entrée pointée par le membre InputArguments .
InputArguments
Pointeur vers une mémoire tampon d’entrée qui contient une structure ACPI_METHOD_ARGUMENT qui spécifie l’argument d’entrée pour la méthode de contrôle ACPI spécifiée.
OutputArgumentCount
Nombre d’arguments de sortie dans la mémoire tampon de sortie pointée par le membre OutputArguments . Chaque argument commence par une structure ACPI_METHOD_ARGUMENT qui spécifie la taille de l’argument. Actuellement, la valeur maximale autorisée OutputArgumentCount est une.
OutputArgumentSize
En entrée, la taille, en octets, de la mémoire tampon de sortie pointée par le membre OutputArguments . Si cette mémoire tampon n’est pas assez grande pour contenir le résultat de l’évaluation de la méthode, le PEP remplace la valeur d’entrée OutputArgumentSize avec la taille requise et définit le membre MethodStatus sur STATUS_BUFFER_TOO_SMALL.
OutputArguments
Pointeur vers une mémoire tampon de sortie dans laquelle le PEP écrit une structure de ACPI_METHOD_ARGUMENT qui contient le résultat de l’évaluation de la méthode de contrôle ACPI spécifiée.
Remarques
Cette structure est utilisée par la notification PEP_NOTIFY_ACPI_EVALUATE_CONTROL_METHOD . Le membre MethodStatus contient une valeur de sortie que le PEP écrit dans la structure en réponse à cette notification. Le membre OutputArgumentSize contient une valeur d’entrée fournie par PoFx lors de l’envoi de la notification. Le PEP peut remplacer cette valeur d’entrée par une valeur de sortie si la valeur d’entrée est inférieure à la taille de mémoire tampon de sortie requise. Tous les autres membres de cette structure contiennent des valeurs d’entrée qui sont fournies par PoFx lors de l’envoi de la notification.
L’union sans nom dans cette structure contient le nom de la méthode de contrôle relative au chemin d’accès à quatre caractères (si RequestFlags = PEP_ACPI_ECM_FLAG_RELATIVE_NAME) ou le nom de la méthode de contrôle complète (si RequestFlags = PEP_ACPI_ECM_FLAG_FULLY_QUALIFIED_NAME).
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Pris en charge à partir de Windows 10. |
En-tête | pepfx.h (include Pep_x.h) |