Auf Englisch lesen

Freigeben über


NdisMCmDispatchIncomingCloseCall-Makro (ndis.h)

NdisMCmDispatchIncomingCloseCall einem Client angibt, einen aktiven oder angebotenen Anruf zu zerlegen, in der Regel, weil der MCM-Treiber eine Anforderung vom Netzwerk zum Schließen der Verbindung erhalten hat.

Syntax

void NdisMCmDispatchIncomingCloseCall(
   _S_,
   _H_,
   _B_,
   _Z_
);

Parameter

_S_

Gibt einen vom Aufrufer ermittelten NDIS_STATUS_XXX-an, der den Grund für die Verbindungsanforderung angibt. Bei normalen Netzwerkvorgängen übergibt ein MCM-Treiber NDIS_STATUS_SUCCESS, um anzugeben, dass er eine von der Remotepartei initiierte Anforderung zum Schließen eines aktiven Anrufs erhalten hat.

_H_

Gibt das Handle für die VC des Anrufs an, der getrennt wird. Dieses Handle wurde von NDIS bereitgestellt, als die VC ursprünglich erstellt wurde, ob vom MCM-Treiber mit NdisMCmCreateVc oder als Eingabeparameter für die ProtocolCoCreateVc--Funktion.

_B_

Zeiger auf einen vom Aufrufer zugewiesenen Residentpuffer mit zusätzlichen protokollspezifischen Trenndaten, falls vorhanden. Je nach zugrunde liegendem Medium kann dieser Zeiger NULL-sein.

_Z_

Gibt die Größe in Byte des Puffers an, null, wenn Puffer-NULL-ist.

Rückgabewert

Nichts

Bemerkungen

Im Laufe der normalen Netzwerkvorgänge ruft ein MCM-Treiber NdisMCmDispatchIncomingCloseCall mit dem CloseStatus- auf NDIS_STATUS_SUCCESS festgelegt, da der entsprechende Client auf dem Remoteknoten NdisClCloseCallaufgerufen hat.

Ein MCM-Treiber kann jedoch auch NdisMCmDispatchIncomingCloseCall- aufrufen, wenn eine der folgenden Aktionen auftritt:

  • Der MCM-Treiber hat einen Kunden über ein Angebot für eingehende Anrufe benachrichtigt. When the miniport driver's ProtocolCmIncomingCallComplete--Funktion mit der Annahme des Clients aufgerufen wird, überprüft er die Eingabeaufrufparameter, die dieser Client geändert hat. ProtocolCmIncomingCallComplete bestimmt, dass der Client nicht unterstützte Aufrufparameter für die Verbindung vorschlägt, sodass er NdisMCmDispatchIncomingCloseCallaufruft.
  • Ungewöhnliche Netzwerkbedingungen zwingen den MCM-Treiber, aktive Aufrufe zu zerreißen. Wenn der MCM-Treiber beispielsweise benachrichtigt wird, wenn eine Verbindung zwischen diesem Client und der Remotepartei zur Verbindung unterbrochen wird, ruft der Miniporttreiber NdisCmDispatchIncomingCloseCall auf, um zu verhindern, dass der Client weitere Datenübertragungen für eine solche fehlerhafte Verbindung versucht (oder erwartet).
Nachdem der Client NdisClCloseCall aufruft und dadurch die Deaktivierung des VC verursacht hat, ist der ursprüngliche Ersteller der VC dafür verantwortlich, die VC zu zerstören. Entweder ruft der Client NdisCoDeleteVcauf, wodurch NDIS die ProtocolCoDeleteVc-Funktion des MCM-Treibers aufruft, oder der MCM-Treiber ruft NdisMCmDeleteVc nach dem Aufruf NdisMCmDeactivateVc auf und gibt alle zusätzlichen Ressourcen frei, die er dem erstellten VC zugeordnet hatte.

Ein Aufruf von NdisMCmDispatchIncomingCloseCall bewirkt, dass NDIS den Client aufruft ProtocolClIncomingCloseCall-Funktion.

Nur verbindungsorientierte Miniporttreiber, die Anrufverwaltungsunterstützung bieten, können NdisMCmDispatchIncomingCallanrufen. Eigenständige Anrufmanager, die sich bei NDIS als Protokolltreiber registrieren, rufen stattdessen NdisCmDispatchIncomingCloseCall auf.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Unterstützt für NDIS 6.0- und NDIS 5.1-Treiber (siehe NdisMCmDispatchIncomingCloseCall (NDIS 5.1)) in Windows Vista. Unterstützt für NDIS 5.1-Treiber (siehe NdisMCmDispatchIncomingCloseCall (NDIS 5.1)) in Windows XP.
Zielplattform- Desktop
Header- ndis.h (include Ndis.h)
IRQL- <= DISPATCH_LEVEL
DDI-Complianceregeln Irql_MCM_Function(ndis)

Siehe auch

MiniportInterruptDPC-

NdisClCloseCall

NdisMCmDeactivateVc

NdisMCmDeleteVc

NdisMCmDispatchIncomingCall

NdisMCmDispatchIncomingDropParty

ProtocolClIncomingCloseCall

ProtocolCoDeleteVc-