Compartir a través de


Función de devolución de llamada CBGETRSVPOBJECTS (lpmapi.h)

La función cbGetRsvpObjects es una función de devolución de llamada para que los LPM devuelvan de forma asincrónica los resultados de las solicitudes de LPM_GetRsvpObjects . Los LPM llaman a la función cbGetRsvpObjects para devolver asincrónicamente objetos de datos de directiva al PCM para una solicitud de LPM_GetRsvpObjects . Un LPM solo debe usar la función cbGetRsvpObjects si devolvió LPM_RESULTS_DEFER a la solicitud de LPM_GetRsvpObjects de PCM.

Sintaxis

CBGETRSVPOBJECTS Cbgetrsvpobjects;

ULONG * Cbgetrsvpobjects(
  [in] LPM_HANDLE LpmHandle,
  [in] RHANDLE RequestHandle,
  [in] int LpmError,
  [in] int RsvpObjectsCount,
  [in] RsvpObjHdr **ppRsvpObjects
)
{...}

Parámetros

[in] LpmHandle

Identificador único para el LPM, tal y como se proporciona en LPM_Initialize. El PCM omitirá cualquier resultado que no vaya acompañado de un identificador válido.

[in] RequestHandle

Identificador único que distingue esta solicitud de todas las demás solicitudes, proporcionadas de la solicitud de LPM_GetRsvpObjects correspondiente.

[in] LpmError

Valor de error, usado por el PCM para determinar si se deben usar los objetos de datos de directiva devueltos con esta función. Cualquier valor distinto de LPM_OK provocará que el PCM omite el contenido de *RsvpObjects.

Tenga en cuenta que si un LPM devuelve un error, debe liberar búferes asignados durante el procesamiento de solicitudes LPM_GetRsvpObjects ; estos búferes deben haberse asignado mediante la función MemoryAllocator , proporcionada dentro de la función LPM_Initialize como su parámetro FreeMemory .

Si no se devuelve ningún objeto de datos de directiva, LpmError debe establecerse en LPM_OK, RsvpObjectsCount debe establecerse en cero y *RsvpObjects debe establecerse en null. El LPM puede forzar al SBM a dejar de enviar el mensaje RSVP estableciendo el valor de LpmError en LPV_DROP_MSG.

[in] RsvpObjectsCount

Número de objetos de datos de directiva que se devuelven. Si no se devuelve ningún objeto de datos de directiva, el parámetro LpmError debe establecerse en LPM_OK, el parámetro RsvpObjectsCount debe establecerse en cero y el parámetro *RsvpObjects debe establecerse en null.

[in] ppRsvpObjects

Matriz de punteros al objeto de datos de directiva. El búfer que contiene los objetos de datos de directiva debe asignarse mediante la función MemoryAllocator proporcionada dentro de la función LPM_Initialize . El Administrador de ancho de banda de subred (SBM) liberará los objetos de datos de directiva cuando ya no sean necesarios.

Si no se devuelve ningún objeto de datos de directiva, LpmError debe establecerse en LPM_OK, RsvpObjectsCount debe establecerse en cero y *RsvpObjects debe establecerse en null.

Valor devuelto

Los valores devueltos se definen mediante la aplicación que proporciona la devolución de llamada.

Comentarios

Los LPM no necesitan enviar opciones de datos de directiva si solo se requieren opciones predeterminadas. Puesto que el contenido de los objetos de datos de directiva es opaco para el PCM, la PCM no realizará ninguna conversión de orden de host a red de encabezados y contenidos de elementos de directiva; el PCM espera que los LPM generen elementos de directiva en el orden de red de modo que el receptor de los elementos de directiva pueda analizarlos correctamente. Sin embargo, el encabezado del objeto de datos de directiva debe estar en el host para permitir que el PCM combine elementos de directiva (si es posible o aplicable).

Desde los LPM que admiten todos los tipos pe, PCM espera objetos de datos de directiva completos y sus opciones de datos de directiva necesarias. Además, el PCM espera que el encabezado del objeto de datos de directiva esté en orden de host; es responsabilidad del LPM procesar las conversiones de orden de host a red de opciones de directiva y elementos de directiva.

Si cualquier LPM devuelve LPV_DROP_MSG, el SBM no enviará un mensaje de actualización RSVP, pero liberará los objetos de datos de directiva devueltos por otros LPM (aquellos que no devolvieron LPV_DROP_MSG, si los hubiera). Al no enviar mensajes de actualización RSVP, el estado RSVP de un flujo, tanto ascendente como descendente, comenzará a ser mayor y, finalmente, se eliminará.

Nota El SBM enviará el mensaje de actualización RSVP incluso si algunos o todos los LPM no devuelven objetos de datos de directiva de forma oportuna, aunque este mensaje RSVP saliente no contenga todos los objetos de datos de directiva que debería.
 

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_GetRsvpObjects

LPM_Initialize