Partager via


PROTOCOL_CL_INCOMING_DROP_PARTY fonction de rappel (ndis.h)

La fonction ProtocolClIncomingDropParty est utilisée par les clients NDIS orientés connexion qui configurent des connexions multipoint. Ces clients doivent disposer de fonctions ProtocolClIncomingDropParty. Dans le cas contraire, la fonction ProtocolClIncomingDropParty du pilote de protocole peut simplement retourner le contrôle.

Remarque Vous devez déclarer la fonction à l’aide du type PROTOCOL_CL_INCOMING_DROP_PARTY. Pour plus d’informations, consultez la section Exemples suivants.
 

Syntaxe

PROTOCOL_CL_INCOMING_DROP_PARTY ProtocolClIncomingDropParty;

void ProtocolClIncomingDropParty(
  [in] NDIS_STATUS DropStatus,
  [in] NDIS_HANDLE ProtocolPartyContext,
  [in] PVOID CloseData,
  [in] UINT Size
)
{...}

Paramètres

[in] DropStatus

Indique la raison de la suppression de la partie. En règle générale, il s’agit NDIS_STATUS_SUCCESS si la partie sur la note distante a lancé une fermeture de sa connexion, mais qu’il peut s’agir d’un état déterminé par CM si le gestionnaire d’appels a lancé cette opération de suppression en raison de problèmes réseau qu’il a découverts.

[in] ProtocolPartyContext

Spécifie le handle de la zone de contexte par partie du client à supprimer. Le client a initialement fourni ce handle à NDIS lorsqu’il a appelé NdisClAddParty ou NdisClMakeCall.

[in] CloseData

Pointeur vers une mémoire tampon contenant un message de fermeture spécifique au protocole, éventuellement un pointeur fourni par le client distant reçu par le gestionnaire d’appels sur le réseau, ou ce paramètre peut être NULL.

Lorsque dropStatus est NDIS_STATUS_SUCCESS, ce paramètre est NULL si le support réseau sous-jacent ne prend pas en charge les transferts de données lors de la fermeture d’une connexion. Toutefois, tout gestionnaire d’appels particulier peut définir une structure pour transmettre des informations de diagnostic supplémentaires à ses clients sur les opérations de suppression du réseau causées par des problèmes sur le réseau.

[in] Size

Spécifie la longueur, en octets, de la mémoire tampon à closeData, zéro si CloseData est NULL.

Valeur de retour

Aucun

Remarques

Un appel à ProtocolClIncomingDropParty indique que l’un des éléments suivants s’est produit :

  • Le gestionnaire d’appels a reçu une demande sur le réseau pour fermer une connexion établie, identifiée par le NdisPartyHandle que le client a stocké dans sa zone de contexte par partie à ProtocolPartyContext.
  • Le gestionnaire d’appels a détecté que les problèmes réseau empêchent d’autres transferts de données sur la connexion établie.
Dans les deux cas, ProtocolClIncomingDropParty doit effectuer toutes les opérations déterminées par le protocole pour supprimer la partie du vc multipoint du client. ProtocolClIncomingDropParty doit appeler NdisClDropParty ou, s’il s’agit du dernier tiers sur la vc multipoint du client, NdisClCloseCall.

ProtocolClIncomingDropParty doit prendre en compte le NdisPartyHandle que le client a obtenu à partir de NdisClAddParty ou NdisClMakeCall non valide. ProtocolClIncomingDropParty pouvez libérer la zone de contexte par partie du client ou la préparer pour une réutilisation dans un appel ultérieur à NdisClAddParty.

exemples de

Pour définir une fonction ProtocolClIncomingDropParty, vous devez d’abord fournir une déclaration de fonction qui identifie le type de fonction que vous définissez. Windows fournit un ensemble de types de fonctions pour les pilotes. La déclaration d’une fonction à l’aide des types de fonctions permet d'Analyse du code pour les pilotes, de vérificateur de pilotes statiques (SDV) et d’autres outils de vérification recherchent des erreurs, et il est nécessaire d’écrire des pilotes pour le système d’exploitation Windows.

Par exemple, pour définir une fonction ProtocolClIncomingDropParty nommée « MyClIncomingDropParty », utilisez le type PROTOCOL_CL_INCOMING_DROP_PARTY comme indiqué dans cet exemple de code :

PROTOCOL_CL_INCOMING_DROP_PARTY MyClIncomingDropParty;

Ensuite, implémentez votre fonction comme suit :

_Use_decl_annotations_
VOID
 MyClIncomingDropParty(
    NDIS_STATUS  DropStatus,
    NDIS_HANDLE  ProtocolPartyContext,
    PVOID  CloseData,
    UINT  Size
    )
  {...}

Le type de fonction PROTOCOL_CL_INCOMING_DROP_PARTY est défini dans le fichier d’en-tête Ndis.h. Pour identifier plus précisément les erreurs lorsque vous exécutez les outils d’analyse du code, veillez à ajouter l’annotation Use_decl_annotations à votre définition de fonction. L’annotation Use_decl_annotations garantit que les annotations appliquées au type de fonction PROTOCOL_CL_INCOMING_DROP_PARTY dans le fichier d’en-tête sont utilisées. Pour plus d’informations sur la configuration requise pour les déclarations de fonction, consultez Déclaration de fonctions à l’aide de types de rôles de fonction pour les pilotes NDIS.

Pour plus d’informations sur Use_decl_annotations, consultez annoter le comportement de la fonction.

Exigences

Exigence Valeur
client minimum pris en charge Pris en charge pour les pilotes NDIS 6.0 et NDIS 5.1 (voir ProtocolClIncomingDropParty (NDIS 5.1)) dans Windows Vista. Pris en charge pour les pilotes NDIS 5.1 (voir ProtocolClIncomingDropParty (NDIS 5.1)) dans Windows XP.
plateforme cible Windows
d’en-tête ndis.h (include Ndis.h)
IRQL <= DISPATCH_LEVEL

Voir aussi

NdisClAddParty

NdisClCloseCall

NdisClDropParty

NdisClMakeCall

NdisCmDispatchIncomingDropParty

NdisFreeMemory

NdisFreeToNPagedLookasideList NdisMCmDispatchIncomingDropParty