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