функция обратного вызова 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 вызывает обработчик области операций, он задает значения для адреса и размера , которые гарантируют, что доступ находится в области операции, определенной в ACPI BIOS для устройства ACPI. Драйвер функции устройства ACPI должен убедиться, что выделенный буфер памяти операционной области не меньше в байтах, чем область операций, определенная для устройства ACPI.

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

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

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

Требования

Требование Значение
Целевая платформа Персональный компьютер
Верхняя часть oprghdlr.h (включая Oprghdlr.h)

См. также раздел

DeRegisterOpRegionHandler