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