struttura PEP_ACPI_EVALUATE_CONTROL_METHOD (pepfx.h)
La struttura PEP_ACPI_EVALUATE_CONTROL_METHOD specifica un metodo di controllo ACPI da valutare, un argomento di input da fornire a questo metodo e un buffer di output per il risultato della valutazione.
Sintassi
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;
Membri
DeviceHandle
Valore PEPHANDLE che identifica la registrazione del dispositivo per i servizi ACPI. Il plug-in di estensione della piattaforma (PEP) ha fornito questo handle in risposta a una notifica di PEP_NOTIFY_ACPI_REGISTER_DEVICE precedente.
RequestFlags
Set di flag. Questo membro contiene uno dei valori seguenti.
Nome flag | Valore | Significato |
---|---|---|
PEP_ACPI_ECM_FLAG_NONE | 0x0 | Nome del metodo di controllo non valido. |
PEP_ACPI_ECM_FLAG_RELATIVE_NAME | 0x1 | Il membro MethodNameUlong contiene un nome del metodo di controllo relativo al percorso. |
PEP_ACPI_ECM_FLAG_FULLY_QUALIFIED_NAME | 0x2 | Il membro MethodNameString contiene un nome completo del metodo di controllo. |
MethodName
Valore ULONG che contiene il nome relativo a quattro caratteri del metodo di controllo ACPI.
MethodNameString
Struttura ANSI_STRING che contiene il nome completo del metodo di controllo ACPI. Questo nome specifica il percorso e il nome del metodo nello spazio dei nomi ACPI. Per altre informazioni, vedere enumerare i dispositivi figlio e i metodi di controllo.
MethodStatus
Valore NTSTATUS che indica lo stato della valutazione del metodo di controllo ACPI. Impostare questo membro su STATUS_SUCCESS per indicare che il plug-in di estensione della piattaforma (PEP) ha completato correttamente la valutazione del metodo. Impostare su STATUS_NOT_SUPPORTED per indicare che il PEP non riconosce il metodo di controllo. Impostare su STATUS_BUFFER_TOO_SMALL per indicare che le dimensioni del buffer di output specificate dal membro InputArgumentSize non sono sufficienti per contenere i risultati del metodo.
Se il PEP deve valutare il metodo in modo asincrono, impostare questo membro su STATUS_PENDING e restituire dal callback AcceptAcpiNotification. Successivamente, al termine della valutazione, il PEP chiama la routine CompleteWork per notificare al framework di risparmio energia di Windows (PoFx) che la valutazione del metodo di controllo è stata completata.
CompletionContext
Puntatore a un valore del contesto di completamento. Il PEP usa questo membro solo se il metodo di controllo viene valutato in modo asincrono. In questo caso, il PEP fornisce questo puntatore al contesto di completamento nella chiamata alla routine CompleteWork che notifica al framework di risparmio energia di Windows (PoFx) che la valutazione del metodo di controllo è stata completata. Incluso nei parametri di input per questa chiamata è un puntatore a una struttura PEP_WORK_ACPI_EVALUATE_CONTROL_METHOD_COMPLETE a cui il PEP ha scritto il puntatore di contesto di completamento. Il contesto è opaco per il PEP e contiene i dati usati internamente da PoFx.
InputArgumentCount
Numero di argomenti di input nel buffer di input a cui punta il InputArguments membro. Ogni argomento inizia con una struttura ACPI_METHOD_ARGUMENT che specifica le dimensioni dell'argomento. Attualmente, il valore massimo InputArgumentCount è uno.
InputArgumentSize
Dimensioni, in byte, del buffer di input a cui punta il InputArguments membro.
InputArguments
Puntatore a un buffer di input contenente una struttura ACPI_METHOD_ARGUMENT che specifica l'argomento di input per il metodo di controllo ACPI specificato.
OutputArgumentCount
Numero di argomenti di output nel buffer di output a cui punta il membro OutputArguments. Ogni argomento inizia con una struttura ACPI_METHOD_ARGUMENT che specifica le dimensioni dell'argomento. Attualmente, il valore massimo consentito OutputArgumentCount è uno.
OutputArgumentSize
In caso di input, le dimensioni, in byte, del buffer di output a cui punta il membro OutputArguments. Se questo buffer non è sufficientemente grande da contenere il risultato della valutazione del metodo, il PEP sovrascrive il OutputArgumentSize valore di input con le dimensioni necessarie e imposta il membro MethodStatus su STATUS_BUFFER_TOO_SMALL.
OutputArguments
Puntatore a un buffer di output in cui pep scrive una struttura ACPI_METHOD_ARGUMENT che contiene il risultato della valutazione del metodo di controllo ACPI specificato.
Osservazioni
Questa struttura viene utilizzata dalla notifica di PEP_NOTIFY_ACPI_EVALUATE_CONTROL_METHOD. Il membro MethodStatus contiene un valore di output che il PEP scrive nella struttura in risposta a questa notifica. Il membro OutputArgumentSize contiene un valore di input fornito da PoFx quando viene inviata la notifica. Il PEP può sovrascrivere questo valore di input con un valore di output se il valore di input è minore delle dimensioni necessarie del buffer di output. Tutti gli altri membri di questa struttura contengono valori di input forniti da PoFx quando viene inviata la notifica.
L'unione senza nome in questa struttura contiene il nome del metodo di controllo relativo al percorso a quattro caratteri (se RequestFlags = PEP_ACPI_ECM_FLAG_RELATIVE_NAME) o il nome del metodo di controllo completo (se RequestFlags = PEP_ACPI_ECM_FLAG_FULLY_QUALIFIED_NAME).
Fabbisogno
Requisito | Valore |
---|---|
client minimo supportato | Supportato a partire da Windows 10. |
intestazione | pepfx.h (include Pep_x.h) |