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


Указание полученных данных от драйвера минипорта

На следующем рисунке показана индикация получения драйвера мини-порта.

Схема, иллюстрирующая сигнал получения драйвера минипорта.

Драйверы минипорта вызывают функцию NdisMIndicateReceiveNetBufferLists , чтобы указать получение данных из сети. Функция NdisMIndicateReceiveNetBufferLists передает указанный список NET_BUFFER_LIST структур вверх по стеку в вышестоящие драйверы.

Если драйвер мини-порта устанавливает флаг NDIS_RECEIVE_FLAGS_RESOURCES в параметре ReceiveFlagsобъекта NdisMIndicateReceiveNetBufferLists, это означает, что драйвер мини-порта должен немедленно восстановить владение NET_BUFFER_LIST структурами. В этом случае NDIS не вызывает функцию MiniportReturnNetBufferLists драйвера мини-порта для возврата NET_BUFFER_LIST структур. Драйвер мини-порта восстанавливает владение сразу после возврата NdisMIndicateReceiveNetBufferLists .

Если драйвер мини-порта не устанавливает флаг NDIS_RECEIVE_FLAGS_RESOURCES в параметре ReceiveFlagsобъекта NdisMIndicateReceiveNetBufferLists, NDIS возвращает указанные структуры NET_BUFFER_LIST в функцию MiniportReturnNetBufferLists драйвера минипорта . В этом случае драйвер минипорта откажется от владения указанными структурами до тех пор, пока NDIS не вернет их в MiniportReturnNetBufferLists.