Freigeben über


PEP_ACPI_EVALUATE_CONTROL_METHOD-Struktur (pepfx.h)

Die PEP_ACPI_EVALUATE_CONTROL_METHOD-Struktur gibt eine ACPI-Steuerungsmethode an, die ausgewertet werden soll, ein Eingabeargument, das für diese Methode bereitgestellt werden soll, und einen Ausgabepuffer für das Ergebnis der Auswertung.

Syntax

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;

Member

DeviceHandle

Ein PEPHANDLE-Wert, der die Registrierung des Geräts für ACPI-Dienste identifiziert. Das Plattformerweiterungs-Plug-In (PEP) hat dieses Handle als Reaktion auf eine vorherige PEP_NOTIFY_ACPI_REGISTER_DEVICE Benachrichtigung bereitgestellt.

RequestFlags

Eine Reihe von Flags. Dieses Element enthält einen der folgenden Werte.

Flagname Wert Bedeutung
PEP_ACPI_ECM_FLAG_NONE 0x0 Kein gültiger Steuerelementmethodenname.
PEP_ACPI_ECM_FLAG_RELATIVE_NAME 0x1 Das MethodNameUlong-Element enthält einen pfadrelativen Steuerelementmethodennamen.
PEP_ACPI_ECM_FLAG_FULLY_QUALIFIED_NAME 0x2 Das MethodNameString-Element enthält einen vollqualifizierten Steuerelementmethodennamen.

MethodName

Ein ULONG-Wert, der den vierstelligen pfadrelativen Namen der ACPI-Steuerelementmethode enthält.

MethodNameString

Eine ANSI_STRING-Struktur , die den vollqualifizierten Namen der ACPI-Steuerungsmethode enthält. Dieser Name gibt den Pfad und den Namen der Methode im ACPI-Namespace an. Weitere Informationen finden Sie unter Auflisten untergeordneter Geräte und Steuerungsmethoden.

MethodStatus

Ein NTSTATUS-Wert, der die status der Auswertung der ACPI-Kontrollmethode angibt. Legen Sie dieses Element auf STATUS_SUCCESS fest, um anzugeben, dass das Plattformerweiterungs-Plug-In (PEP) die Auswertung der Methode erfolgreich abgeschlossen hat. Legen Sie auf STATUS_NOT_SUPPORTED fest, um anzugeben, dass die PEP die Steuerungsmethode nicht erkennt. Legen Sie auf STATUS_BUFFER_TOO_SMALL fest, um anzugeben, dass die vom InputArgumentSize-Member angegebene Ausgabepuffergröße nicht groß genug ist, um die Methodenergebnisse zu enthalten.

Wenn pep die Methode asynchron auswerten soll, legen Sie diesen Member auf STATUS_PENDING fest und kehren vom AcceptAcpiNotification-Rückruf zurück. Später, wenn die Auswertung abgeschlossen ist, ruft pep die CompleteWork-Routine auf, um das Windows Power Management Framework (PoFx) darüber zu informieren, dass die Auswertung der Steuerungsmethode abgeschlossen ist.

CompletionContext

Ein Zeiger auf einen Vervollständigungskontextwert. Das PEP verwendet diesen Member nur, wenn die Steuerungsmethode asynchron ausgewertet wird. In diesem Fall stellt pep diesen Vervollständigungskontextzeiger im Aufruf der CompleteWork-Routine bereit, die das Windows Power Management Framework (PoFx) benachrichtigt, dass die Auswertung der Steuerungsmethode abgeschlossen ist. In den Eingabeparametern für diesen Aufruf enthalten ist ein Zeiger auf eine PEP_WORK_ACPI_EVALUATE_CONTROL_METHOD_COMPLETE Struktur, auf die der PEP den Vervollständigungskontextzeiger geschrieben hat. Der Kontext ist für pep undurchsichtig und enthält daten, die intern von PoFx verwendet werden.

InputArgumentCount

Die Anzahl der Eingabeargumente im Eingabepuffer, auf die das InputArguments-Element verweist. Jedes Argument beginnt mit einer ACPI_METHOD_ARGUMENT-Struktur , die die Größe des Arguments angibt. Derzeit ist der maximale InputArgumentCount-Wert eins.

InputArgumentSize

Die Größe des Eingabepuffers in Bytes, auf die das InputArguments-Element verweist.

InputArguments

Ein Zeiger auf einen Eingabepuffer, der eine ACPI_METHOD_ARGUMENT-Struktur enthält, die das Eingabeargument für die angegebene ACPI-Steuerelementmethode angibt.

OutputArgumentCount

Die Anzahl der Ausgabeargumente im Ausgabepuffer, auf die der OutputArguments-Member verweist. Jedes Argument beginnt mit einer ACPI_METHOD_ARGUMENT-Struktur , die die Größe des Arguments angibt. Derzeit ist der maximal zulässige OutputArgumentCount-Wert eins.

OutputArgumentSize

Bei der Eingabe die Größe des Ausgabepuffers in Bytes, auf die das OutputArguments-Element verweist. Wenn dieser Puffer nicht groß genug ist, um das Ergebnis der Auswertung der Methode zu enthalten, überschreibt PEP den OutputArgumentSize-Eingabewert mit der erforderlichen Größe und legt das MethodStatus-Element auf STATUS_BUFFER_TOO_SMALL fest.

OutputArguments

Ein Zeiger auf einen Ausgabepuffer, in den pep eine ACPI_METHOD_ARGUMENT Struktur schreibt, die das Ergebnis der Auswertung der angegebenen ACPI-Steuerungsmethode enthält.

Hinweise

Diese Struktur wird von der PEP_NOTIFY_ACPI_EVALUATE_CONTROL_METHOD Benachrichtigung verwendet. Das MethodStatus-Element enthält einen Ausgabewert, den pep als Reaktion auf diese Benachrichtigung in die Struktur schreibt. Das OutputArgumentSize-Element enthält einen Eingabewert, der von PoFx beim Senden der Benachrichtigung bereitgestellt wird. Der PEP kann diesen Eingabewert mit einem Ausgabewert überschreiben, wenn der Eingabewert kleiner als die erforderliche Ausgabepuffergröße ist. Alle anderen Member dieser Struktur enthalten Eingabewerte, die von PoFx bereitgestellt werden, wenn die Benachrichtigung gesendet wird.

Die unbenannte Union in dieser Struktur enthält entweder den Namen der vierstelligen pfadrelativen Steuerelementmethode (wenn RequestFlags = PEP_ACPI_ECM_FLAG_RELATIVE_NAME) oder den vollqualifizierten Steuerelementmethodennamen (wenn RequestFlags = PEP_ACPI_ECM_FLAG_FULLY_QUALIFIED_NAME).

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Wird ab Windows 10 unterstützt.
Kopfzeile pepfx.h (einschließlich Pep_x.h)

Weitere Informationen