PEP_ACPI_EVALUATE_CONTROL_METHOD 結構 (pep_x.h)
PEP_ACPI_EVALUATE_CONTROL_METHOD 結構會指定要評估的 ACPI 控制項方法、要提供給這個方法的輸入自變數,以及評估結果的輸出緩衝區。
語法
typedef struct _PEP_ACPI_EVALUATE_CONTROL_METHOD {
PEPHANDLE DeviceHandle;
ULONG RequestFlags;
union {
ULONG MethodName;
ANSI_STRING MethodNameString;
};
NTSTATUS MethodStatus;
PVOID CompletionContext;
ULONG InputArgumentCount;
SIZE_T InputArgumentSize;
PACPI_METHOD_ARGUMENT InputArguments;
ULONG OutputArgumentCount;
SIZE_T OutputArgumentSize;
PACPI_METHOD_ARGUMENT OutputArguments;
} PEP_ACPI_EVALUATE_CONTROL_METHOD, *PPEP_ACPI_EVALUATE_CONTROL_METHOD;
成員
DeviceHandle
PEPHANDLE 值,識別 ACPI 服務的裝置註冊。 平臺延伸模組外掛程式 (PEP) 提供此句柄,以回應先前 的PEP_NOTIFY_ACPI_REGISTER_DEVICE 通知。
RequestFlags
一組旗標。 此成員包含下列其中一個值。
旗標名稱 | 值 | 意義 |
---|---|---|
PEP_ACPI_ECM_FLAG_NONE | 0x0 | 不是有效的控制項方法名稱。 |
PEP_ACPI_ECM_FLAG_RELATIVE_NAME | 0x1 | MethodNameUlong 成員包含路徑相對控件方法名稱。 |
PEP_ACPI_ECM_FLAG_FULLY_QUALIFIED_NAME | 0x2 | MethodNameString 成員包含完整的控制項方法名稱。 |
MethodName
ULONG 值,其中包含 ACPI 控制項方法的四個字元路徑相對名稱。
MethodNameString
包含 ACPI 控制件方法完整名稱 的 ANSI_STRING 結構。 此名稱會指定 ACPI 命名空間中方法的路徑和名稱。 如需詳細資訊,請參閱 列舉子裝置和控制方法。
MethodStatus
NTSTATUS 值,指出 ACPI 控件方法評估的狀態。 將此成員設定為 STATUS_SUCCESS,表示平臺擴充功能外掛程式 (PEP) 已成功評估方法。 設定為 STATUS_NOT_SUPPORTED ,表示 PEP 無法辨識控件方法。 設定為 STATUS_BUFFER_TOO_SMALL ,表示 InputArgumentSize 成員指定的輸出緩衝區大小不足以包含方法結果。
如果 PEP 是以異步方式評估方法,請將此成員設定為 STATUS_PENDING,並從 AcceptAcpiNotification 回呼傳回。 稍後,當評估完成時,PEP 會呼叫 CompleteWork 例程來通知 Windows 電源管理架構 , (PoFx) 控件方法的評估已完成。
CompletionContext
完成內容值的指標。 只有在以異步方式評估控制方法時,PEP 才會使用此成員。 在此情況下,PEP 會在呼叫 CompleteWork 例程中提供此完成內容指標,通知 Windows 電源管理架構 (PoFx) 控件方法的評估已完成。 包含在此呼叫的輸入參數中,是 PEP 已寫入完成內容指標之 PEP_WORK_ACPI_EVALUATE_CONTROL_METHOD_COMPLETE 結構的指標。 內容與 PEP 不透明,並包含 PoFx 在內部使用的資料。
InputArgumentCount
InputArguments 成員所指向之輸入緩衝區中的輸入自變數數目。 每個自變數都會以 指定 自變數大小的ACPI_METHOD_ARGUMENT結構開始。 目前, InputArgumentCount 值上限為一。
InputArgumentSize
InputArguments 成員所指向之輸入緩衝區的大小,以位元組為單位。
InputArguments
輸入緩衝區的指標,其中包含指定 ACPI 控制項方法之輸入自變數 的ACPI_METHOD_ARGUMENT 結構。
OutputArgumentCount
OutputArguments 成員所指向之輸出緩衝區中的輸出自變數數目。 每個自變數都會以 指定 自變數大小的ACPI_METHOD_ARGUMENT結構開始。 目前允許的 OutputArgumentCount 值上限為一。
OutputArgumentSize
在輸入時, OutputArguments 成員所指向輸出緩衝區的大小,以位元組為單位。 如果這個緩衝區不夠大,無法包含評估方法的結果,PEP 會以所需的大小覆寫 OutputArgumentSize 輸入值,並將 MethodStatus 成員設定為STATUS_BUFFER_TOO_SMALL。
OutputArguments
PEP 寫入 ACPI_METHOD_ARGUMENT 結構的輸出緩衝區指標,其中包含評估指定ACPI控件方法的結果。
備註
此結構由 PEP_NOTIFY_ACPI_EVALUATE_CONTROL_METHOD 通知使用。 MethodStatus 成員包含 PEP 寫入結構的輸出值,以回應此通知。 OutputArgumentSize 成員包含傳送通知時 PoFx 所提供的輸入值。 如果輸入值小於所需的輸出緩衝區大小,PEP 可能會以輸出值覆寫此輸入值。 此結構的所有其他成員都包含傳送通知時由PoFx提供的輸入值。
如果 RequestFlags = PEP_ACPI_ECM_FLAG_RELATIVE_NAME) ,則此結構會定義未命名的等位,其中包含四個字元路徑相對控件方法名稱 (,如果 RequestFlags = PEP_ACPI_ECM_FLAG_FULLY_QUALIFIED_NAME) ,則為完整控制方法名稱 (。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | 從Windows 10 開始支援。 |
標頭 | pep_x.h (包含 Pep_x.h) |