共用方式為


ACPI_OP_REGION_HANDLER回呼函式 (oprghdlr.h)

ACPI 裝置函式驅動程式會提供ACPI_OP_REGION_HANDLER類型的例程,以提供 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

指定下列其中一種存取類型:

存取類型 Description
ACPI_OPREGION_WRITE 寫入作業區域記憶體緩衝區。
ACPI_OPREGION_READ 從作業區域記憶體緩衝區讀取。

OperationRegionObject

針對作業區域處理程式,指定 RegisterOpRegionHandler 所傳回的作業區域物件。

Address

指定作業區域記憶體緩衝區中的位元組位移。 視存取類型而定,數據會傳送到此記憶體位置或從此記憶體位置傳輸。

Size

指定要存取的位元組數目。

Data

與存取相關聯之 ACPI 驅動程式提供之數據緩衝區的指標。 對於讀取存取,位元組會從作業區域記憶體緩衝區傳輸到數據緩衝區。 對於寫入存取,位元組會從數據緩衝區傳輸到作業區域記憶體緩衝區。

Context

在函式驅動程式註冊作業區域處理程式時所指定的相同作業區域內容的指標。

CompletionHandler

保留供內部使用。

CompletionContext

保留供內部使用。

傳回值

傳回下列其中一個狀態值:

傳回碼 Description
STATUS_SUCCESS 存取成功。
STATUS_INVALID_DEVICE_REQUEST 存取類型無效。
STATUS_Xxx 發生內部錯誤。

備註

當 ACPI 驅動程式呼叫作業區域處理程式時,它會指定 AddressSize 的值,以確保存取是在 ACPI 裝置的 ACPI BIOS 中定義的作業區域內。 ACPI 裝置函式驅動程式必須確定其配置的作業區域記憶體緩衝區至少是針對 ACPI 裝置定義的作業區域,以位元組為單位。

如需作業區域處理程式的詳細資訊,請參閱 支援作業區域

ACPI_OP_REGION_HANDLER類型的例程會在呼叫端的 IRQL 上執行。

如需作業區域條件約束的詳細資訊,請參閱 進階設定和電源介面 (ACPI) 規格

規格需求

需求
目標平台 桌面
標頭 oprghdlr.h (包含 Oprghdlr.h)

另請參閱

DeRegisterOpRegionHandler