функция обратного вызова ACPI_OP_REGION_HANDLER (oprghdlr.h)

Подпрограмма с ACPI_OP_REGION_HANDLER типом предоставляется драйвером функции устройства ACPI для предоставления доступа драйвером ACPI к области работы устройства.

Синтаксис

ACPI_OP_REGION_HANDLER AcpiOpRegionHandler;

NTSTATUS AcpiOpRegionHandler(
  ULONG AccessType,
  PVOID OperationRegionObject,
  ULONG Address,
  ULONG Size,
  PULONG Data,
  ULONG_PTR Context,
  PACPI_OP_REGION_CALLBACK CompletionHandler,
  PVOID CompletionContext
)
{...}

Параметры

AccessType

Указывает один из следующих типов доступа:

Тип доступа Описание
ACPI_OPREGION_WRITE Запись в буфер памяти области операции.
ACPI_OPREGION_READ Чтение из буфера памяти области операции.

OperationRegionObject

Указывает объект области операции, возвращаемый RegisterOpRegionHandler для обработчика области операции.

Address

Задает смещение байтов в буфере памяти области операции. В зависимости от типа доступа данные передаются в это расположение памяти или из нее.

Size

Указывает количество байтов для доступа.

Data

Указатель на буфер данных, предоставляемый драйвером ACPI, связанным с доступом. Для доступа на чтение байты передаются из буфера памяти области операции в буфер данных. Для доступа на запись байты передаются из буфера данных в буфер памяти области операции.

Context

Указатель на тот же контекст области операции, что и драйвер функции, указанный при регистрации обработчика области операции.

CompletionHandler

Зарезервировано для внутреннего использования.

CompletionContext

Зарезервировано для внутреннего использования.

Возвращаемое значение

Возвращает одно из следующих значений состояния:

Код возврата Описание
STATUS_SUCCESS Доступ был успешным.
STATUS_INVALID_DEVICE_REQUEST Недопустимый тип доступа.
STATUS_Xxx Внутренняя ошибка.

Примечания

Когда драйвер ACPI вызывает обработчик области операции, он задает значения для адреса и размера , которые гарантируют, что доступ находится в области операции, определенной в BIOS ACPI для устройства ACPI. Драйвер функции устройства ACPI должен убедиться, что выделенный буфер памяти области операций не менее велик в байтах в качестве области операции, определенной для устройства ACPI.

Дополнительные сведения о обработчиках областей операций см. в разделе "Поддержка региона операции".

Подпрограмма с типом ACPI_OP_REGION_HANDLER выполняется в IRQL вызывающего объекта.

Подробные сведения об ограничениях в регионах операций см. в спецификации Advanced Configuration and Power Interface (ACPI).

Требования

   
Целевая платформа Рабочий стол
Заголовок oprghdlr.h (include Oprghdlr.h)

См. также

DeRegisterOpRegionHandler