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

ACPI サービスのデバイスの登録を識別する PEPHANDLE 値。 プラットフォーム拡張機能プラグイン (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

ACPI コントロール メソッドの 4 文字のパス相対名を含む ULONG 値。

MethodNameString

ACPI 制御メソッドの完全修飾名を含むANSI_STRING構造体。 この名前は、ACPI 名前空間内のメソッドのパスと名前を指定します。 詳細については、「 子デバイスの列挙」および「制御メソッド」を参照してください。

MethodStatus

ACPI 制御メソッドの評価の状態を示す NTSTATUS 値。 プラットフォーム拡張機能プラグイン (PEP) がメソッドの評価を正常に完了したことを示すには、このメンバーを STATUS_SUCCESS に設定します。 PEP が制御メソッドを認識しないことを示すには、STATUS_NOT_SUPPORTED に設定します。 InputArgumentSize メンバーで指定された出力バッファー サイズが、メソッドの結果を格納するのに十分な大きさではないことを示すには、STATUS_BUFFER_TOO_SMALL に設定します。

PEP がメソッドを非同期的に評価する場合は、このメンバーを STATUS_PENDING に設定し、 AcceptAcpiNotification コールバックから戻ります。 その後、評価が完了すると、PEP は CompleteWork ルーチンを呼び出して、コントロール メソッドの評価が完了したことを Windows 電源管理フレームワーク (PoFx) に通知します。

CompletionContext

完了コンテキスト値へのポインター。 PEP では、制御メソッドが非同期的に評価される場合にのみ、このメンバーが使用されます。 この場合、PEP は、コントロール メソッドの評価が完了したことを Windows 電源管理フレームワーク (PoFx) に通知する CompleteWork ルーチンの呼び出しで、この完了コンテキスト ポインターを提供します。 この呼び出しの入力パラメーターに含まれるのは、PEP が完了コンテキスト ポインターを書き込んだ PEP_WORK_ACPI_EVALUATE_CONTROL_METHOD_COMPLETE 構造体へのポインターです。 コンテキストは PEP に対して不透明であり、PoFx によって内部的に使用されるデータが含まれています。

InputArgumentCount

InputArguments メンバーが指す入力バッファー内の入力引数の数。 各引数は、引数のサイズを指定する ACPI_METHOD_ARGUMENT 構造体で始まります。 現在、 InputArgumentCount の 最大値は 1 です。

InputArgumentSize

InputArguments メンバーが指す入力バッファーのサイズ (バイト単位)。

InputArguments

指定した ACPI 制御メソッドの入力引数を指定する ACPI_METHOD_ARGUMENT 構造体を含む入力バッファーへのポインター。

OutputArgumentCount

OutputArguments メンバーが指す出力バッファー内の出力引数の数。 各引数は、引数のサイズを指定する ACPI_METHOD_ARGUMENT 構造体で始まります。 現在、使用できる OutputArgumentCount の 最大値は 1 です。

OutputArgumentSize

入力時に、 OutputArguments メンバーが指す出力バッファーのサイズ (バイト単位)。 このバッファーがメソッドの評価結果を格納するのに十分な大きさでない場合、PEP は OutputArgumentSize 入力値を必要なサイズで上書きし、 MethodStatus メンバーをSTATUS_BUFFER_TOO_SMALLに設定します。

OutputArguments

指定した ACPI 制御メソッドを評価した結果を含む ACPI_METHOD_ARGUMENT 構造体を PEP が書き込む出力バッファーへのポインター。

注釈

この構造体は、 PEP_NOTIFY_ACPI_EVALUATE_CONTROL_METHOD 通知によって使用されます。 MethodStatus メンバーには、この通知に応答して PEP が構造体に書き込む出力値が含まれています。 OutputArgumentSize メンバーには、通知の送信時に PoFx によって提供される入力値が含まれます。 入力値が必要な出力バッファー サイズより小さい場合、PEP によってこの入力値が出力値で上書きされる可能性があります。 この構造体の他のすべてのメンバーには、通知の送信時に PoFx によって提供される入力値が含まれます。

この構造体の名前のない共用体には、4 文字のパス相対制御メソッド名 ( RequestFlags = PEP_ACPI_ECM_FLAG_RELATIVE_NAMEの場合) または完全修飾制御メソッド名 ( RequestFlags = PEP_ACPI_ECM_FLAG_FULLY_QUALIFIED_NAMEの場合) のいずれかが含まれます。

要件

要件
サポートされている最小のクライアント Windows 10 以降でサポートされています。
Header pepfx.h (Pep_x.h を含む)

こちらもご覧ください