Поделиться через


Макрос NdisAllocateFromNPagedLookasideList (ndis.h)

Функция NdisAllocateFromNPagedLookasideList удаляет первую запись из заданной головы списка просмотра. Если список lookaside в настоящее время пуст, запись выделяется из непагрегированного пула.

Синтаксис

void NdisAllocateFromNPagedLookasideList(
   _L
);

Параметры

_L

Указатель на заголовок списка lookaside, из которого будет выделена запись. Вызывающий объект уже инициализировал заголовок списка с помощьюФункция NdisInitializeNPagedLookasideList.

Возвращаемое значение

None

Remarks

Если список lookaside не пуст, NdisAllocateFromNPagedLookasideList удаляет первую запись из списка и возвращает ее адрес вызывающей стороне. Если список lookaside пуст, NdisAllocateFromNPagedLookasideList вызывает функцию Allocate , указанную в параметре Allocate объектаФункция NdisInitializeNPagedLookasideList, которую вызывающий объект указывает при инициализации списка, если таковой есть, или выделяет запись от имени вызывающего объекта. NdisAllocateFromNPagedLookasideList возвращает значение NULL , если функция Allocate , предоставляемая вызывающей стороной, если она есть, или если сама функция не может выделить непагрегированную запись.

Все записи, выделенные из невыграженного списка lookaside, имеют фиксированный размер, который был указан, когда драйвер изначально назывался NdisInitializeNPagedLookasideList. Следовательно, список внешних данных особенно полезен для драйверов, которые должны выделять блоки фиксированного размера, в которых можно поддерживать состояние в ответ на динамический запрос ввода-вывода. Например, любой драйвер NDIS, ориентированный на подключение, может выделить области контекста VC, необходимые ему из списка lookaside при создании виртуальных машин, и освободить каждую такую запись обратно в список lookaside с помощью Функция NdisFreeToNPagedLookasideList , так как каждый VC сносится.

Требования

Требование Значение
Минимальная версия клиента Поддерживается для драйверов NDIS 6.0 и NDIS 5.1 (см. раздел NdisAllocateFromNPagedLookasideList (NDIS 5.1)) в Windows Vista. Поддерживается для драйверов NDIS 5.1 (см. раздел NdisAllocateFromNPagedLookasideList (NDIS 5.1)) в Windows XP.
Целевая платформа Персональный компьютер
Верхняя часть ndis.h (включая Ndis.h)
IRQL <= DISPATCH_LEVEL
Правила соответствия DDI Irql_Miscellaneous_Function(ndis), NdisAllocateFromNPagedLookasideList(ndis), NdisAllocateFromNPagedLookasideList_InitFail(ndis)

См. также раздел

NdisDeleteNPagedLookasideList NdisFreeToNPagedLookasideList NdisInitializeNPagedLookasideList