Partager via


PEP_ACPI_EVALUATE_CONTROL_METHOD structure (pep_x.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

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 des 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 la mémoire tampon de sortie spécifiée par le membre InputArgumentSize n’est pas suffisamment grande pour contenir les résultats de la méthode.

Si le pep doit évaluer la méthode de façon asynchrone, définissez ce membre sur STATUS_PENDING et retournez à 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 façon asynchrone. Dans ce cas, le pep fournit ce pointeur de contexte d’achèvement dans l’appel à la routine CompleteWork qui informe l’infrastructure de gestion de l’alimentation Windows (PoFx) que l’évaluation de la méthode de contrôle est terminée. Inclus dans les paramètres d’entrée de cet appel est 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 inputArgumentCount maximale est de 1.

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 de 1.

OutputArgumentSize

Lors de l’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 suffisamment grande pour contenir le résultat de l’évaluation de la méthode, le pep remplace la valeur d’entrée OutputArgumentSize par 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 fournies par PoFx lors de l’envoi de la notification.

Cette structure définit une union sans nom qui 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 pep_x.h (include Pep_x.h)

Voir aussi