StorPortInvokeAcpiMethod 函数 (storport.h)
StorPortInvokeAcpiMethod 例程为存储设备执行 ACPI 方法。
语法
ULONG StorPortInvokeAcpiMethod(
[in] PVOID HwDeviceExtension,
[in, optional] PSTOR_ADDRESS Address,
[in] ULONG MethodName,
[in, optional] PVOID InputBuffer,
[in] ULONG InputBufferLength,
[in, optional] PVOID OutputBuffer,
[in] ULONG OutputBufferLength,
[out, optional] PULONG BytesReturned
);
参数
[in] HwDeviceExtension
指向主机总线适配器的硬件设备扩展的指针 (HBA) 。
[in, optional] Address
目标设备的地址。 此参数是可选的。 如果 Address 设置为 NULL,则适配器是目标。
[in] MethodName
ACPI 方法的四字节名称。 例如, ( (ULONG) “DDS_”) 将为 AHCI 控制器命名_SDD或“设置设备数据”ACPI 方法。
[in, optional] InputBuffer
指向 方法的输入数据的指针。
[in] InputBufferLength
InputBuffer 中缓冲区的长度(以字节为单位)。
[in, optional] OutputBuffer
指向 方法中输出数据的指针。
[in] OutputBufferLength
OutputBuffer 中缓冲区的长度(以字节为单位)。
[out, optional] BytesReturned
指向 OutputBuffer 中返回的数据长度(以字节为单位)的指针。
返回值
StorPortInvokeAcpiMethod 例程返回以下状态代码之一:
返回代码 | 说明 |
---|---|
|
存在常规错误条件。 |
|
HwDeviceExtension、 InputBuffer 或 OutputBuffer 为 NULL。
-或- 地址 是指不存在的目标。 |
|
ACPI 方法未实现。 |
|
资源不足,无法执行该方法,或者 OutputBufferLength 对于返回的数据不够大。 |
|
当前 IRQL > PASSIVE_LEVEL。 |
|
方法已成功执行。 |
注解
StorPortInvokeAcpiMethod 使微型端口驱动程序能够调用为存储控制器和存储 LUN 定义的 ACPI 方法。 方法名称是四字节字符串,占用 MethodName 中的 ULONG 值。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | 在 Windows 8 及更高版本的 Windows 中可用。 |
目标平台 | 通用 |
标头 | storport.h (包括 Storport.h) |
IRQL | PASSIVE_LEVEL |