Condividi tramite


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)

Vedi anche