WinUsb_GetPowerPolicy 函数 (winusb.h)

WinUsb_GetPowerPolicy 函数检索设备的电源策略。 这是一个同步操作。

语法

BOOL WinUsb_GetPowerPolicy(
  [in]      WINUSB_INTERFACE_HANDLE InterfaceHandle,
  [in]      ULONG                   PolicyType,
  [in, out] PULONG                  ValueLength,
  [out]     PVOID                   Value
);

参数

[in] InterfaceHandle

设备上第一个接口的不透明句柄, WinUsb_Initialize返回。

[in] PolicyType

一个 值,该值指定要在 Value 中检索的电源策略参数。 下表描述了 Winusbio.h 中定义的符号常量。

策略类型 说明
AUTO_SUSPEND

(0x81)

如果调用方指定AUTO_SUSPEND的电源策略, WinUsb_GetPowerPolicyValue 参数中返回自动挂起策略参数的值。

如果 ValueTRUE (即非零) ,则当没有传输挂起或唯一挂起的传输是中断或批量终结点上的 IN 传输时,USB 堆栈会挂起设备。

DefaultIdleState 注册表值的值确定自动挂起策略参数的默认值。

Value 参数必须指向 UCHAR 变量。

SUSPEND_DELAY

(0x83)

如果调用方指定SUSPEND_DELAY的电源策略, WinUsb_GetPowerPolicy 在 Value 中返回暂停延迟策略参数 的值

挂起延迟策略参数指定 WinUSB 驱动程序在任何传输后必须等待的最短时间(以毫秒为单位),然后才能暂停设备。

必须指向 ULONG 变量。

[in, out] ValueLength

指向 Value 缓冲区大小的指针。 输出时, ValueLength 接收复制到 Value 缓冲区的数据的大小。

[out] Value

接收指定电源策略参数的缓冲区。 有关详细信息,请参阅 PolicyType

返回值

如果操作成功,WinUsb_GetPowerPolicy返回 TRUE。 否则,此例程返回 FALSE,调用方可以通过调用 GetLastError 检索记录的错误。

GetLastError 可以返回以下错误代码。

返回代码 说明
ERROR_INVALID_HANDLE
调用方在 InterfaceHandle 参数中传递 NULL

要求

要求
目标平台 通用
标头 winusb.h (包括 Winusb.h)
Library Winusb.lib
DLL Winusb.dll

另请参阅

WinUSB

WinUSB 函数

WinUSB 电源管理

WinUsb_Initialize