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 | I/O 空间 |
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 设备函数驱动程序) 提供的ACPI_OP_REGION_HANDLER类型操作区域处理程序 (的指针。
[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) |
Library | Oprghdlr.lib |
IRQL | PASSIVE_LEVEL |