PEP_ACPI_EVALUATE_CONTROL_METHOD-Struktur (pep_x.h)
Die PEP_ACPI_EVALUATE_CONTROL_METHOD-Struktur gibt eine auszuwertende ACPI-Steuerungsmethode, ein Eingabeargument für diese Methode und einen Ausgabepuffer für das Ergebnis der Auswertung an.
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
Ein Satz von Flags. Dieser Member 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-Steuerelementmethode enthält. Dieser Name gibt den Pfad und 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 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) zu benachrichtigen, dass die Auswertung der Steuerungsmethode abgeschlossen ist.
CompletionContext
Ein Zeiger auf einen Abschlusskontextwert. Pep verwendet diesen Member nur, wenn die Steuerelementmethode asynchron ausgewertet wird. In diesem Fall stellt 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 enthalten, in die der PEP den Abschlusskontextzeiger 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 der InputArguments-Member verweist. Jedes Argument beginnt mit einer ACPI_METHOD_ARGUMENT-Struktur , die die Größe des Arguments angibt. Derzeit ist der maximale InputArgumentCount-Wert 1.
InputArgumentSize
Die Größe des Eingabepuffers in Bytes, auf den der InputArguments-Member 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 der OutputArguments-Member 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 den MethodStatus-Member 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-Steuerelementmethode 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 bereitgestellt wird, wenn die Benachrichtigung gesendet wird. Der PEP überschreibt diesen Eingabewert möglicherweise mit einem Ausgabewert, 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.
Diese Struktur definiert eine unbenannte Union, die entweder den vierstelligen Namen der pfadrelativen Steuerungsmethode (wenn RequestFlags = PEP_ACPI_ECM_FLAG_RELATIVE_NAME) oder den vollqualifizierten Namen der Steuerungsmethode (wenn RequestFlags = PEP_ACPI_ECM_FLAG_FULLY_QUALIFIED_NAME) enthält.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Unterstützt ab Windows 10. |
Kopfzeile | pep_x.h (Pep_x.h einschließen) |