Compartilhar via


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

O driver deve fornecer um manipulador de região de operação, que é um retorno de chamada 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 do ACPI é definida pelo fornecedor e específica do dispositivo. Em geral, o driver de função e os índices de acesso do ACPI BIOS em uma região de operação que resultam em operações específicas do dispositivo e retornam quaisquer informações apropriadas.

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 . Se o acesso for uma gravação, os dados serão transferidos do buffer de dados para o buffer de memória da região de operação. Consulte Acessando uma região de operação.

  • O endereço especifica um deslocamento de bytes no buffer de memória da região da operação.

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

  • Os dados especificam um buffer fornecido pelo driver ACPI para a transferência de dados.

  • O contexto especifica o contexto da região de operação que o driver registrou para o manipulador de região de operação.

    O contexto da região da 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 manipulador de região de operação ponteiros para o seguinte: um objeto de região de operação, um manipulador de conclusão e um contexto de conclusão. No entanto, o driver de função não usa o objeto de região de operação em um manipulador, e o manipulador de conclusão e o contexto são reservados para uso interno.