Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Функция KsDeviceRegisterAdapterObject регистрирует объект адаптера DMA с AVStream для выполнения точечной или сбора DMA на указанном устройстве. Все драйверы, скомпилированные для Win64, должны использовать вместо этого IKsDeviceFunctions::RegisterAdapterObjectEx.
Синтаксис
void KsDeviceRegisterAdapterObject(
[in] PKSDEVICE Device,
[in] PADAPTER_OBJECT AdapterObject,
[in] ULONG MaxMappingsByteCount,
[in] ULONG MappingTableStride
);
Параметры
[in] Device
Указатель на структуру KSDEVICE, представляющую устройство AVStream, для которого необходимо зарегистрировать объект адаптера.
[in] AdapterObject
Указатель на структуру DMA_ADAPTER, возвращаемую IoGetDmaAdapter, представляющей контроллер DMA.
[in] MaxMappingsByteCount
Этот параметр указывает максимальное количество байтов, которые устройство может обрабатывать для одного сопоставления. Позволяет AVStream автоматически разбить большие блоки непрерывной физической памяти на несколько элементов точечного и сбора элементов для устройств, которые накладывают ограничение размера на отдельные сопоставления при передаче DMA. Разрывы не гарантируются на границах страницы.
[in] MappingTableStride
Этот параметр указывает, сколько байтов каждой записи в таблице сопоставления требуется. Это должно быть по крайней мере размер (KSMAPPING) и может быть максимально большим.
Дополнительное пространство можно использовать мини-driver в качестве сведений о контексте.
Возвращаемое значение
Никакой
Замечания
Мини-driver, вызывающий KsDeviceRegisterAdapterObject, отвечает за ранее получение объекта адаптера через IoGetDmaAdapter.
Кроме того, обратите внимание, что если мини-driver задает флаг KSPIN_FLAG_GENERATE_MAPPINGS для любого закрепления на любом фильтре на устройстве, мини-driver должен вызывать KsDeviceRegisterAdapterObject перед обработкой любых данных. Дополнительные сведения об этом флаге можно найти на справочной странице для KSPIN_DESCRIPTOR_EX. См. также служб DMA AVStream.
Если MaxMappingByteCount на одну физическую страницу длиной, сопоставления не гарантированно находятся на одной физической странице. Кроме того, как указано в описании члена выше, параметр MaxMappingsByteCount не гарантирует, что разрывы будут возникать на границах страницы. Если требуется разрывы границ страницы, рекомендуется не указывать ограничение на размеры сопоставления; Вместо этого разорвать возвращаемые сопоставления точечной и сборной на выровненные страницы блоки вручную.
См. также поддержка DMA в 64-разрядных драйверах AVStream.
Требования
| Требование | Ценность |
|---|---|
| целевая платформа | Всеобщий |
| заголовка | ks.h (include Ks.h) |
| библиотеки | Ks.lib |
| IRQL | PASSIVE_LEVEL |