Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
In de volgende afbeelding ziet u een eenvoudige ontvangstbewerking, die betrekking heeft op een protocolstuurprogramma, NDIS en onderliggende stuurprogramma's in een stuurprogrammastack.
NDIS roept de ProtocolReceiveNetBufferLists-functie van een protocolstuurprogramma aan om ontvangstindicaties te verwerken die afkomstig zijn van onderliggende stuurprogramma's. NDIS roept ProtocolReceiveNetBufferLists nadat een onderliggend stuurprogramma een functie voor ontvangstindicatie aanroept (bijvoorbeeld NdisMIndicateReceiveNetBufferLists) om ontvangen netwerkgegevens of lusbackgegevens aan te geven.
Als de NDIS_RECEIVE_FLAGS_RESOURCES vlag in de ReceiveFlags parameter van ProtocolReceiveNetBufferLists niet is ingesteld, behoudt het protocolstuurprogramma de eigendom van de NET_BUFFER_LIST structuren totdat de NdisReturnNetBufferLists functie wordt aangeroepen. Als NDIS de vlag NDIS_RECEIVE_FLAGS_RESOURCES instelt, kan het protocolstuurprogramma de NET_BUFFER_LIST-structuur en de bijbehorende resources niet behouden. De vlag NDIS_RECEIVE_FLAGS_RESOURCES geeft aan dat een onderliggend stuurprogramma een tekort aan ontvangende resources heeft. In dit geval moet de functie ProtocolReceiveNetBufferLists de ontvangen gegevens kopiëren naar door het protocol toegewezen opslag en zo snel mogelijk retourneren.
Opmerking NDIS kan de vlaggen veranderen die door een onderliggend stuurprogramma worden aangegeven. Als een minipoortstuurprogramma bijvoorbeeld de NDIS_RECEIVE_FLAGS_RESOURCES vlag instelt in de ReceiveFlags parameter van de NdisMIndicateReceiveNetBufferLists functie, kan NDIS de opgegeven gegevens kopiëren en de kopie doorgeven aan ProtocolReceiveNetBufferLists met de NDIS_RECEIVE_FLAGS_RESOURCES vlag gewist.
Opmerking Als de vlag NDIS_RECEIVE_FLAGS_RESOURCES is ingesteld, moet het protocolstuurprogramma de oorspronkelijke set NET_BUFFER_LIST structuren in de gekoppelde lijst behouden. Wanneer deze vlag bijvoorbeeld is ingesteld, kan het stuurprogramma de structuren verwerken en deze één voor één aangeven, maar voordat de functie retourneert, moet de oorspronkelijke gekoppelde lijst worden hersteld.
Protocolstuurprogramma's roepen de NdisReturnNetBufferLists functie aan om het eigendom van een lijst met NET_BUFFER_LIST structuren vrij te geven, samen met de bijbehorende NET_BUFFER structuren en netwerkgegevens.