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.
Wanneer een ontvangstwachtrij vrijgemaakt moet worden, dient een overliggend stuurprogramma een set OID-verzoek in met OID_RECEIVE_FILTER_FREE_QUEUE. De InformationBuffer lid van de NDIS_OID_REQUEST-structuur bevat een aanwijzer naar een NDIS_RECEIVE_QUEUE_FREE_PARAMETERS structuur met een wachtrij-id van het type NDIS_RECEIVE_QUEUE_ID.
OID_RECEIVE_FILTER_FREE_QUEUE maakt een ontvangstwachtrij vrij die door een overliggend stuurprogramma is toegewezen met behulp van de OID_RECEIVE_FILTER_ALLOCATE_QUEUE OID. Zie Een VM-wachtrij toewijzen voor meer informatie over het toewijzen van een ontvangstwachtrij.
Notitie De standaardwachtrij, die een wachtrij-id van NDIS_DEFAULT_RECEIVE_QUEUE_ID heeft, wordt altijd toegewezen en kan niet worden vrijgemaakt.
Een overliggend stuurprogramma moet alle filters die in een wachtrij zijn ingesteld, vrijmaken voordat de wachtrij wordt vrijgemaakt. Bovendien moet een overliggend stuurprogramma alle ontvangen wachtrijen die zijn toegewezen aan een netwerkadapter vrijmaken voordat de functie NdisCloseAdapterEx wordt aangeroepen om een binding met de netwerkadapter te sluiten. NDIS maakt alle wachtrijen die zijn toegewezen op een netwerkadapter vrij voordat het minipoortstuurprogramma de MiniportHaltEx-functie aanroept.
Wanneer een minipoortstuurprogramma een aanvraag ontvangt om een wachtrij vrij te maken, volgt het deze stappen:
DMA naar gedeelde geheugenbronnen die zijn gekoppeld aan de wachtrij moet onmiddellijk worden gestopt.
Hiermee wordt een statusindicatie gegenereerd om aan te geven dat de DMA is gestopt.
Wacht tot alle openstaande NET_BUFFER_LIST structuren die aan de wachtrij zijn gekoppeld, worden geretourneerd.
Hiermee worden het gekoppelde gedeelde geheugen en de bijbehorende hardwarebronnen vrijgemaakt.
Wanneer een minipoortstuurprogramma een OID_RECEIVE_FILTER_FREE_QUEUE ingestelde aanvraag ontvangt, moet de wachtrij in de Stop DMA-status komen. Het stopt het DMA op een wachtrij en het minipoortstuurprogramma moet de statuswijziging aangeven met behulp van de NDIS_STATUS_RECEIVE_QUEUE_STATE statusindicatie. Zie Wachtrijstatussen en -bewerkingenvoor meer informatie over wachtrijstatussen.
Nadat het minipoortstuurprogramma de NDIS_STATUS_RECEIVE_QUEUE_STATE statusindicatie heeft opgegeven, moet deze wachten totdat alle in behandeling zijnde ontvangstindicaties zijn voltooid voordat het gekoppelde gedeelde geheugen kan worden vrijgemaakt. Zie Toewijzing van gedeelde geheugenbronnen voor meer informatie over het vrijmaken van gedeeld geheugen.