Compartir a través de


función LPM_AdmitRsvpMsg (lpmapi.h)

El PCM llama a la función LPM_AdmitRsvpMsg para pasar mensajes RSVP al LPM para las decisiones de control de admisión basadas en directivas. Los resultados de llamar a LPM_AdmitRsvpMsg se pueden devolver al PCM de forma sincrónica o asincrónica estableciendo el valor devuelto correctamente. Los resultados asincrónicos deben devolverse llamando a la función cbAdmitResult .

Sintaxis

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
);

Parámetros

[in] PcmReqHandle

Identificador único que identifica esta solicitud de todas las demás solicitudes. Los LPM deben pasar este identificador al PCM al devolver resultados de forma asincrónica para una solicitud individual llamando a cbAdmitResult. El parámetro PcmReqHandle deja de ser válido una vez que se devuelven los resultados, lo que requiere que cada solicitud obtenga su propio pcmReqHandle único del PCM.

[in] pRecvdIntf

Puntero a la interfaz en la que se recibió el mensaje. La dirección IP de interfaz recibida se proporciona como el objeto HOP RSVP y el identificador de interfaz lógica se establece en el índice SNMP. Tenga en cuenta que los números de índice de interfaz pueden cambiar con la adición y eliminación de interfaces, debido a las características de Plug and Play de Windows 2000.

[in] pRsvpMsgObjs

Objetos recibidos de RSVP. El SBM desempaqueta los mensajes RSVP recibidos en objetos individuales y convierte el contenido de estos objetos RSVP en orden de host y los proporciona en la estructura de RSVP_MSG_OBJS , que se define en Lpmapi.h. Se proporcionan los siguientes objetos.

[in] RcvdRsvpMsgLength

Longitud del mensaje RSVP recibido, en bytes.

Valor Significado
RsvpMsgType
Tipo de mensaje RSVP, tal como se define en el protocolo RSVP.
RsvpSession
Puntero a la sesión RSVP, tal como se define en el protocolo RSVP. Tenga en cuenta que el contenido está en orden de host.
RsvpFromHop
Puntero al salto desde el que se recibió el mensaje RSVP. Tenga en cuenta que el contenido está en orden de host.
RsvpScope
Puntero al objeto de ámbito RSVP.
RsvpStyle
Puntero al estilo de reserva RSVP, tal como se define en el protocolo RSVP. Tenga en cuenta que el contenido está en orden de host.
FlowDescListCount
Número de descriptores de flujo.
FlowDescList
Matriz de punteros del descriptor de flujo.
PolicyDataCount
Número de objetos de datos de directiva.
PolicyDataObjects
Matriz de punteros de objeto de datos de directiva. Tenga en cuenta que solo el encabezado de objeto RSVP y las opciones de directiva se convierten en orden de host, pero los encabezados de elemento de directiva, así como el contenido se dejan en orden de red; el PCM no puede convertir este último en el orden de host, porque el PCM no puede analizar los elementos de la directiva. Tenga en cuenta que el LPM proporcionado por Microsoft, Msidlpm.dll, reordena el contenido del elemento de directiva en orden de host.
ErrorSpec
Puntero al objeto de ERROR_SPEC RSVP recibido.

[in] RcvdRsvpMsg

Mensaje RSVP, en orden de red.

[out] pulPcmActionFlags

Marcas usadas para especificar una acción solicitada del PCM. El LPM puede establecer actualmente este parámetro en FORCE_IMMEDIATE_REFRESH para solicitar una actualización inmediata del mensaje que se va a admitir. Un LPM puede establecer esta marca si se detecta un cambio en los datos de directiva que desea reenviar inmediatamente. Antes de enviarlo, el SBM pide al LPM que proporcione información de directiva para el mensaje de actualización saliente.

Tenga en cuenta que los LPM no necesitan establecer esta marca cuando se acepta un nuevo mensaje PATH; Los SMS envían automáticamente el nuevo mensaje PATH hacia los receptores.

[out] pPolicyDecisions

Puntero a las decisiones de directiva. Un LPM debe asignar este búfer mediante el asignador de memoria proporcionado en la llamada de función de LPM_Initialize ; el SBM libera el búfer después de actuar en pPolicyDecisions. El PCM examina pPolicyDecisions solo cuando la función devuelve LPM_RESULT_READY. Se deben devolver decisiones de directiva sincrónicas para cada flujo de FlowDescList y el número de entradas de la matriz pPolicyDecisions debe ser igual a FlowDescListCount. Cada decisión de directiva consta de los valores que se muestran en la tabla siguiente.

Valor Significado
LpmPriorityValue
Puntero a un búfer para recibir el valor de prioridad LPM del LPM. Tenga en cuenta que el PCM solo examinará este parámetro si el valor devuelto de LPM_AdmitRsvpMsg está establecido en LPM_RESULT_READY. Si el LPM devuelve resultados de forma sincrónica, este parámetro debe establecerse en un valor de prioridad válido. Consulte Módulo de directivas locales para obtener más información.
PolicyErrorCode
Puntero a un código de error de directiva. Si la solicitud se rechaza de forma sincrónica, los LPM deben proporcionar un valor distinto de cero para este parámetro; el SBM copiará este valor, en combinación con PolicyErrorValue, en el objeto de error RSVP al enviar mensajes PATHERR o RESVERR (como resultado de un error de control de admisión basado en directivas, para proporcionar un motivo para rechazar la solicitud).
PolicyErrorValue
Puntero a un valor de error de directiva. Si la solicitud se rechaza de forma sincrónica, los LPM deben proporcionar un valor distinto de cero para este parámetro; el SBM copiará este valor, en combinación con PolicyErrorCode, en el objeto de error RSVP al enviar mensajes PATHERR o RESVERR (como resultado de un error de control de admisión basado en directivas, para proporcionar un motivo para rechazar la solicitud).
 

Dado que la devolución de un LPM POLICY_DECISION es una matriz, un LPM puede aceptar un subconjunto de flujos en FlowDescList y rechazar el resto de ellos, si procede. Por ejemplo, dado que los mensajes RESV de estilo FF pueden contener varios flujos, cuando un LPM rechaza algunos flujos y acepta otros, el SBM genera un mensaje RESVERR independiente para cada flujo rechazado; antes de enviar el mensaje RESVERR, PCM llama a cada LPM para proporcionar objetos de datos de directiva para cada mensaje RESVERR saliente.

[out] Reserved

Reservado para uso futuro.

Valor devuelto

Esta función devuelve ULONG.

Comentarios

El Administrador de ancho de banda de subred (SBM) reenvía RSVP PATH, RESV, PATHERR, RESVERR, PATH_TEAR y RESV_TEAR mensajes al PCM. Si una solicitud pasa la admisión basada en directivas LPM (en cuyo caso el estado de éxito se pasa a través del PCM al SBM), el SBM realiza el control de admisión basado en recursos como parte de su procesamiento de RSVP; Si se produce un error en el control de admisión basado en recursos, el SBM indicará al PCM que indique a cada LPM que elimine su estado a través de la función LPM_CommitResv . En tales circunstancias, el SBM (y no los LPM) creará el mensaje de error RSVP necesario.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows 2000 Server [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado lpmapi.h

Consulte también

LPM_Initialize

cbAdmitResult

cbGetRsvpObjects