PEP_ACPI_EVALUATE_CONTROL_METHOD結構 (pepfx.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 開始支援。
標頭 pepfx.h (包含 Pep_x.h)

另請參閱