Поделиться через


Метод 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

См. также раздел

IAdapterPnpManagement