PROTOCOL_CL_DROP_PARTY_COMPLETE fonction de rappel (ndis.h)
La fonction ProtocolClDropPartyComplete est utilisée par les clients NDIS orientés connexion qui configurent des connexions multipoints. Ces clients doivent avoir des fonctions ProtocolClDropPartyComplete pour effectuer les opérations asynchrones qu’ils lancent avec
NdisClDropParty. Sinon, la fonction ProtocolClDropPartyComplete inscrite d’un pilote de protocole peut simplement retourner le contrôle.
Syntaxe
PROTOCOL_CL_DROP_PARTY_COMPLETE ProtocolClDropPartyComplete;
void ProtocolClDropPartyComplete(
[in] NDIS_STATUS Status,
[in] NDIS_HANDLE ProtocolPartyContext
)
{...}
Paramètres
[in] Status
Spécifie la status finale de l’opération drop-party initiée par le client, qui peut être l’une des suivantes :
NDIS_STATUS_SUCCESS
La fête a été abandonnée. Le NdisPartyHandle qui représentait cette partie, que le client a stocké dans sa zone ProtocolPartyContext , n’est désormais pas valide.
NDIS_STATUS_FAILURE
La partie donnée était la dernière partie restante sur le vc multipoint du client. Par conséquent, le client doit appeler NdisClCloseCall pour supprimer cette partie.
[in] ProtocolPartyContext
Spécifie le handle de la zone de contexte par partie du client, que le client a initialement fourni à NDIS lorsqu’il a appelé NdisClAddParty ou NdisClMakeCall.
Valeur de retour
None
Remarques
Un appel à ProtocolClDropPartyComplete indique que le gestionnaire d’appels a terminé le traitement de la requête initiée par l’appel précédent du client à NdisClDropParty. ProtocolClDropPartyComplete peut libérer la zone de contexte par partie allouée par le client ou la préparer à la réutiliser lors d’un appel ultérieur à NdisClAddParty.
Si le client est en train de détruire un vc multipoint qu’il a créé, ProtocolClDropPartyComplete peut appeler NdisClDropParty avec n’importe quel NdisPartyHandle valide à l’une des parties restantes sur le vc multipoint actif du client. Si une seule autre partie reste sur son vc multipoint, le client doit supprimer cette partie en passant son NdisPartyHandle à NdisClCloseCall.
Exemples
Pour définir une fonction ProtocolClDropPartyComplete , 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, au vérificateur de pilotes statiques (SDV) et à d’autres outils de vérification de trouver des erreurs. 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 ProtocolClDropPartyComplete nommée « MyClDropPartyComplete », utilisez le type PROTOCOL_CL_DROP_PARTY_COMPLETE comme indiqué dans cet exemple de code :
PROTOCOL_CL_DROP_PARTY_COMPLETE MyClDropPartyComplete;
Ensuite, implémentez votre fonction comme suit :
_Use_decl_annotations_
VOID
MyClDropPartyComplete(
NDIS_STATUS Status,
NDIS_HANDLE ProtocolPartyContext
)
{...}
Le type de fonction PROTOCOL_CL_DROP_PARTY_COMPLETE 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_DROP_PARTY_COMPLETE 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 ProtocolClDropPartyComplete (NDIS 5.1)) dans Windows Vista. Pris en charge pour les pilotes NDIS 5.1 (voir ProtocolClDropPartyComplete (NDIS 5.1)) dans Windows XP. |
Plateforme cible | Windows |
En-tête | ndis.h (inclure Ndis.h) |
IRQL | <= DISPATCH_LEVEL |