UcmTcpciPortControllerStop 函数 (ucmtcpciportcontroller)

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

语法

void UcmTcpciPortControllerStop(
  UCMTCPCIPORTCONTROLLER PortControllerObject
);

参数

PortControllerObject

在之前对 UcmTcpciPortControllerCreate的调用中接收的端口控制器对象的句柄。

返回值

备注

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

客户端驱动程序从其 EVT_WDF_DEVICE_RELEASE_HARDWARE 回调实现中调用此方法。 完成此操作后,还应调用 WdfObjectDelete,以防 EVT_WDF_DEVICE_RELEASE_HARDWARE 调用资源重新平衡。 如果不这样做,驱动程序会在资源重新平衡发生时泄露与端口控制器对象关联的对象。 将 UCMPORTCONTROLLER 句柄父级为 WDFDEVICE 句柄是不够的,因为不会在资源重新平衡之间删除 WDFDEVICE。

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

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

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

停止控制器将结束任何活动的 PD 协定和类型-C 连接。

要求

   
最低受支持的客户端 Windows 10
最低受支持的服务器 Windows Server 2016
目标平台 Windows
标头 ucmtcpciportcontroller
Library Ucmtcpcicxstub
IRQL PASSIVE_LEVEL

请参阅

UcmTcpciPortControllerStart