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

操作領域を定義する ACPI デバイスを表す 物理デバイス オブジェクト (PDO) へのポインター。

[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_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 ドライバーは、操作領域ハンドラーを呼び出すときに、このコンテキストを関数ドライバーに渡します。 操作領域オブジェクトは、操作領域ハンドラーを登録解除するときに、操作領域を一意に識別するために関数ドライバーによってのみ使用されます。

操作領域の詳細については、「操作リージョン のサポート」を参照してください。

要件

要件
対象プラットフォーム ユニバーサル
Header oprghdlr.h (Oprghdlr.h を含む)
Library Oprghdlr.lib
IRQL PASSIVE_LEVEL

こちらもご覧ください

ACPI_OP_REGION_HANDLER

DeRegisterOpRegionHandler