Метод IPortClsStreamResourceManager::RemoveStreamResource (portcls.h)
RemoveStreamResource удаляет существующий ресурс потока. Метод RemoveStreamResource может использоваться только драйверами минипорта audio waveRT.
Синтаксис
NTSTATUS RemoveStreamResource(
PCSTREAMRESOURCE ResourceHandle
);
Параметры
ResourceHandle
PCSTREAMRESOURCE — дескриптор ресурсов, возвращаемый pcAddStreamResource. Дополнительные сведения см. в pcAddStreamResource.
Возвращаемое значение
Этот метод возвращает NTSTATUS, содержащий:
- STATUS_SUCCESS — драйвер смог зарегистрировать ресурс указанного PDO.
- STATUS_INVALID_PARAMETER . Драйвер возвращает эту ошибку, если он находит любой другой недопустимый параметр, помимо конкретных случаев для других экземпляров состояния ошибки.
Могут быть возвращены дополнительные стандартные коды состояния.
Замечания
Чтобы обеспечить работу без сбоев, звуковые драйверы должны зарегистрировать свои ресурсы потоковой передачи с помощью портов. Это позволяет ОС управлять ресурсами, чтобы избежать помех между потоковой передачей звука и другими подсистемами. Потоковые ресурсы — это все ресурсы, используемые звуковым драйвером для обработки аудиопотоков или обеспечения потока аудиопотоков.
Звуковые драйверы должны удалить ранее зарегистрированный ресурс. Драйверы могут отменить регистрацию ресурса в результате следующих системных действий:
- Перебалансируйте устройство при изменении ресурсов ввода-вывода.
- Переходы питания устройства (D0<—>Dx) при уничтожении или создании ресурсов. Например, прерывания могут быть отключены при переходе в Dx и повторно подключены к D0.
- При обработке остановки, неожиданного удаления, удаления событий подключаемых модулей и воспроизведения.
- При удалении связанных конечных точек звука. Например, если поток создается для обработки потока данных конечной точки, а конечная точка удаляется. В этом случае драйвер должен удалить ресурс потока потока.
Звуковой драйвер должен убедиться, что ресурс действителен при выполнении этого вызова.
Требования
Требование | Ценность |
---|---|
заголовка | portcls.h |
IRQL | PASSIVE_LEVEL |