Anhalten eines Adapters
NDIS ruft die MiniportPause-Funktion eines Miniporttreibers auf, um einen Pausenvorgang zu initiieren. Der Adapter bleibt im Zustand Pausing, bis der Pausenvorgang abgeschlossen ist.
Im Zustand Pausing muss der Miniporttreiber ausstehende Empfangsvorgänge abschließen. Der Treiber muss außerdem alle ausstehenden Sendevorgänge abschließen und sollte alle neuen Sendeanforderungen ablehnen.
Um Empfangsvorgänge abzuschließen, wartet der Treiber, bis alle Aufrufe der NdisMIndicateReceiveNetBufferLists-Funktion zurückgegeben werden, und NDIS muss alle ausstehenden NET_BUFFER_LIST Strukturen an die MiniportReturnNetBufferLists-Funktion des Miniporttreibers zurückgeben.
Um ausstehende Sendevorgänge abzuschließen, sollte der Miniporttreiber die NdisMSendNetBufferListsComplete-Funktion für alle ausstehenden NET_BUFFER_LIST-Strukturen aufrufen. Der Treiber sollte alle neuen Sendeanforderungen an seine MiniportSendNetBufferLists-Funktion sofort ablehnen.
Nachdem ein Miniporttreiber alle ausstehenden Sende- und Empfangsvorgänge abgeschlossen hat, muss der Treiber die Pausenanforderung entweder synchron oder asynchron abschließen. Wenn der Pausenvorgang asynchron abgeschlossen wird, ruft der Treiber NdisMPauseComplete auf, um die Pausenanforderung abzuschließen. Nach Abschluss der Pausenanforderung befindet sich der Miniporttreiber im Zustand Angehalten.
NDIS initiiert keine anderen Plug & Play-Vorgänge, z. B. Anhalten, Initialisieren, Stromwechsel oder Neustartvorgänge, während sich der Miniporttreiber im Zustand Pausing befindet. NDIS kann diese Plug & Play-Vorgänge initiieren, nachdem sich ein Miniporttreiber im Zustand Angehalten befindet.