Ler em inglês

Compartilhar via


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.

Sintaxe

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

Retornar valor

Os valores retornados são definidos pelo aplicativo que fornece o retorno de chamada.

Comentários

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.

Nota O SBM enviará a mensagem de atualização RSVP mesmo que alguns ou todos os LPMs não retornem objetos de dados de política em tempo hábil, mesmo que essa mensagem RSVP de saída possa não conter todos os objetos de dados de política que deveria.
 

Requisitos

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

Confira também

LPM_GetRsvpObjects

LPM_Initialize