Partilhar via


Implementando um manipulador de região de operação

O driver deve fornecer um manipulador de região de operação, que é um callback do tipo PACPI_OP_REGION_HANDLER. O driver ACPI chama o manipulador de operação para acessar os campos de dados na região de operação do driver. A operação combinada do driver de função e do BIOS ACPI é definida pelo fornecedor e específica do dispositivo. Em geral, o driver de função acede a índices no BIOS ACPI numa região de operação que permite operações específicas do dispositivo e retorna a informação apropriada.

Um manipulador de região de operação normalmente usa os seguintes parâmetros que o driver ACPI passa para o manipulador:

  • AccessType especifica se o acesso é uma leitura ou gravação.

    Se o acesso for uma leitura, os dados serão transferidos do buffer de memória da região de operação para o buffer de dados de. Se o acesso for uma gravação, os dados serão transferidos do buffer de dados de para o buffer de memória da região de operação. Consulte Acessando uma região de operação.

  • Endereço especifica um deslocamento de byte no buffer de memória da região de operação.

  • Tamanho especifica o número de bytes a serem transferidos.

  • Data especifica um buffer fornecido pelo driver ACPI para a transferência de dados.

  • Contexto especifica o contexto da região de operação que o driver registou para o gestor da região de operação.

    O contexto da região de operação é usado apenas pelo driver de função e é específico do dispositivo.

Além dos parâmetros descritos anteriormente, o driver ACPI também passa para um gestor de região de operação ponteiros para o seguinte: um objeto de região de operação, um gestor de conclusão e um contexto de conclusão. No entanto, o driver de função não utiliza o objeto de região de operação num manipulador, e o manipulador de conclusão e o contexto são reservados para uso interno.