Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Метод NewMasterDmaChannel
создает новый экземпляр канала DMA главного шины.
Синтаксис
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 для шины называется главным устройством. В отличие от этого, подчиненные устройства не имеют оборудования DMA и должны полагаться на системный контроллер DMA для выполнения любых необходимых передач данных. Метод NewMasterDmaChannel
создает объект канала DMA для главного устройства. Чтобы создать объект канала DMA для подчиненного устройства, вызовите вместо него метод IPortWaveCyclic::NewSlaveDmaChannel . Дополнительные сведения о главных и подчиненных устройствах см. в разделе IDmaChannel и IDmaChannelSlave.
Параметры DmaChannel, OuterUnknownи ResourceList соответствуют соглашениям подсчета ссылок для объектов COM.
Примечание.
Корпорация Майкрософт поддерживает разнообразную и инклюзивное окружение. В этой статье содержатся ссылки на терминологию, которую руководство по стилю Майкрософт для обмена данными без предвзятости распознает как исключение. Слово или фраза в этой статье используется для согласованности, так как она в настоящее время отображается в программном обеспечении. При обновлении программного обеспечения для удаления языка эта статья будет обновлена для выравнивания.
Требования
Требование | Ценность |
---|---|
целевая платформа | универсальный |
Заголовок | portcls.h (include Portcls.h) |
IRQL | пассивный уровень |