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


Функция PcNewDmaChannel (portcls.h)

Функция PcNewDmaChannel создает новый объект канала DMA. Эта функция устарела; Дополнительные сведения см. в следующих комментариях.

Синтаксис

PORTCLASSAPI NTSTATUS PcNewDmaChannel(
  [out]          PDMACHANNEL         *OutDmaChannel,
  [in, optional] PUNKNOWN            OuterUnknown,
  [in]           POOL_TYPE           PoolType,
  [in]           PDEVICE_DESCRIPTION DeviceDescription,
  [in]           PDEVICE_OBJECT      DeviceObject
);

Параметры

[out] OutDmaChannel

Выходной указатель для объекта DMA-канала, созданного этой функцией. Этот параметр указывает на переменную указателя, выделенную вызывающим объектом, в которую функция выводит ссылку на созданный объект IDmaChannel . Укажите допустимое значение указателя, отличное от NULL , для этого параметра.

[in, optional] OuterUnknown

Указатель на интерфейс IUnknown объекта, который должен агрегировать объект. Если агрегирование не требуется, присвойте этому параметру значение NULL.

[in] PoolType

Указывает тип пула носителей, из которого будет выделен объект. Это значение перечисления POOL_TYPE . Укажите тип непагированного пула для этого параметра.

[in] DeviceDescription

Указатель на описание физического устройства, для которого вызывающий объект запрашивает объект DMA. Этот параметр указывает на структуру типа DEVICE_DESCRIPTION.

[in] DeviceObject

Указатель на объект устройства для физического адаптера. Этот параметр указывает на системную структуру типа DEVICE_OBJECT.

Возвращаемое значение

PcNewDmaChannel возвращает STATUS_SUCCESS, если вызов был выполнен успешно. В противном случае возвращается соответствующий код ошибки.

Комментарии

PcNewDmaChannel устарел. Для всех новых аудиодрайверов используйте один из следующих методов IPortWave Xxx::NewXxxDmaChannel вместо PcNewDmaChannel:

IPortWavePci::NewMasterDmaChannel

IPortWaveCyclic::NewMasterDmaChannel

IPortWaveCyclic::NewSlaveDmaChannel

Для обеспечения обратной совместимости системный драйвер PortCls будет по-прежнему поддерживать PcNewDmaChannel, и существующие драйверы могут продолжать использовать эту функцию.

Укажите параметр PoolType , чтобы он был одним из типов непагрегированных пулов, определенных в перечислении POOL_TYPE. Объект канала DMA не должен находиться в выгружаемой памяти, так как некоторые методы в интерфейсе IDmaChannel можно вызвать из DISPATCH_LEVEL IRQL.

Параметры OutDmaChannel и OuterUnknown следуют соглашениям о подсчете ссылок для COM-объектов.

Примечание

Корпорация Майкрософт поддерживает разнообразную и инклюзивную среду. В этой статье содержатся ссылки на терминологию, которую руководство Майкрософт по общениям без предвзятости распознает как исключающую. Слово или фраза используется в этой статье для обеспечения согласованности, так как они в настоящее время отображаются в программном обеспечении. При обновлении программного обеспечения для удаления языка эта статья будет обновлена, чтобы она была в соответствии.

Требования

Требование Значение
Минимальная версия клиента Является устаревшей. Для всех новых аудиодрайверов используйте метод IPortWaveXxx::NewXxDmaChannel. Системный драйвер PortCls реализует функцию PcNewDmaChannel в Microsoft Windows 98/Me, а также в операционных системах Windows 2000 и более поздних версий.
Целевая платформа Универсальное
Верхняя часть portcls.h (включая Portcls.h)
Библиотека Portcls.lib
IRQL PASSIVE_LEVEL

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

DEVICE_DESCRIPTION

DEVICE_OBJECT

IDmaChannel

POOL_TYPE