Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
[Применимо только к KMDF]
Метод WdfDmaTransactionSetMaximumLength задает максимальную длину для передачи DMA, связанной с указанной транзакцией DMA.
Синтаксис
VOID WdfDmaTransactionSetMaximumLength(
[in] WDFDMATRANSACTION DmaTransaction,
[in] size_t MaximumLength
);
Параметры
[in] DmaTransaction
Дескриптор объекта транзакции DMA, полученный драйвером из предыдущего вызова WdfDmaTransactionCreate.
[in] MaximumLength
Максимальный размер в байтах, который устройство может обрабатывать в одной операции передачи DMA. Если драйвер должен работать в версиях операционных систем Microsoft Windows, поддерживающих не более 16 регистров карт,, MaximumLength должно быть меньше 65536.
Значение MaximumLength применяется только к указанной транзакции DMA, как показано ниже.
- Если указанное значение меньше значения по умолчанию, указанного драйвером в его WDF_DMA_ENABLER_CONFIG структуре, указанное значение переопределяет значение по умолчанию.
- Если указанное значение больше значения по умолчанию, указанное значение игнорируется.
Возвращаемое значение
Нет
Замечания
Ошибка возникает, если драйвер предоставляет недопустимый дескриптор объекта.
Драйвер должен инициализировать транзакцию DMA перед вызовом WdfDmaTransactionSetMaximumLength.
Сведения об инициализации транзакции DMA см. в разделе Создание и инициализация транзакции DMA.
Примеры
Следующий пример кода задает максимальную длину передачи в заданное драйвером значение для указанной транзакции DMA.
WdfDmaTransactionSetMaximumLength(
dmaTransaction,
MAX_TRANSFER_LENGTH/2,
);
Требования
| Требование | Ценность |
|---|---|
| целевая платформа | универсальный |
| минимальная версия KMDF | 1.0 |
| Заголовок | wdfdmatransaction.h (include Wdf.h) |
| Библиотека | Wdf01000.sys (см. управление версиями библиотеки Платформы).) |
| IRQL | <=DISPATCH_LEVEL |
| правил соответствия DDI | DriverCreate(kmdf) |