Функция RegisterOpRegionHandler (oprghdlr.h)

Подпрограмма RegisterOpRegionHandler регистрирует обработчик области операций с драйвером ACPI.

Синтаксис

NTSTATUS RegisterOpRegionHandler(
  [in]  PDEVICE_OBJECT          DeviceObject,
  [in]  ULONG                   AccessType,
  [in]  ULONG                   RegionSpace,
  [in]  PACPI_OP_REGION_HANDLER Handler,
  [in]  PVOID                   Context,
  [in]  ULONG                   Flags,
  [out] PVOID                   *OperationRegionObject
);

Параметры

[in] DeviceObject

Указатель на объект физического устройства (PDO), представляющий устройство ACPI, определяющее область операции.

[in] AccessType

Задает ACPI_OPREGION_ACCESS_AS_COOKED.

[in] RegionSpace

Задает один из следующих типов пространства региона.

Идентификатор пространства региона Описание
ACPI_OPREGION_REGION_SPACE_MEMORY Системная память
ACPI_OPREGION_REGION_SPACE_IO Пространство ввода-вывода
ACPI_OPREGION_REGION_SPACE_PCI_CONFIG Конфигурация PCI
ACPI_OPREGION_REGION_SPACE_EC Встроенный контроллер
ACPI_OPREGION_REGION_SPACE_SMB Шина управления системой
ACPI_OPREGION_REGION_SPACE_CMOS_CONFIG Конфигурация CMOS
ACPI_OPREGION_REGION_SPACE_PCIBARTARGET Регистр базовых адресов PCI
Определенное поставщиком значение от 0x80 до 0xFF Определяемый поставщиком

[in] Handler

Указатель на ACPI_OP_REGION_HANDLER типизированный обработчик области операций (предоставляется драйвером функции устройства ACPI).

[in] Context

Указатель на контекст региона операций для конкретного устройства (предоставляется драйвером функции устройства ACPI).

[in] Flags

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

[out] OperationRegionObject

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

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

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

Код возврата Описание
STATUS_SUCCESS Обработчик операционного региона успешно зарегистрирован.
STATUS_ACPI_INVALID_DATA Указанные сведения являются недопустимыми.
STATUS_INSUFFICIENT_RESOURCES Подпрограмме не удалось выделить необходимые системные ресурсы.
STATUS_Xxx Внутренняя ошибка.

Комментарии

Контекст области операций, заданный параметром Context , зависит от устройства и используется только драйвером функции. Как правило, контекстом является расширение устройства для объекта функционального устройства (FDO). Драйвер ACPI передает этот контекст обратно драйверу функции при вызове обработчика области операций. Объект области операции используется драйвером функции только для уникальной идентификации области операции при отмене регистрации обработчика области операций.

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

Требования

Требование Значение
Целевая платформа Универсальное
Верхняя часть oprghdlr.h (включая Oprghdlr.h)
Библиотека Oprghdlr.lib
IRQL PASSIVE_LEVEL

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

ACPI_OP_REGION_HANDLER

DeRegisterOpRegionHandler