NdisClCloseAddressFamily-Funktion (ndis.h)
NdisClCloseAddressFamily gibt die Zuordnung zwischen einem Clientprotokoll und dem registrierten AF eines Anrufmanagers oder eines MCM-Treibers für eine bestimmte NIC frei, an die der Client gebunden ist.
Syntax
NDIS_STATUS NdisClCloseAddressFamily(
[in] NDIS_HANDLE NdisAfHandle
);
Parameter
[in] NdisAfHandle
Gibt den von NDIS bereitgestellten Handle an, der von NdisClOpenAddressFamilyEx.
Rückgabewert
Wann NdisClCloseAddressFamily alles andere zurückgibt als NDIS_STATUS_PENDING, sollte der Client einen internen Aufruf an seine ProtocolClCloseAfComplete Funktion. Andernfalls ruft NDIS den Client auf. ProtocolClCloseAfComplete Funktion, wenn dieser Vorgang abgeschlossen ist.
Wenn NdisClCloseAddressFamily gibt NDIS_STATUS_PENDING zurück, ein Client, der auf seine ProtocolClCloseAfComplete--Funktion, die aufgerufen werden soll, sollte den aktuellen Thread nicht blockieren, da dies zu einem Deadlock führen kann. Dies ist besonders wichtig, wenn ein Client NdisClCloseAddressFamily im Kontext der Behandlung eines NdisCmNotifyCloseAddressFamily Anforderung. In diesem Fall schließt der Anrufmanager die Adressfamilie erst, nachdem der Client die NdisCmNotifyCloseAddressFamily Anforderung zurückgegeben hat. Wenn der Client den aktuellen Thread blockiert, führt der Client nie die Verarbeitung des NdisCmNotifyCloseAddressFamily Anforderung durch, wodurch ein Deadlock verursacht wird.
Bemerkungen
Ein Client ruft häufig NdisClCloseAddressFamily von seinem
ProtocolUnbindAdapterEx-Funktion, nachdem alle geöffneten VCs des Clients für die Bindung mit Aufrufen von NdisClCloseCall und/oder NdisClDeregisterSap-geschlossen wurden. Ein Client kann auch NdisClCloseAddressFamily im Kontext der Verarbeitung einer
NdisCmNotifyCloseAddressFamily Anforderung.
NDIS ruft die Clients auf ProtocolUnbindAdapterEx Funktion, wenn eine zugrunde liegende NIC, an die dieser Client gebunden ist, vom Computer entfernt oder neu konfiguriert wird. Eine PnP-Neukonfiguration des zugrunde liegenden Miniporttreibers bewirkt, dass der Anruf-Manager oder MCM-Treiber die Von ihr unterstützte Adressfamilie über diese NIC neu registrieren kann. Dies wiederum führt zu einem nachfolgenden Aufruf des Clients. ProtocolCoAfRegisterNotify Funktion. In beiden Szenarien ist der Client ProtocolUnbindAdapterEx--Funktion muss NdisClCloseAddressFamily mit allen ausstehenden NdisAfHandle aufrufen, es derzeit verwendet wird, die von dem zugrunde liegenden Miniporttreiber abhängt.
Als allgemeine Richtlinie sollte ein Client alle Ressourcen freigeben, die ihm für die verbindungsorientierte Kommunikation über den Miniporttreiber vor seinem ProtocolUnbindAdapterEx Function calls NdisCloseAdapterEx.
Die NdisAfHandle- an NdisClCloseAddressFamily übergeben wird für den Client ungültig, sobald dieser Aufruf eintritt.
Vor einem Aufruf von NdisClCloseAddressFamilykann der Client die NdisAfHandle- verwenden, während der AF geöffnet ist oder während einer ProtocolClNotifyCloseAf Vorgang steht aus. Wenn die ProtocolClNotifyCloseAf-Funktion gibt NDIS_STATUS_PENDING zurück, verwenden Sie den Handle im NdisNotifyCloseAddressFamilyComplete Aufruf nach Abschluss des Abschlussvorgangs.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Unterstützt für NDIS 6.0- und NDIS 5.1-Treiber (siehe NdisClCloseAddressFamily (NDIS 5.1)) in Windows Vista. Unterstützt für NDIS 5.1-Treiber (siehe NdisClCloseAddressFamily (NDIS 5.1)) in Windows XP. |
Zielplattform- | Desktop |
Header- | ndis.h (include Ndis.h) |
Library | Ndis.lib |
IRQL- | <= DISPATCH_LEVEL |
DDI-Complianceregeln | Irql_Protocol_Driver_Function(ndis) |