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