fonction LPM_AdmitRsvpMsg (lpmapi.h)

La fonction LPM_AdmitRsvpMsg est appelée par le PCM pour transmettre des messages RSVP au LPM pour les décisions de contrôle d’admission basées sur des stratégies. Les résultats de l’appel de LPM_AdmitRsvpMsg peuvent être renvoyés au PCM de façon synchrone ou asynchrone en définissant la valeur de retour de manière appropriée. Les résultats asynchrones doivent être retournés en appelant la fonction cbAdmitResult .

Syntaxe

ULONG LPM_AdmitRsvpMsg(
  [in]  RHANDLE         PcmReqHandle,
  [in]  RSVP_HOP        *pRecvdIntf,
  [in]  RSVP_MSG_OBJS   *pRsvpMsgObjs,
  [in]  int             RcvdRsvpMsgLength,
  [in]  UCHAR           *RcvdRsvpMsg,
  [out] ULONG           *pulPcmActionFlags,
  [out] POLICY_DECISION *pPolicyDecisions,
  [out] void            *Reserved
);

Paramètres

[in] PcmReqHandle

Handle unique qui identifie cette demande à partir de toutes les autres demandes. Les LPMs doivent transmettre ce handle au PCM lors du retour des résultats de manière asynchrone pour une demande individuelle en appelant cbAdmitResult. Le paramètre PcmReqHandle devient non valide une fois que les résultats sont retournés, ce qui oblige chaque requête à obtenir son propre PcmReqHandle à partir du PCM.

[in] pRecvdIntf

Pointeur vers l’interface sur laquelle le message a été reçu. L’adresse IP de l’interface reçue est fournie en tant qu’objet HOP RSVP et le handle d’interface logique est défini sur l’index SNMP. Notez que les numéros d’index d’interface peuvent changer avec l’ajout et la suppression des interfaces, en raison des fonctionnalités Plug-and-Play de Windows 2000.

[in] pRsvpMsgObjs

Objets reçus de RSVP. Le SBM décompresse les messages RSVP reçus en objets individuels et convertit le contenu de ces objets RSVP dans l’ordre hôte, et les fournit dans la structure RSVP_MSG_OBJS , qui est définie dans Lpmapi.h. Les objets suivants sont fournis.

[in] RcvdRsvpMsgLength

Longueur du message RSVP reçu, en octets.

Valeur Signification
RsvpMsgType
Type de message RSVP, tel que défini par le protocole RSVP.
RsvpSession
Pointeur vers la session RSVP, tel que défini par le protocole RSVP. Notez que le contenu est dans l’ordre hôte.
RsvpFromHop
Pointeur vers le tronçon à partir duquel le message RSVP a été reçu. Notez que le contenu est dans l’ordre hôte.
RsvpScope
Pointeur vers l’objet d’étendue RSVP.
RsvpStyle
Pointeur vers le style de réservation RSVP, tel que défini par le protocole RSVP. Notez que le contenu est dans l’ordre hôte.
FlowDescListCount
Nombre de descripteurs de flux.
FlowDescList
Tableau de pointeurs de descripteur de flux.
PolicyDataCount
Nombre d’objets de données de stratégie.
PolicyDataObjects
Tableau de pointeurs d’objets de données de stratégie. Notez que seul l’en-tête d’objet RSVP et les options de stratégie sont converties en ordre hôte, mais que les en-têtes d’élément de stratégie ainsi que le contenu sont laissés dans l’ordre réseau ; le PCM ne peut pas convertir ce dernier en ordre hôte, car le PCM ne peut pas analyser les éléments de stratégie. Notez que le LPM fourni par Microsoft, Msidlpm.dll, réorganise le contenu de l’élément de stratégie dans l’ordre hôte.
ErrorSpec
Pointeur vers l’objet RSVP reçu ERROR_SPEC.

[in] RcvdRsvpMsg

Message RSVP, dans l’ordre réseau.

[out] pulPcmActionFlags

Indicateurs utilisés pour spécifier une action demandée du PCM. Le LPM peut actuellement définir ce paramètre sur FORCE_IMMEDIATE_REFRESH pour demander une actualisation immédiate du message admis. Un LPM peut définir cet indicateur si une modification des données de stratégie est détectée qu’elle souhaite transférer immédiatement. Avant d’envoyer, le SBM demande au LPM de fournir des informations de stratégie pour le message d’actualisation sortant.

Notez que les LPMs n’ont pas besoin de définir cet indicateur lorsqu’un nouveau message PATH est accepté ; Les SBMs envoient automatiquement le nouveau message PATH vers les récepteurs.

[out] pPolicyDecisions

Pointeur vers les décisions de stratégie. Un LPM doit allouer cette mémoire tampon à l’aide de l’allocateur de mémoire fourni dans l’appel de fonction LPM_Initialize ; SBM libère la mémoire tampon après avoir agi sur pPolicyDecisions. Le PCM examine pPolicyDecisions uniquement lorsque la fonction retourne LPM_RESULT_READY. Les décisions de stratégie synchrone doivent être retournées pour chaque flux dans FlowDescList, et le nombre d’entrées dans le tableau pPolicyDecisions doit être égal à FlowDescListCount. Chaque décision de stratégie se compose des valeurs indiquées dans le tableau suivant.

Valeur Signification
LpmPriorityValue
Pointeur vers une mémoire tampon pour recevoir la valeur de priorité LPM à partir de LPM. Notez que le PCM examine uniquement ce paramètre si la valeur de retour de LPM_AdmitRsvpMsg est définie sur LPM_RESULT_READY. Si le LPM retourne les résultats de manière synchrone, ce paramètre doit être défini sur une valeur de priorité valide. Pour plus d’informations, consultez le module de stratégie locale .
PolicyErrorCode
Pointeur vers un code d’erreur de stratégie. Si la demande est rejetée de façon synchrone, les LPMs doivent fournir une valeur non nulle pour ce paramètre ; le SBM copie cette valeur, en combinaison avec PolicyErrorValue, dans l’objet d’erreur RSVP lors de l’envoi de messages PATHERR ou RESVERR (en raison de l’échec du contrôle d’admission basé sur la stratégie, pour fournir une raison de rejet de la demande).
PolicyErrorValue
Pointeur vers une valeur d’erreur de stratégie. Si la demande est rejetée de façon synchrone, les LPMs doivent fournir une valeur non nulle pour ce paramètre ; SBM copie cette valeur, en combinaison avec PolicyErrorCode, dans l’objet d’erreur RSVP lors de l’envoi de messages PATHERR ou RESVERR (en raison de l’échec du contrôle d’admission basé sur la stratégie, pour fournir une raison de rejet de la demande).
 

Étant donné que le retour d’un LPM POLICY_DECISION est un tableau, un LPM peut accepter un sous-ensemble de flux dans FlowDescList et rejeter le reste d’entre eux, le cas échéant. Par exemple, étant donné que les messages RESV de style FF peuvent contenir plusieurs flux, lorsqu’un LPM rejette certains flux et accepte d’autres, le SBM génère un message RESVERR distinct pour chaque flux rejeté; avant d’envoyer le message RESVERR, PCM appelle chaque LPM pour fournir des objets de données de stratégie pour chaque message RESVERR sortant.

[out] Reserved

Réservé pour un usage futur.

Valeur retournée

Cette fonction retourne ULONG.

Notes

Le Gestionnaire de bande passante de sous-réseau (SBM) transfère RSVP PATH, RESV, PATHERR, RESVERR, PATH_TEAR et RESV_TEAR messages au PCM. Si une demande transmet l’admission basée sur la stratégie LPM (auquel cas l’état de réussite est transmis via le PCM au SBM), le SBM effectue un contrôle d’admission basé sur des ressources dans le cadre de son traitement RSVP ; si le contrôle d’admission basé sur les ressources échoue, le SBM demande au PCM de demander à chaque LPM de supprimer son état par le biais de la fonction LPM_CommitResv . Dans ces circonstances, le SGB (et non les LPMs) crée le message d’erreur RSVP requis.

Configuration requise

   
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_Initialize

cbAdmitResult

cbGetRsvpObjects