Função de retorno de chamada CBGETRSVPOBJECTS (lpmapi.h)
A função cbGetRsvpObjects é uma função de retorno de chamada para LPMs retornarem resultados de forma assíncrona para solicitações de LPM_GetRsvpObjects . Os LPMs chamam a função cbGetRsvpObjects para retornar assíncronamente objetos de dados de política ao PCM para uma solicitação de LPM_GetRsvpObjects . Um LPM só deverá usar a função cbGetRsvpObjects se retornar LPM_RESULTS_DEFER para a solicitação de LPM_GetRsvpObjects do PCM.
CBGETRSVPOBJECTS Cbgetrsvpobjects;
ULONG * Cbgetrsvpobjects(
[in] LPM_HANDLE LpmHandle,
[in] RHANDLE RequestHandle,
[in] int LpmError,
[in] int RsvpObjectsCount,
[in] RsvpObjHdr **ppRsvpObjects
)
{...}
[in] LpmHandle
Identificador exclusivo para o LPM, conforme fornecido em LPM_Initialize. O PCM ignorará qualquer resultado que não seja acompanhado por um identificador válido.
[in] RequestHandle
Identificador exclusivo que distingue essa solicitação de todas as outras solicitações, fornecidas da solicitação de LPM_GetRsvpObjects correspondente.
[in] LpmError
Valor de erro, usado pelo PCM para determinar se os objetos de dados de política retornados com essa função devem ser usados. Qualquer valor diferente de LPM_OK resultará no PCM ignorando o conteúdo de *RsvpObjects.
Observe que, se um LPM estiver retornando um erro, ele deverá liberar buffers alocados durante o processamento de solicitação LPM_GetRsvpObjects ; esses buffers deveriam ter sido alocados usando a função MemoryAllocator , fornecida dentro da função LPM_Initialize como seu parâmetro FreeMemory .
Se nenhum objeto de dados de política estiver sendo retornado, LpmError deverá ser definido como LPM_OK, RsvpObjectsCount deverá ser definido como zero e *RsvpObjects deve ser definido como nulo. O LPM pode forçar o SBM a parar de enviar a mensagem RSVP definindo o valor de LpmError como LPV_DROP_MSG.
[in] RsvpObjectsCount
Número de objetos de dados de política sendo retornados. Se nenhum objeto de dados de política estiver sendo retornado, o parâmetro LpmError deverá ser definido como LPM_OK, o parâmetro RsvpObjectsCount deverá ser definido como zero e o parâmetro *RsvpObjects deverá ser definido como nulo.
[in] ppRsvpObjects
Matriz de ponteiros para o objeto de dados de política. O buffer que contém os objetos de dados de política deve ser alocado usando a função MemoryAllocator fornecida na função LPM_Initialize . O SBM (Gerenciador de Largura de Banda de Sub-rede) liberará os objetos de dados da política quando eles não forem mais necessários.
Se nenhum objeto de dados de política estiver sendo retornado, LpmError deverá ser definido como LPM_OK, RsvpObjectsCount deverá ser definido como zero e *RsvpObjects deve ser definido como nulo.
Os valores retornados são definidos pelo aplicativo que fornece o retorno de chamada.
Os LPMs não precisarão enviar opções de dados de política se apenas as opções padrão forem necessárias. Como o conteúdo dos objetos de dados de política é opaco para o PCM, nenhuma conversão de ordem de host para rede de cabeçalhos de elemento de política e conteúdo será feita pelo PCM; o PCM espera que os LPMs gerem elementos de política na ordem de rede de modo que o receptor dos elementos de política possa analisá-los corretamente. No entanto, o cabeçalho do objeto de dados de política deve estar na ordem de host para permitir que o PCM mescle elementos de política (se possível ou aplicável).
De LPMs que dão suporte a todos os tipos de PE, o PCM espera objetos de dados de política completos e suas opções de dados de política necessárias. Além disso, o PCM espera que o cabeçalho do objeto de dados de política esteja em ordem de host; é responsabilidade do LPM processar as conversões de ordem de host para rede de opções de política e elementos de política.
Se qualquer LPM retornar LPV_DROP_MSG, o SBM não enviará uma mensagem de atualização RSVP, mas liberará os objetos de dados de política retornados por outros LPMs (aqueles que não retornaram LPV_DROP_MSG, se houver). Ao não enviar mensagens de atualização RSVP, o estado RSVP de um fluxo upstream e downstream começará a envelhecer e, eventualmente, será excluído.
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows 2000 Professional [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows 2000 Server [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | lpmapi.h |