функция обратного вызова 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