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 |