共用方式為


IOCTL_ACPI_ASYNC_EVAL_METHOD IOCTL (acpiioct.h)

裝置的驅動程式可以使用IOCTL_ACPI_ASYNC_EVAL_METHOD裝置控制要求,以異步方式評估裝置支援的ACPI控制項方法。 驅動程式應該呼叫 IoBuildDeviceIoControlRequest,並傳遞下列輸入和輸出參數來建置此要求。

主要程序代碼

IRP_MJ_DEVICE_CONTROL

輸入緩衝區

設定 IoBuildDeviceIoControlRequest 輸入參數,如下所示:

  • IoControlCode 會設定為 IOCTL_ACPI_ASYNC_EVAL_METHOD。
  • DeviceObject 會設定為裝置實體裝置物件 (PDO) 的指標。
  • InputBuffer 會設定為輸入緩衝區結構的指標,該指標取決於要傳遞至控件方法的輸入自變數類型。 如需此 IOCTL 支援之輸入自變數類型的詳細資訊,請參閱本主題稍後的一節。
  • InputBufferLength 會設定為輸入緩衝區的大小,以位元組為單位,InputBuffer
  • OutputBufferLength 提供 OutputBuffer所提供的輸出緩衝區大小,以位元組為單位。
  • InternalDeviceIoControl 會設定為 FALSE
  • 事件 設定為 NULL

輸入緩衝區長度

InputBufferLength 會設定為輸入緩衝區的大小,以位元組為單位,InputBuffer

輸出緩衝區

設定 IoBuildDeviceIoControlRequest 輸出參數,如下所示:

輸出緩衝區長度

OutputBufferLength 提供 OutputBuffer所提供的輸出緩衝區大小,以位元組為單位。

狀態區塊

如果要求成功,IoStatusBlock->Status 設定為 STATUS_SUCCESS;否則,狀態 成員會設定為錯誤碼。 如果輸出緩衝區不夠大而無法包含輸出緩衝區標頭,Status 成員會設定為 STATUS_BUFFER_TOO_SMALL。 如果輸出緩衝區夠大而足以包含輸出緩衝區標頭,但不足以包含控件方法的所有輸出自變數,Status 成員會設定為 STATUS_BUFFER_OVERFLOW,OutputBuffer->Length 設定為輸出緩衝區的必要長度。

如果要求成功,IoStatusBlock->Information 成員會設定為輸出緩衝區中傳回的位元組數目;否則,資訊 成員會設定為零。

言論

裝置的驅動程式可以使用 IOCTL_ACPI_ASYNC_EVAL_METHOD,以異步方式評估裝置支援的控件方法。 例如,如果裝置在 ACPI 命名空間中名為 『ABCD』,而 『ABCD』 裝置支援名為 『_FOO』 的方法,這個 IOCTL 可用來評估控制方法 『_FOO』,方法是將要求傳送至 『ABCD』 裝置,並提供控制方法名稱 『_FOO』。

IOCTL_ACPI_ASYNC_EVAL_METHOD支援下列類型的輸入緩衝區結構:

ACPI_EVAL_INPUT_BUFFER

ACPI_EVAL_INPUT_BUFFER_SIMPLE_INTEGER

ACPI_EVAL_INPUT_BUFFER_SIMPLE_STRING

ACPI_EVAL_INPUT_BUFFER_COMPLEX

控件方法的輸出自變數會在 OutBuffer 指標所提供的可變長度 ACPI_EVAL_OUTPUT_BUFFER 結構中傳回。 ACPI_EVAL_OUTPUT_BUFFER包含可變長度 ACPI_METHOD_ARGUMENT 結構的陣列,每個結構都會傳回輸出自變數。

如需如何同步評估 ACPI 控制項方法的資訊,請參閱以 同步方式評估 ACPI 控制項方法 IOCTL_ACPI_EVAL_METHODIOCTL_ACPI_EVAL_METHOD_EX和評估 ACPI 控制方法。

IOCTL_ACPI_ASYNC_EVAL_METHOD只能在 IRQL <= DISPATCH_LEVEL使用。

要求

要求 價值
最低支援的用戶端 Windows Vista 和更新版本的 Windows。
標頭 acpiioct.h (include Acpiioct.h)

另請參閱

ACPI_EVAL_INPUT_BUFFER

ACPI_EVAL_INPUT_BUFFER_COMPLEX

ACPI_EVAL_INPUT_BUFFER_SIMPLE_INTEGER

ACPI_EVAL_INPUT_BUFFER_SIMPLE_STRING

ACPI_EVAL_OUTPUT_BUFFER

ACPI_METHOD_ARGUMENT

IOCTL_ACPI_EVAL_METHOD

IOCTL_ACPI_EVAL_METHOD_EX