UcmTcpciPortControllerStart 函数 (ucmtcpciportcontroller.h)
向 UcmTcpciCx 类扩展指示客户端驱动程序现在已准备好为端口控制器的硬件请求提供服务。
语法
NTSTATUS UcmTcpciPortControllerStart(
UCMTCPCIPORTCONTROLLER PortControllerObject
);
参数
PortControllerObject
客户端驱动程序在上一次调用 UcmTcpciPortControllerCreate 时收到的端口控制器对象的句柄。
返回值
(NTSTATUS) 如果操作成功,方法将返回STATUS_SUCCESS。 否则,此方法可能会返回相应的 NTSTATUS 错误代码。
返回代码 | 说明 |
---|---|
|
端口控制器已处于“启动”状态。 |
|
尚未通过调用 UcmTcpciPortControllerSetHardwareRequestQueue 设置硬件请求队列。 |
注解
客户端驱动程序收到端口控制器对象的 UCMPORTCONTROLLER 句柄后,驱动程序调用此方法以通知类扩展驱动程序可以开始接收硬件请求。 此方法调用允许客户端驱动程序在端口控制器对象上初始化其框架上下文空间,然后类扩展可以调用驱动程序的回调函数或端口控制器对象的请求。 在启动端口控制器之前,驱动程序无法调用 UcmTcpciPortControllerAlert 或 UcmTcpciPortControllerStop 。
如果在 WDF_OBJECT_ATTRIBUTES 结构中将其指定为 Attributes 参数值,则客户端驱动程序在调用 UcmTcpciPortControllerCreate 并初始化其上下文结构后立即调用此方法。 驱动程序必须假定类扩展可以在 UcmTcpciPortControllerStart 返回 之前提交请求,即从此 DDI 调用中返回。 如果驱动程序在调用 UcmTcpciPortControllerStart 时持有锁,并且还尝试在其硬件请求队列回调) 处理硬件请求 (获取锁,则可能会导致死锁。
调用 UcmTcpciPortControllerStart 以启动已处于“启动”状态的端口控制器对象会导致错误。
启动时,如果 BIOS 已协商 PD 协定,UcmTcpciCx 将从未附加状态启动。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 10 |
最低受支持的服务器 | Windows Server 2016 |
目标平台 | Windows |
标头 | ucmtcpciportcontroller.h |
Library | Ucmtcpcicxstub.lib |
IRQL | PASSIVE_LEVEL |