estrutura ACPI_EVAL_INPUT_BUFFER_COMPLEX_V1_EX (acpiioct.h)

A estrutura ACPI_EVAL_INPUT_BUFFER_COMPLEX_EX é usada como entrada para uma solicitação de IOCTL_ACPI_EVAL_METHOD_EX e para uma solicitação de IOCTL_ACPI_ASYNC_EVAL_METHOD_EX . A estrutura fornece o caminho e o nome de um método de controle em um namespace ACPI e uma matriz de argumentos de entrada de estruturas de ACPI_METHOD_ARGUMENT .

Sintaxe

typedef struct _ACPI_EVAL_INPUT_BUFFER_COMPLEX_V1_EX {
  ULONG                   Signature;
  CHAR                    MethodName[256];
  ULONG                   Size;
  ULONG                   ArgumentCount;
  ACPI_METHOD_ARGUMENT_V1 Argument[ANYSIZE_ARRAY];
} ACPI_EVAL_INPUT_BUFFER_COMPLEX_V1_EX, *PACPI_EVAL_INPUT_BUFFER_COMPLEX_V1_EX, ACPI_EVAL_INPUT_BUFFER_COMPLEX_EX, *PACPI_EVAL_INPUT_BUFFER_COMPLEX_EX;

Membros

Signature

A assinatura de um buffer de entrada complexo estendido, que deve ser definido como ACPI_EVAL_INPUT_BUFFER_COMPLEX_SIGNATURE_EX.

MethodName[256]

Uma cadeia de caracteres ASCII terminada em NULL que contém o caminho e o nome de um método de controle em um namespace ACPI. O número máximo de caracteres que a cadeia de caracteres pode conter, incluindo um terminador NULL, é 256.

Para obter mais informações sobre como fornecer o caminho e o nome de um método de controle, consulte a seção Comentários mais adiante neste tópico.

Size

O número de bytes que a matriz Argument contém.

ArgumentCount

O número de estruturas de ACPI_METHOD_ARGUMENT de comprimento variável que a matriz Argument contém. A matriz Argument pode conter no máximo sete estruturas de argumento.

Argument[ANYSIZE_ARRAY]

Uma matriz de estruturas de ACPI_METHOD_ARGUMENT.

Comentários

Um driver para um dispositivo pode usar uma solicitação IOCTL_ACPI_EVAL_METHOD_EX ou uma solicitação IOCTL_ACPI_ASYNC_EVAL_METHOD_EX para avaliar um método de controle que é um objeto filho descendente do dispositivo. Se o método usar uma matriz complexa de argumentos, essas solicitações receberão uma estrutura de ACPI_EVAL_INPUT_BUFFER_COMPLEX_EX de entrada da seguinte maneira:

  • Defina Assinatura como ACPI_EVAL_INPUT_BUFFER_COMPLEX_SIGNATURE_EX.
  • Defina MethodName como uma cadeia de caracteres terminada em NULL que fornece o caminho completo e o nome para um método de controle no namespace ACPI ou o caminho e o nome do método em relação ao dispositivo ao qual a solicitação de avaliação é enviada.

    Por exemplo, suponha que uma solicitação seja enviada a um dispositivo chamado 'ABCD', que é um filho imediato da raiz de um namespace ACPI, que o dispositivo 'ABCD' dá suporte a um dispositivo filho chamado 'CHLD' e que o dispositivo 'CHLD' dá suporte a um método chamado '_FOO'. Nesse caso, a solicitação de avaliação pode fornecer '\ABCD. CHLD._FOO', que é o caminho totalmente qualificado e o nome do método de controle no namespace acpi, ou "CHLD._FOO", que é o caminho e o nome do método de controle relativo ao dispositivo 'ABCD' no namespace ACPI.

    Para obter mais informações sobre como obter o caminho totalmente qualificado e o nome de um método de controle em um namespace acpi, consulte Enumerando dispositivos filho e métodos de controle.

  • O tamanho é definido como o número de bytes na matriz Argument .
  • ArgumentCount é definido como o número de argumentos na matriz Argument .
  • O argumento é definido como uma matriz de estruturas de ACPI_METHOD_ARGUMENT.
Para obter mais informações sobre como usar essa estrutura, consulte Avaliando métodos de controle ACPI.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows Vista e versões posteriores do Windows.
Cabeçalho acpiioct.h (inclua Acpiioct.h)

Confira também

ACPI_METHOD_ARGUMENT

IOCTL_ACPI_ASYNC_EVAL_METHOD_EX

IOCTL_ACPI_EVAL_METHOD_EX