PEP_ACPI_EVALUATE_CONTROL_METHOD struttura (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;
Members
DeviceHandle
Valore PEPHANDLE che identifica la registrazione del dispositivo per i servizi ACPI. Il plug-in dell'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 | Non un nome del metodo di controllo 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 del metodo di controllo completo. |
MethodName
Valore ULONG contenente il nome a quattro caratteri del metodo di controllo ACPI.
MethodNameString
Struttura ANSI_STRING contenente 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 Enumerazione di dispositivi figlio e 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 dell'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 gestione energia di Windows (PoFx) che la valutazione del metodo di controllo è stata completata.
CompletionContext
Puntatore a un valore di 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 gestione 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 del contesto di completamento. Il contesto è opaco al PEP e contiene i dati usati internamente da PoFx.
InputArgumentCount
Numero di argomenti di input nel buffer di input a cui punta il membro InputArguments . Ogni argomento inizia con una struttura ACPI_METHOD_ARGUMENT che specifica le dimensioni dell'argomento. Attualmente, il valore massimo di InputArgumentCount è uno.
InputArgumentSize
Dimensioni, in byte, del buffer di input a cui punta il membro InputArguments .
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 fa riferimento 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 input, le dimensioni, in byte, del buffer di output a cui fa riferimento il membro OutputArguments . Se questo buffer non è abbastanza grande per contenere il risultato della valutazione del metodo, PEP sovrascrive il valore di input OutputArgumentSize con le dimensioni necessarie e imposta il membro MethodStatus su STATUS_BUFFER_TOO_SMALL.
OutputArguments
Puntatore a un buffer di output in cui il PEP scrive una struttura ACPI_METHOD_ARGUMENT contenente il risultato della valutazione del metodo di controllo ACPI specificato.
Commenti
Questa struttura viene usata 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 del buffer di output necessarie. 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 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).
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Supportato a partire da Windows 10. |
Intestazione | pepfx.h (includere Pep_x.h) |