共用方式為


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 值為 1。

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)

另請參閱