ACPI_EVAL_INPUT_BUFFER_COMPLEX_V1_EX結構 (acpiioct.h)
ACPI_EVAL_INPUT_BUFFER_COMPLEX_EX 結構會作為 IOCTL_ACPI_EVAL_METHOD_EX 要求和 IOCTL_ACPI_ASYNC_EVAL_METHOD_EX 要求的輸入。 結構提供 ACPI 命名空間中控制項方法的路徑和名稱,以及 ACPI_METHOD_ARGUMENT 結構的輸入自變數數位。
語法
typedef struct _ACPI_EVAL_INPUT_BUFFER_COMPLEX_V1_EX {
ULONG Signature;
CHAR MethodName[256];
ULONG Size;
ULONG ArgumentCount;
ACPI_METHOD_ARGUMENT_V1 Argument[ANYSIZE_ARRAY];
} ACPI_EVAL_INPUT_BUFFER_COMPLEX_V1_EX, *PACPI_EVAL_INPUT_BUFFER_COMPLEX_V1_EX, ACPI_EVAL_INPUT_BUFFER_COMPLEX_EX, *PACPI_EVAL_INPUT_BUFFER_COMPLEX_EX;
成員
Signature
擴充複雜輸入緩衝區的簽章,必須設定為 ACPI_EVAL_INPUT_BUFFER_COMPLEX_SIGNATURE_EX。
MethodName[256]
NULL 終止的 ASCII 字串,其中包含 ACPI 命名空間中控件方法的路徑和名稱。 字串可以包含的最大字元數,包括 NULL 終止符,為 256。
如需如何提供控件方法路徑和名稱的詳細資訊,請參閱本主題稍後的一節。
Size
Argument 陣列所包含的位元組數目。
ArgumentCount
Argument 陣列所包含的可變長度ACPI_METHOD_ARGUMENT結構數目。 Argument 陣列最多可以保存七個自變數結構。
Argument[ANYSIZE_ARRAY]
ACPI_METHOD_ARGUMENT 結構的陣列。
言論
裝置的驅動程式可以使用IOCTL_ACPI_EVAL_METHOD_EX要求或IOCTL_ACPI_ASYNC_EVAL_METHOD_EX要求來評估裝置子系子物件的控件方法。 如果方法採用複雜的自變數陣列,這些要求會採用輸入ACPI_EVAL_INPUT_BUFFER_COMPLEX_EX結構,如下所示:
- 將 [簽章 ] 設定為 [ACPI_EVAL_INPUT_BUFFER_COMPLEX_SIGNATURE_EX]。
-
將 MethodName 設定為 NULL 終止的字串,該字串會提供 ACPI 命名空間中控件方法的完整路徑和名稱,或是相對於傳送評估要求之裝置的方法路徑和名稱。
例如,假設要求會傳送至名為 'ABCD' 的裝置,這是 ACPI 命名空間根目錄的直接子系,'ABCD' 裝置支援名為 'CHLD' 的子裝置,而 'CHLD' 裝置支援名為 '_FOO' 的方法。 在此情況下,評估要求可以提供 『\ABCD。CHLD._FOO,這是 ACPI 命名空間中控制方法的完整路徑和名稱,或 『CHLD._FOO』,這是與 ACPI 命名空間中 『ABCD』 裝置相對的控件方法路徑和名稱。
如需如何在 ACPI 命名空間中取得控制項方法的完整路徑和名稱的詳細資訊,請參閱 列舉子裝置和控制方法。
- Size 會設定為自變數 陣列 中的位元元組數目。
- ArgumentCount 會設定為 Argument 陣列中的自變數數目。
- Argument 會設定為ACPI_METHOD_ARGUMENT結構的陣列。
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | Windows Vista 和更新版本的 Windows。 |
標頭 | acpiioct.h (include Acpiioct.h) |