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é.

Note Le SBM envoie le message d’actualisation RSVP même si certains ou tous les LPM ne parviennent pas à renvoyer les objets de données de stratégie en temps opportun, même si un tel message RSVP sortant peut ne pas contenir tous les objets de données de stratégie qu’il doit.
 

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

LPM_GetRsvpObjects

LPM_Initialize