Метод IAdapterPnpManagement::P npStop (portcls.h)
Метод PnpStop предоставляет уведомление после остановки всех операций Ioctl и перемещения активных потоков из состояния run|pause|acquire для остановки состояния.
Синтаксис
void PnpStop();
Возвращаемое значение
None
Remarks
PnpStop вызывается Portcls после остановки всех операций Ioctl и перемещения активных потоков из состояния run|pause|acquire для остановки состояния. Этот вызов не выполняется при удержании глобальной блокировки устройства. Таким образом, драйвер мини-порта имеет возможность ожидать асинхронных операций (рабочие элементы, dpc, асинхронные потоки) и отменять регистрацию своих дочерних аудиоустройств. Перед возвращением из этого вызова мини-порт должен убедиться, что все аппаратные ресурсы освобождены.
Минипорт не должен ждать удаления текущих объектов miniport/stream, так как неясно, когда существующие аудиоконференты будут освобождать текущие дескрипторы. Поток PnpStop не может блокироваться навсегда без сбоя системы, т. е. это поток PnP/Power.
IAdapterPnpManagement::P npstop вызывается после:
- Все дочерние аудиоустройства минипорта были уведомлены.
- Все потоки, принадлежащие аудиоподделениям, были остановлены.
- Все интерфейсы Pnp отключены.
- Все ожидающие ввода-вывода отменены.
Дополнительные сведения см. в статье Реализация повторного балансировки PnP для аудиодрайверов PortCls.
Требования
Требование | Значение |
---|---|
Заголовок | portcls.h |
IRQL | PASSIVE_LEVEL |