PEP_ACPI_EVALUATE_CONTROL_METHOD Struktur (pep_x.h)
Die PEP_ACPI_EVALUATE_CONTROL_METHOD-Struktur gibt eine ACPI-Steuerelementmethode an, die ausgewertet werden soll, ein Eingabeargument, das an diese Methode übergeben 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;
Angehörige
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 Name der Steuerelementmethode. |
PEP_ACPI_ECM_FLAG_RELATIVE_NAME | 0x1 | Das element MethodNameUlong enthält einen pfadrelativen Steuerelementmethodennamen. |
PEP_ACPI_ECM_FLAG_FULLY_QUALIFIED_NAME | 0x2 | Das element MethodNameString 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-Steuerelementmethode enthält. Dieser Name gibt den Pfad und den Namen der Methode im ACPI-Namespace an. Weitere Informationen finden Sie unter Aufzählen untergeordneter Geräte und Steuerelementmethoden.
MethodStatus
Ein NTSTATUS-Wert, der den Status der Auswertung der ACPI-Kontrollmethode angibt. Legen Sie dieses Element auf STATUS_SUCCESS fest, um anzugeben, dass das Plattformerweiterungs-Plug-In (PEP) die Bewertung der Methode erfolgreich abgeschlossen hat. Legen Sie auf STATUS_NOT_SUPPORTED fest, um anzugeben, dass die PEP die Steuerelementmethode nicht erkennt. Legen Sie auf STATUS_BUFFER_TOO_SMALL fest, um anzugeben, dass die durch das InputArgumentSize Member angegebene Ausgabepuffergröße nicht groß genug ist, um die Methodenergebnisse zu enthalten.
Wenn die PEP die Methode asynchron auswerten soll, legen Sie dieses Element auf STATUS_PENDING fest und geben sie vom AcceptAcpiNotification Rückruf zurück. Nach Abschluss der Auswertung ruft der PEP die CompleteWork Routine auf, um das Windows Power Management Framework (PoFx) zu benachrichtigen, dass die Auswertung der Steuerungsmethode abgeschlossen ist.
CompletionContext
Ein Zeiger auf einen Abschlusskontextwert. Der PEP verwendet dieses Element nur, wenn die Steuerelementmethode asynchron ausgewertet wird. In diesem Fall stellt der PEP diesen Abschlusskontextzeiger 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 ist ein Zeiger auf eine PEP_WORK_ACPI_EVALUATE_CONTROL_METHOD_COMPLETE Struktur, in die der PEP den Kontextzeiger für den Abschluss geschrieben hat. Der Kontext ist undurchsichtig für den PEP und enthält Daten, die intern von PoFx verwendet werden.
InputArgumentCount
Die Anzahl der Eingabeargumente im Eingabepuffer, auf die vom InputArguments Member verwiesen wird. Jedes Argument beginnt mit einer ACPI_METHOD_ARGUMENT Struktur, die die Größe des Arguments angibt. Derzeit ist der maximal InputArgumentCount Wert ein Wert.
InputArgumentSize
Die Größe des Eingabepuffers in Bytes, auf die vom InputArguments Member verwiesen wird.
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 vom OutputArguments Member verwiesen wird. Jedes Argument beginnt mit einer ACPI_METHOD_ARGUMENT Struktur, die die Größe des Arguments angibt. Derzeit ist der maximal zulässige OutputArgumentCount Wert ein Wert.
OutputArgumentSize
Bei Eingaben weist die Größe des Ausgabepuffers in Byte auf das OutputArguments Member hin. Wenn dieser Puffer nicht groß genug ist, um das Ergebnis der Auswertung der Methode zu enthalten, überschreibt der PEP das 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 der PEP eine ACPI_METHOD_ARGUMENT Struktur schreibt, die das Ergebnis der Auswertung der angegebenen ACPI-Steuerelementmethode enthält.
Bemerkungen
Diese Struktur wird von der PEP_NOTIFY_ACPI_EVALUATE_CONTROL_METHOD-Benachrichtigung verwendet. Der MethodStatus Member enthält einen Ausgabewert, den der PEP als Reaktion auf diese Benachrichtigung in die Struktur schreibt. Das OutputArgumentSize Member enthält einen Von PoFx bereitgestellten Eingabewert, wenn die Benachrichtigung gesendet 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 beim Senden der Benachrichtigung bereitgestellt werden.
Diese Struktur definiert eine nicht benannte Union, die entweder den Namen der vierstelligen pfadrelativen Steuerelementmethode enthält (wenn RequestFlags = PEP_ACPI_ECM_FLAG_RELATIVE_NAME) oder den vollqualifizierten Steuerelementmethodennamen (wenn RequestFlags = PEP_ACPI_ECM_FLAG_FULLY_QUALIFIED_NAME).
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Wird ab Windows 10 unterstützt. |
Header- | pep_x.h (einschließen Pep_x.h) |