Метод IPortWavePci::NewMasterDmaChannel (portcls.h)
Метод NewMasterDmaChannel
создает новый экземпляр канала DMA master шины.
Синтаксис
NTSTATUS NewMasterDmaChannel(
PDMACHANNEL *OutDmaChannel,
[in, optional] PUNKNOWN OuterUnknown,
[in] POOL_TYPE PoolType,
[in, optional] PRESOURCELIST ResourceList,
[in] BOOLEAN ScatterGather,
[in] BOOLEAN Dma32BitAddresses,
[in] BOOLEAN Dma64BitAddresses,
[in] BOOLEAN IgnoreCount,
[in] DMA_WIDTH DmaWidth,
[in] DMA_SPEED DmaSpeed,
[in] ULONG MaximumLength,
[in] ULONG DmaPort
);
Параметры
OutDmaChannel
[in, optional] OuterUnknown
Указатель на интерфейс IUnknown объекта, который должен агрегировать объект канала DMA. Этот параметр является необязательным. Если агрегирование не требуется, укажите этот параметр как NULL.
[in] PoolType
Указывает тип пула носителей, из которого будет выделен объект. Это значение перечисления POOL_TYPE . Укажите для этого параметра тип непагрегированного пула.
[in, optional] ResourceList
Указатель на список ресурсов драйвера мини-порта, который является объектом IResourceList . Этот параметр является необязательным и может быть указан как NULL. Метод NewMasterDmaChannel
в настоящее время не использует этот параметр.
[in] ScatterGather
Запрашивает, чтобы канал DMA поддерживал DMA точечной и сборной. Всегда присвойте этому параметру значение TRUE.
[in] Dma32BitAddresses
Указывает использование 32-разрядных адресов для операций DMA.
[in] Dma64BitAddresses
Указывает использование 64-разрядных адресов для операций DMA.
[in] IgnoreCount
Указывает, следует ли игнорировать счетчик передачи контроллера DMA. Задайте значение TRUE , если контроллер DMA на этой платформе не поддерживает точный счетчик передачи и поэтому требует обходного решения.
[in] DmaWidth
Не используется. Задайте значение (DMA_WIDTH)(-1).
[in] DmaSpeed
Не используется. Задайте значение (DMA_SPEED)(-1).
[in] MaximumLength
Максимальное число байтов в буфере, который будет связан с этим каналом DMA.
[in] DmaPort
Не используется. Задайте значение 0.
Возвращаемое значение
NewMasterDmaChannel
возвращает STATUS_SUCCESS, если вызов был успешным. В противном случае возвращается соответствующий код ошибки.
Комментарии
Определения параметров вызова для NewMasterDmaChannel
метода аналогичны определениям для членов структуры DEVICE_DESCRIPTION с одинаковыми именами.
Укажите параметр PoolType как один из типов пулов без пахоты, определенных в перечислении POOL_TYPE. Объект канала DMA не должен находиться в постраничной памяти, так как некоторые методы в интерфейсе IDmaChannel можно вызвать из IRQL DISPATCH_LEVEL.
Параметры DmaChannel, OuterUnknown и ResourceList следуют соглашениям о подсчете ссылок для COM-объектов.
Требования
Требование | Значение |
---|---|
Целевая платформа | Универсальное |
Верхняя часть | portcls.h (включая Portcls.h) |
IRQL | PASSIVE_LEVEL |