Функция 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

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

PCSTREAMRESOURCE_DESCRIPTOR

PcRemoveStreamResource