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.
[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 |
---|---|
|
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 . |
|
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). |
|
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 |