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
目标平台 Windows
标头 ucmtcpciportcontroller.h
Library Ucmtcpcicxstub.lib
IRQL PASSIVE_LEVEL

另请参阅

UcmTcpciPortControllerStart