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 multipoints. Ces clients doivent avoir des fonctions ProtocolClIncomingDropParty . Sinon, la fonction ProtocolClIncomingDropParty inscrite d’un pilote de protocole peut simplement retourner le contrôle.

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

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 pour laquelle la partie doit être supprimée. En règle générale, cela est NDIS_STATUS_SUCCESS si la partie sur la note à distance a lancé une fermeture de sa connexion, mais il peut s’agir de n’importe quel status déterminé par cm si le gestionnaire d’appels a lancé cette opération drop-party en raison de problèmes réseau qu’il a découverts.

[in] ProtocolPartyContext

Spécifie le handle dans la zone de contexte par partie du client pour la partie à 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 message fourni par le client distant que le gestionnaire d’appels a reçu sur le réseau, ou ce paramètre peut avoir la valeur NULL.

Lorsque DropStatus est NDIS_STATUS_SUCCESS, ce paramètre a la valeur 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, un gestionnaire d’appels particulier peut définir une structure pour transmettre des informations de diagnostic supplémentaires à ses clients sur les opérations de non-partie provoquées par des problèmes sur le réseau.

[in] Size

Spécifie la longueur, en octets, de la mémoire tampon sur CloseData, zéro si CloseData a la valeur NULL.

Valeur de retour

None

Remarques

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

  • Le gestionnaire d’appels a reçu sur le réseau une demande de fermeture d’une connexion établie, identifiée par le NdisPartyHandle que le client a stocké dans sa zone de contexte par partie sur ProtocolPartyContext .
  • Le gestionnaire d’appels a détecté que des 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 le tiers du vc multipoint du client. ProtocolClIncomingDropParty doit appeler NdisClDropParty ou, s’il s’agit de la dernière partie restante sur le vc multipoint du client, NdisClCloseCall.

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

Exemples

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 fonction permet à l’analyse du code pour les pilotes, le vérificateur de pilotes statique (SDV) et d’autres outils de vérification de trouver les erreurs, et il s’agit d’une exigence pour l’écriture de 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 lors de l’exécution des 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 Annotating Function Behavior.

Configuration requise

Condition requise Valeur
Client minimal 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 (consultez ProtocolClIncomingDropParty (NDIS 5.1)) dans Windows XP.
Plateforme cible Windows
En-tête ndis.h (inclure Ndis.h)
IRQL <= DISPATCH_LEVEL

Voir aussi

NdisClAddParty

NdisClCloseCall

NdisClDropParty

NdisClMakeCall

NdisCmDispatchIncomingDropParty

NdisFreeMemory

NdisFreeToNPagedLookasideList NdisMCmDispatchIncomingDropParty