UcmTcpciPortControllerStop 函数 (ucmtcpciportcontroller.h)

向 UcmTcpciCx 类扩展指示停止向端口控制器对象发送硬件请求。

语法

void UcmTcpciPortControllerStop(
  UCMTCPCIPORTCONTROLLER PortControllerObject
);

参数

PortControllerObject

处理客户端驱动程序在上一次调用中接收的端口控制器对象,UcmTcpciPortControllerCreate

返回值

没有

言论

调用 UcmTcpciPortControllerStop后,客户端驱动程序将停止处理端口控制器对象上的所有请求。 此调用是同步的,因此可以保证类扩展在返回后不会调用回调函数或发送请求。 驱动程序不得在端口控制器回调中或挂起任何不可取消的硬件请求时调用此方法。

客户端驱动程序从其 EVT_WDF_DEVICE_RELEASE_HARDWARE 回调实现中调用此方法。 执行此作后,它还应调用 WdfObjectDelete,以防调用 EVT_WDF_DEVICE_RELEASE_HARDWARE 以重新均衡资源。 否则,驱动程序会在发生资源重新平衡时泄漏与端口控制器对象关联的对象。 将 UCMPORTCONTROLLER 句柄父化到 WDFDEVICE 句柄是不够的,因为不会跨资源重新平衡删除 WDFDEVICE。

如果驱动程序由于 S0-Idle 而转换到 Dx 状态,驱动程序不得从其 EVT_WDF_DEVICE_D0_EXIT 回调函数调用此方法。 可以使用电源托管队列接收硬件请求来实现与驱动程序电源状态的同步。

可以安全地在已停止的端口控制器上调用 UcmTcpciPortControllerStop。 此方法返回后,除了在端口控制器上调用 UcmTcpciPortControllerStart 之外,没有其他方法

如果客户端驱动程序需要停止端口控制器上的所有作,则客户端驱动程序必须调用此方法,以便在作期间检测到任何问题时,它可以执行错误恢复。 恢复过程完成后,驱动程序必须重启端口控制器。

停止控制器将终止任何活动的 PD 协定和 Type-C 连接。

要求

要求 价值
最低支持的客户端 Windows 10
支持的最低服务器 Windows Server 2016
目标平台 窗户
标头 ucmtcpciportcontroller.h
Ucmtcpcicxstub.lib
IRQL PASSIVE_LEVEL

另请参阅

UcmTcpciPortControllerStart