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 驅動程式呼叫作業區域處理程式時,它會指定 Address 和 Size 的值,以確保存取是在 ACPI 裝置的 ACPI BIOS 中定義的作業區域內。 ACPI 裝置函式驅動程式必須確定其配置的作業區域記憶體緩衝區至少是針對 ACPI 裝置定義的作業區域,以位元組為單位。
如需作業區域處理程式的詳細資訊,請參閱 支援作業區域。
ACPI_OP_REGION_HANDLER類型的例程會在呼叫端的 IRQL 上執行。
如需作業區域條件約束的詳細資訊,請參閱 進階設定和電源介面 (ACPI) 規格。
規格需求
需求 | 值 |
---|---|
目標平台 | 桌面 |
標頭 | oprghdlr.h (包含 Oprghdlr.h) |