estrutura PEP_ACPI_EVALUATE_CONTROL_METHOD (pepfx.h)
A estrutura PEP_ACPI_EVALUATE_CONTROL_METHOD especifica um método de controle ACPI a ser avaliado, um argumento de entrada a ser fornecido a esse método e um buffer de saída para o resultado da avaliação.
Sintaxe
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;
Membros
DeviceHandle
Um valor PEPHANDLE que identifica o registro do dispositivo para serviços ACPI. O PEP (plug-in de extensão de plataforma) forneceu esse identificador em resposta a uma notificação de PEP_NOTIFY_ACPI_REGISTER_DEVICE anterior.
RequestFlags
Um conjunto de sinalizadores. Esse membro contém um dos valores a seguir.
Nome do sinalizador | Valor | Significado |
---|---|---|
PEP_ACPI_ECM_FLAG_NONE | 0x0 | Não é um nome de método de controle válido. |
PEP_ACPI_ECM_FLAG_RELATIVE_NAME | 0x1 | O membro MethodNameUlong contém um nome de método de controle relativo de caminho. |
PEP_ACPI_ECM_FLAG_FULLY_QUALIFIED_NAME | 0x2 | O membro MethodNameString contém um nome de método de controle totalmente qualificado. |
MethodName
Um valor ULONG que contém o nome relativo de caminho de quatro caracteres do método de controle ACPI.
MethodNameString
Uma estrutura ANSI_STRING que contém o nome totalmente qualificado do método de controle ACPI. Esse nome especifica o caminho e o nome do método no namespace acpi. Para obter mais informações, consulte Enumerando dispositivos filho e métodos de controle.
MethodStatus
Um valor NTSTATUS que indica o status da avaliação do método de controle ACPI. Defina esse membro como STATUS_SUCCESS para indicar que o PEP (plug-in de extensão de plataforma) concluiu com êxito sua avaliação do método. Defina como STATUS_NOT_SUPPORTED para indicar que o PEP não reconhece o método de controle. Defina como STATUS_BUFFER_TOO_SMALL para indicar que o tamanho do buffer de saída especificado pelo membro InputArgumentSize não é grande o suficiente para conter os resultados do método.
Se o PEP for avaliar o método de forma assíncrona, defina esse membro como STATUS_PENDING e retorne do retorno de chamada AcceptAcpiNotification . Posteriormente, quando a avaliação for concluída, o PEP chamará a rotina CompleteWork para notificar a PoFx ( estrutura de gerenciamento de energia ) do Windows de que a avaliação do método de controle está concluída.
CompletionContext
Um ponteiro para um valor de contexto de conclusão. O PEP usará esse membro somente se o método de controle for avaliado de forma assíncrona. Nesse caso, o PEP fornece esse ponteiro de contexto de conclusão na chamada para a rotina CompleteWork que notifica a PoFx ( estrutura de gerenciamento de energia ) do Windows de que a avaliação do método de controle está concluída. Incluído nos parâmetros de entrada para essa chamada é um ponteiro para uma estrutura PEP_WORK_ACPI_EVALUATE_CONTROL_METHOD_COMPLETE na qual o PEP gravou o ponteiro de contexto de conclusão. O contexto é opaco para o PEP e contém dados usados internamente pelo PoFx.
InputArgumentCount
O número de argumentos de entrada no buffer de entrada apontado pelo membro InputArguments . Cada argumento começa com uma estrutura ACPI_METHOD_ARGUMENT que especifica o tamanho do argumento. Atualmente, o valor máximo de InputArgumentCount é um.
InputArgumentSize
O tamanho, em bytes, do buffer de entrada apontado pelo membro InputArguments .
InputArguments
Um ponteiro para um buffer de entrada que contém uma estrutura ACPI_METHOD_ARGUMENT que especifica o argumento de entrada para o método de controle ACPI especificado.
OutputArgumentCount
O número de argumentos de saída no buffer de saída apontado pelo membro OutputArguments . Cada argumento começa com uma estrutura ACPI_METHOD_ARGUMENT que especifica o tamanho do argumento. Atualmente, o valor máximo permitido de OutputArgumentCount é um.
OutputArgumentSize
Na entrada, o tamanho, em bytes, do buffer de saída apontado pelo membro OutputArguments . Se esse buffer não for grande o suficiente para conter o resultado da avaliação do método, o PEP substituirá o valor de entrada OutputArgumentSize pelo tamanho necessário e definirá o membro MethodStatus como STATUS_BUFFER_TOO_SMALL.
OutputArguments
Um ponteiro para um buffer de saída no qual o PEP grava uma estrutura ACPI_METHOD_ARGUMENT que contém o resultado da avaliação do método de controle ACPI especificado.
Comentários
Essa estrutura é usada pela notificação de PEP_NOTIFY_ACPI_EVALUATE_CONTROL_METHOD . O membro MethodStatus contém um valor de saída que o PEP grava na estrutura em resposta a essa notificação. O membro OutputArgumentSize contém um valor de entrada fornecido pelo PoFx quando a notificação é enviada. O PEP poderá substituir esse valor de entrada por um valor de saída se o valor de entrada for menor que o tamanho do buffer de saída necessário. Todos os outros membros dessa estrutura contêm valores de entrada fornecidos pelo PoFx quando a notificação é enviada.
A união sem nome nessa estrutura contém o nome do método de controle relativo de caminho de quatro caracteres (se RequestFlags = PEP_ACPI_ECM_FLAG_RELATIVE_NAME) ou o nome do método de controle totalmente qualificado (se RequestFlags = PEP_ACPI_ECM_FLAG_FULLY_QUALIFIED_NAME).
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Com suporte começando com Windows 10. |
Cabeçalho | pepfx.h (inclua Pep_x.h) |