Функция PcAddStreamResource (portcls.h)
PcAddStreamResource добавляет ресурс потока. Поддерживаются два типа потоковых ресурсов: прерывания и потоки, принадлежащие драйверу. PcAddStreamResource может вызываться любым драйвером miniport WaveRT без звука, который имеет прерывания или потоки, связанные с аудиопотоком. Его также можно назвать звуковыми драйверами miniport WaveRT.
Синтаксис
PORTCLASSAPI NTSTATUS PcAddStreamResource(
[in] PDEVICE_OBJECT PhysicalDeviceObject,
[in] PVOID ResourceSet,
[in] PPCSTREAMRESOURCE_DESCRIPTOR ResourceDescriptor,
[out] PCSTREAMRESOURCE *ResourceHandle
);
Параметры
[in] PhysicalDeviceObject
PDEVICE_OBJECT — PDO стека устройств, использующий этот ресурс.
[in] ResourceSet
PVOID — зарезервировано для использования в будущем, установите значение NULL. В настоящее время поддерживаются только ресурсы на уровне устройства.
[in] ResourceDescriptor
PPCSTREAMRESOURCE_DESCRIPTOR — добавляемый ресурс. Дополнительные сведения см. в разделе PCSTREAMRESOURCE_DESCRIPTOR.
[out] ResourceHandle
PCSTREAMRESOURCE* — расположение, в которое будет содержаться дескриптор ресурса. Дополнительные сведения см. в разделе PcRemoveStreamResource.
Возвращаемое значение
STATUS_SUCCESS — драйвер смог зарегистрировать ресурс указанного PDO.
STATUS_INVALID_PARAMETER — драйвер возвращает эту ошибку, если он считает какой-либо другой параметр недопустимым, кроме конкретных случаев для других экземпляров состояния ошибки.
Могут возвращаться дополнительные стандартные коды состояния.
Комментарии
Чтобы обеспечить бесперебойную работу, аудиодрайверы должны зарегистрировать свои ресурсы потоковой передачи с помощью portcls. Это позволяет ОС управлять ресурсами, чтобы избежать помех между потоковой передачей звука и другими подсистемами.
Stream ресурсы — это любые ресурсы, используемые аудиодрайвером для обработки аудиопотоков или обеспечения потока аудиоданных.
Все аудиодрайверы должны регистрировать свои потоковые ресурсы в драйвере класса аудио. Драйвер регистрирует следующие типы ресурсов: прерывания, потоки, принадлежащие драйверу, и зависимости от ресурсов других звуковых стеков (например, параллельные стеки аудиодрайверов). Дополнительные сведения см. в определении PCSTREAMRESOURCE_DESCRIPTOR .
Аудиодрайвер должен убедиться, что ресурс действителен при выполнении этого вызова.
Аудиодрайверы, которые выполняются только в Windows 10, могут использовать PcAddStreamResource и PcRemoveStreamResource. Для драйверов miniport Audio waveRT, которые также должны работать в предыдущих версиях Windows, используйте AddStreamResource и RemoveStreamResource.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 10 |
Минимальная версия сервера | Windows Server 2016 |
Целевая платформа | Windows |
Header | portcls.h |
Библиотека | Portcls.lib |
DLL | Н/Д |
IRQL | PASSIVE_LEVEL |