Delen via


Wachtrijstatussen en bewerkingen

Voor elke wachtrij moet een netwerkadapter de volgende set operationele statussen ondersteunen:

niet gedefinieerd
De wachtrij is niet toegewezen. Om een wachtrij toe te wijzen, stuurt een overliggend stuurprogramma een OID_RECEIVE_FILTER_ALLOCATE_QUEUE OID-aanvraag.

toegewezen
De Toegewezen staat is de initiële staat voor een wachtrij. Wanneer een wachtrij zich in de status Gealloceerd bevindt, stelt het overliggende stuurprogramma meestal filters op de wachtrij in met de OID_RECEIVE_FILTER_SET_FILTER OID of voltooit het de wachtrijallocatie met de OID_RECEIVE_FILTER_QUEUE_ALLOCATION_COMPLETE OID-aanvraag.

instellen
In de status heeft een wachtrij ten minste één filter toegewezen, maar het bovenliggende stuurprogramma heeft de OID_RECEIVE_FILTER_QUEUE_ALLOCATION_COMPLETE OID niet verzonden.

wordt uitgevoerd
In de status Actief heeft de wachtrij filters ingesteld, is de wachtrijtoewijzing voltooid en geeft de miniport-adapter aan dat er pakketten voor de wachtrij worden ontvangen.

Gepauzeerd
In de status Gepauzeerd geeft de netwerkadapter geen ontvangen netwerkgegevens door voor de wachtrij. Of er waren geen filters ingesteld op de wachtrij voordat de OID_RECEIVE_FILTER_QUEUE_ALLOCATION_COMPLETE OID-aanvraag, of alle filters die op de wachtrij waren ingesteld, zijn gewist met de OID_RECEIVE_FILTER_CLEAR_FILTER OID-aanvraag.

DMA gestopt
In de DMA gestopt status, heeft een minipoortstuurprogramma een OID_RECEIVE_FILTER_FREE_QUEUE OID-aanvraag ontvangen. Wanneer de DMA is gestopt en het stuurprogramma de DMA-gestopte statusindicatie (met NDIS_STATUS_RECEIVE_QUEUE_STATE) heeft uitgegeven, voert het stuurprogramma de status Vrijmaken in.

vrijmaken
In de status Vrijmaken voltooit een minipoortstuurprogramma de bewerkingen die nodig zijn om de verzend- en ontvangstbewerkingen voor de wachtrij te stoppen en de bijbehorende resources vrij te geven. Nadat alle openstaande ontvangstindicaties zijn voltooid, wordt de wachtrij verwijderd en is de wachtrij niet gedefinieerd.

In de volgende tabel zijn de kolomtitels de statussen van de wachtrij. Belangrijke gebeurtenissen worden weergegeven in de eerste kolom. De rest van de vermeldingen in de tabel specificeren de volgende toestand die de wachtrij aanneemt nadat een gebeurtenis binnen een toestand optreedt. De lege vermeldingen vertegenwoordigen ongeldige combinaties van gebeurtenissen/statussen.

Gebeurtenis \ Status Ongedefinieerde Toegewezen Set Hardlopen Onderbroken DMA stoppen Bevrijden

OID_RECEIVE_FILTER_ALLOCATE_QUEUE - methode (set)

Toegewezen

OID_RECEIVE_FILTER_QUEUE_PARAMETERS - methode (query)-aanvraag

Toegewezen

Set

Hardlopen

Onderbroken

OID_RECEIVE_FILTER_QUEUE_PARAMETERS - verzoek instellen

Toegewezen

Set

Hardlopen

Onderbroken

OID_RECEIVE_FILTER_SET_FILTER - methode (set)-aanvraag

Set

Set

Hardlopen

Hardlopen

OID_RECEIVE_FILTER_CLEAR_FILTER - aanvraag instellen (laatste filter)

Toegewezen

Onderbroken

OID_RECEIVE_FILTER_CLEAR_FILTER - aanvraag instellen (niet laatste filter)

Set

Hardlopen

OID_RECEIVE_FILTER_ENUM_FILTERS - methode (opvraagverzoek)

Toegewezen

Set

Hardlopen

Onderbroken

OID_RECEIVE_FILTER_PARAMETERS - methode (query)-aanvraag

Set

Hardlopen

OID_RECEIVE_FILTER_QUEUE_ALLOCATION_COMPLETE - methode (set)-aanvraag

Onderbroken

Hardlopen

Pakket ontvangen

Hardlopen

OID_RECEIVE_FILTER_FREE_QUEUE aanvraag instellen

DMA stoppen

DMA stoppen

DMA is gestopt en de statusindicatie NDIS_STATUS_RECEIVE_QUEUE_STATE is verzonden (opmerking: DMA was waarschijnlijk al gestopt in de status Toegewezen of Gepauzeerd)

Bevrijden

Alle ontvangstindicaties zijn voltooid en de wachtrijmiddelen worden vrijgegeven.

Ongedefinieerde

Opmerking De gebeurtenissen in de voorgaande tabel bevatten enkele secundaire gebeurtenissen die niet resulteren in een statuswijziging. Deze secundaire gebeurtenissen worden opgenomen in de tabel om de statussen op te geven waarin deze gebeurtenissen geldig zijn.

De primaire wachtrij-gebeurtenissen worden als volgt gedefinieerd:

OID_RECEIVE_FILTER_ALLOCATE_QUEUE - methode (set)-aanvraag
Een overliggend stuurprogramma heeft een wachtrij toegewezen. Zie Vm-wachtrijen toewijzen en vrijmakenvoor meer informatie over het toewijzen van wachtrijen.

OID_RECEIVE_FILTER_SET_FILTER - methode (set)-aanvraag
Een overliggend stuurprogramma stelt een filter in op een wachtrij. Als het overliggende stuurprogramma de OID_RECEIVE_FILTER_QUEUE_ALLOCATION_COMPLETE OID niet heeft verzonden, bevindt de wachtrij zich in de Set-status. Anders heeft de wachtrij de status Actief. Zie Instelling en VMQ-filters wissenvoor meer informatie over het instellen van filters voor wachtrijen.

OID_RECEIVE_FILTER_CLEAR_FILTER - verzoek configureren
Een overliggend stuurprogramma heeft een filter in een wachtrij gewist. Als het laatste filter is gewist in een actieve wachtrij, kan de DMA worden gestopt; ontvangstindicaties worden gestopt en de wachtrij moet worden gewist van ontvangen gegevens, indien van toepassing. Zie Instelling en VMQ-filters wissenvoor meer informatie over het wissen van filters voor wachtrijen.

OID_RECEIVE_FILTER_QUEUE_ALLOCATION_COMPLETE - methode (set)-aanvraag
Een boveliggend stuurprogramma heeft de toewijzing van de wachtrij voltooid. Als er filters zijn ingesteld op de wachtrij, heeft deze de status Lopend en kan het ontvangen van signalen beginnen. Zie VM-wachtrijen toewijzen en vrijmakenvoor meer informatie over het voltooien van wachtrijtoewijzing.

pakket ontvangen
Een minipoortstuurprogramma kan alleen aangeven dat er pakketten worden ontvangen voor een wachtrij die de status Actief heeft. Zie VMQ-bewerkingen voor verzenden en ontvangenvoor meer informatie over het aangeven van ontvangen gegevens voor wachtrijen.

OID_RECEIVE_FILTER_FREE_QUEUE aanvraag instellen.
Een overliggend stuurprogramma heeft een wachtrij vrijgemaakt. Het stuurprogramma geeft de DMA-gestopte statusindicatie (met NDIS_STATUS_RECEIVE_QUEUE_STATE) en gaat de status Vrijmaken in. Wanneer alle openstaande ontvangstindicaties zijn voltooid en de wachtrijbronnen worden vrijgemaakt, is de wachtrij niet gedefinieerd.