Fonction de rappel CBGETRSVPOBJECTS (lpmapi.h)
La fonction cbGetRsvpObjects est une fonction de rappel permettant aux LPM de retourner de manière asynchrone les résultats pour les requêtes LPM_GetRsvpObjects . Les LPM appellent la fonction cbGetRsvpObjects pour renvoyer de manière asynchrone des objets de données de stratégie au PCM pour une demande de LPM_GetRsvpObjects . Un LPM ne doit utiliser la fonction cbGetRsvpObjects que s’il a retourné LPM_RESULTS_DEFER à la requête LPM_GetRsvpObjects du PCM.
Syntaxe
CBGETRSVPOBJECTS Cbgetrsvpobjects;
ULONG * Cbgetrsvpobjects(
[in] LPM_HANDLE LpmHandle,
[in] RHANDLE RequestHandle,
[in] int LpmError,
[in] int RsvpObjectsCount,
[in] RsvpObjHdr **ppRsvpObjects
)
{...}
Paramètres
[in] LpmHandle
Handle unique pour le LPM, tel que fourni dans LPM_Initialize. Le PCM ignore tout résultat qui n’est pas accompagné d’un handle valide.
[in] RequestHandle
Handle unique qui distingue cette requête de toutes les autres demandes, fournies à partir de la demande LPM_GetRsvpObjects correspondante.
[in] LpmError
Valeur d’erreur, utilisée par le PCM pour déterminer si les objets de données de stratégie retournés avec cette fonction doivent être utilisés. Toute valeur autre que LPM_OK entraîne l’ignorer par le PCM du contenu de *RsvpObjects.
Notez que si un LPM retourne une erreur, il doit libérer les mémoires tampons allouées pendant le traitement de la demande LPM_GetRsvpObjects ; ces mémoires tampons doivent avoir été allouées à l’aide de la fonction MemoryAllocator , fournie dans la fonction LPM_Initialize comme paramètre FreeMemory .
Si aucun objet de données de stratégie n’est retourné, LpmError doit être défini sur LPM_OK, RsvpObjectsCount doit avoir la valeur zéro et *RsvpObjects doit avoir la valeur Null. Le LPM peut forcer le SBM à arrêter d’envoyer le message RSVP en définissant la valeur de LpmError sur LPV_DROP_MSG.
[in] RsvpObjectsCount
Nombre d’objets de données de stratégie retournés. Si aucun objet de données de stratégie n’est retourné, le paramètre LpmError doit être défini sur LPM_OK, le paramètre RsvpObjectsCount doit être défini sur zéro et le paramètre *RsvpObjects doit avoir la valeur null.
[in] ppRsvpObjects
Tableau de pointeurs vers l’objet de données de stratégie. La mémoire tampon contenant les objets de données de stratégie doit être allouée à l’aide de la fonction MemoryAllocator fournie dans la fonction LPM_Initialize . Le Gestionnaire de bande passante de sous-réseau (SBM) libère les objets de données de stratégie lorsqu’ils ne sont plus nécessaires.
Si aucun objet de données de stratégie n’est retourné, LpmError doit être défini sur LPM_OK, RsvpObjectsCount doit avoir la valeur zéro et *RsvpObjects doit avoir la valeur Null.
Valeur retournée
Les valeurs de retour sont définies par l’application qui fournit le rappel.
Remarques
Les LPM n’ont pas besoin d’envoyer d’options de données de stratégie si seules les options par défaut sont requises. Étant donné que le contenu des objets de données de stratégie est opaque pour le PCM, aucune conversion d’ordre hôte-réseau des en-têtes et du contenu des éléments de stratégie ne sera effectuée par le PCM ; le PCM s’attend à ce que les LPM génèrent des éléments de stratégie dans l’ordre réseau afin que le récepteur des éléments de stratégie puisse les analyser correctement. Toutefois, l’en-tête de l’objet de données de stratégie doit se trouver dans l’hôte pour permettre au PCM de fusionner des éléments de stratégie (si possible ou applicable).
À partir des LPM qui prennent en charge tous les types d’PE, le PCM attend des objets de données de stratégie complets et leurs options de données de stratégie requises. En outre, le PCM s’attend à ce que l’en-tête de l’objet de données de stratégie soit dans l’ordre de l’hôte ; il incombe au LPM de traiter les conversions d’ordre d’hôte à réseau des options de stratégie et des éléments de stratégie.
Si un LPM retourne LPV_DROP_MSG, le SBM n’envoie pas de message d’actualisation RSVP, mais libère les objets de données de stratégie retournés par d’autres LPM (ceux qui n’ont pas retourné LPV_DROP_MSG, le cas échéant). En n’envoyant pas de messages d’actualisation RSVP, l’état RSVP d’un flux à la fois amont et en aval commence à vieillir et est finalement supprimé.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows 2000 Professionnel [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows 2000 Server [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | lpmapi.h |
Voir aussi
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : tout au long de 2024, nous allons éliminer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d'informations, consultez :Envoyer et afficher des commentaires pour