IAdapterPnpManagement::P npStop 方法 (portcls.h)
PnpStop 方法在停止所有 Ioctl 操作并将活动流从 run|pause|acquire 状态移动到停止状态后提供通知。
语法
void PnpStop();
返回值
无
备注
PnpStop 在停止所有 Ioctl 操作并将活动流从 run|pause|acquire 状态移动到停止状态之后由 Portcls 调用。 持有设备全局锁时不会进行此调用。 因此,微型端口驱动程序有机会等待其异步操作, (工作项、dpc、异步线程) 并取消注册其音频子设备。 在从此调用返回之前,微型端口必须确保已释放所有硬件资源。
微型端口不得等待删除当前微型端口/流对象,因为目前还不清楚现有音频客户端何时释放当前句柄。 PnpStop 线程无法永久阻止而不导致系统崩溃,即,这是一个 PnP/Power 线程。
IAdapterPnpManagement::P npstop 在之后调用:
- 已通知所有微型端口音频子设备。
- 属于音频子设备的所有流都已停止。
- 所有 Pnp 接口都已关闭。
- 所有挂起的 I/O 都已取消。
有关详细信息,请参阅 实现 PortCls 音频驱动程序的 PnP 重新平衡。
要求
要求 | 值 |
---|---|
Header | portcls.h |
IRQL | PASSIVE_LEVEL |