struttura PEP_ACPI_EVALUATE_CONTROL_METHOD (pep_x.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 di estensione della piattaforma (PEP) ha fornito questo handle in risposta a una notifica PEP_NOTIFY_ACPI_REGISTER_DEVICE precedente.
RequestFlags
Set di flag. Questo membro contiene uno dei valori seguenti.
Nome contrassegno | 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 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 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 di contesto di completamento. Il PEP utilizza 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 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
Dimensione, 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 punta il membro OutputArguments . Ogni argomento inizia con una struttura ACPI_METHOD_ARGUMENT che specifica le dimensioni dell'argomento. Attualmente, il valore massimo consentito di OutputArgumentCount è uno.
OutputArgumentSize
In base all'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 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 pep scrive una struttura ACPI_METHOD_ARGUMENT che contiene il risultato della valutazione del metodo di controllo ACPI specificato.
Commenti
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 del buffer di output necessarie. Tutti gli altri membri di questa struttura contengono valori di input forniti da PoFx quando viene inviata la notifica.
Questa struttura definisce un'unione senza nome che 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).
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Supportato a partire da Windows 10. |
Intestazione | pep_x.h (includere Pep_x.h) |