NdisMCmDispatchIncomingCloseCall-Makro (ndis.h)

NdisMCmDispatchIncomingCloseCall weist einen Client an, einen aktiven oder angebotenen Anruf abzusetzen, 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 bestimmten NDIS_STATUS_XXX an, der den Grund für die Verbindungsanforderung angibt. Während des normalen Netzwerkbetriebs ü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 den Vc des Aufrufs an, der getrennt wird. Dieses Handle wurde von NDIS bereitgestellt, als die Vc ursprünglich erstellt wurde, sei es vom MCM-Treiber mit NdisMCmCreateVc oder als Eingabeparameter für seine ProtocolCoCreateVc-Funktion .

_B_

Zeiger auf einen vom Aufrufer zugewiesenen residenten Puffer, der ggf. zusätzliche protokollspezifische Trenndaten enthält. Abhängig vom zugrunde liegenden Medium kann dieser Zeiger NULL sein.

_Z_

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

Rückgabewert

Keine

Bemerkungen

Bei normalen Netzwerkvorgängen ruft ein MCM-Treiber NdisMCmDispatchIncomingCloseCall auf, wobei closeStatus auf NDIS_STATUS_SUCCESS festgelegt ist, da der entsprechende Client auf dem Remoteknoten NdisClCloseCall aufgerufen hat.

Ein MCM-Treiber kann jedoch auch NdisMCmDispatchIncomingCloseCall aufrufen, wenn einer der folgenden Ereignisse auftritt:

  • Der MCM-Treiber hat einen Client über ein angebot für eingehende Anrufe benachrichtigt. Wenn der Miniporttreiber Die ProtocolCmIncomingCallComplete-Funktion wird mit der Zustimmung des Clients aufgerufen. Sie überprüft die Eingabeaufrufparameter, die dieser Client geändert hat. ProtocolCmIncomingCallComplete bestimmt, dass der Client nicht unterstützte Aufrufparameter für die Verbindung vorschlägt, sodass NdisMCmDispatchIncomingCloseCall aufgerufen wird.
  • Ungewöhnliche Netzwerkbedingungen zwingen den MCM-Treiber, aktive Aufrufe abzunehmen. Wenn der MCM-Treiber beispielsweise benachrichtigt wird, wenn eine Verbindung zwischen diesem Client und der Remotepartei zur Verbindung ausfällt, ruft der Miniporttreiber NdisCmDispatchIncomingCloseCall auf, um zu verhindern, dass der Client weitere Datenübertragungen bei einer solchen unterbrochenen Verbindung versucht (oder erwartet).
Nachdem der Client NdisClCloseCall aufgerufen hat, wodurch die Deaktivierung des Vc verursacht wurde, ist der ursprüngliche Ersteller der Vc für die Zerstörung der Vc verantwortlich. Entweder ruft der Client NdisCoDeleteVc auf, wodurch NDIS die ProtocolCoDeleteVc-Funktion des MCM-Treibers aufruft, oder der MCM-Treiber ruft NdisMCmDeleteVc auf, nachdem er NdisMCmDeactivateVc aufgerufen und alle zusätzlichen Ressourcen freigegeben hat, die dem erstellten Vc zugeordnet waren.

Ein Aufruf von NdisMCmDispatchIncomingCloseCall bewirkt, dass NDIS die des Clients aufruft. ProtocolClIncomingCloseCall-Funktion .

Nur verbindungsorientierte Miniporttreiber, die Unterstützung für die Anrufverwaltung bereitstellen, können NdisMCmDispatchIncomingCall aufrufen. Eigenständige Anrufmanager, die sich bei NDIS als Protokolltreiber registrieren, rufen stattdessen NdisCmDispatchIncomingCloseCall auf.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (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
Kopfzeile ndis.h (include Ndis.h)
IRQL <= DISPATCH_LEVEL
DDI-Complianceregeln Irql_MCM_Function(ndis)

Weitere Informationen

MiniportInterruptDPC

NdisClCloseCall

NdisMCmDeactivateVc

NdisMCmDeleteVc

NdisMCmDispatchIncomingCall

NdisMCmDispatchIncomingDropParty

ProtocolClIncomingCloseCall

ProtocolCoDeleteVc