Макрос NdisAdjustMdlLength (ndis.h)
Функция NdisAdjustMdlLength изменяет длину данных, связанных с MDL.
Синтаксис
void NdisAdjustMdlLength(
[in] _Mdl,
[in] _Length
);
Параметры
[in] _Mdl
Указатель на список дескрипторов памяти (MDL).
[in] _Length
Количество байтов данных, описываемых MDL.
Возвращаемое значение
Никакой
Замечания
Функция NdisAdjustMdlLength изменяет элемент byteCount byteCount, выделенный путем вызова функции NdisAllocateMdl.
Вызывающий объект NdisAdjustMdlLength может передавать только дескриптор MDL, выделенный вызывающим объектом. Не удается передать дескриптор MDL, выделенный другим драйвером.
Например, драйвер главного сетевого адаптера DMA автобуса вызывает NdisAdjustMdlLeng th с дескрипторами MDL, выделенными для указания многомерных выражений в общем блоке памяти. Прежде чем такой драйвер указывает полученные данные, он вызывает NdisAdjustMdlLength, чтобы сделать дескриптор MDL, который он будет включать в указание получения, соответствует размеру полученных данных, если он меньше размера буфера получения сетевого адаптера.
Длина, передаваемая NdisAdjustMdlLength, не может быть больше длины, переданной в NdisAllocateMdl при выделении дескриптора MDL.
Вызывающий объект NdisAdjustMdlLength должен восстановить длину до исходного значения, прежде чем освободить дескриптор MDL с NdisFreeMdl.
Вызывающие NdisAdjustMdlLength могут выполняться в любом IRQL, но обычно выполняются в IRQL <= DISPATCH_LEVEL.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Поддерживается в NDIS 6.0 и более поздних версиях. |
целевая платформа | Настольный |
заголовка | ndis.h (include Ndis.h) |
IRQL | Любой уровень (см. раздел "Примечания") |