Funzione di callback CBGETRSVPOBJECTS (lpmapi.h)

La funzione cbGetRsvpObjects è una funzione di callback per IPMs per restituire in modo asincrono i risultati per le richieste di LPM_GetRsvpObjects . Le macchine virtuali chiamano la funzione cbGetRsvpObjects per restituire in modo asincrono gli oggetti dati dei criteri al PCM per una richiesta di LPM_GetRsvpObjects . Un LPM deve usare solo la funzione cbGetRsvpObjects se ha restituito LPM_RESULTS_DEFER alla richiesta di LPM_GetRsvpObjects pcM.

Sintassi

CBGETRSVPOBJECTS Cbgetrsvpobjects;

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

Parametri

[in] LpmHandle

Handle univoco per LPM, come fornito in LPM_Initialize. Il PCM ignora tutti i risultati che non sono accompagnati da un handle valido.

[in] RequestHandle

Handle univoco che distingue questa richiesta da tutte le altre richieste, fornite dalla richiesta di LPM_GetRsvpObjects corrispondente.

[in] LpmError

Valore di errore, usato dal PCM per determinare se gli oggetti dati dei criteri restituiti con questa funzione devono essere usati. Qualsiasi valore diverso da LPM_OK comporterà l'ignorare il contenuto di *RsvpObjects.

Si noti che se un LPM restituisce un errore, deve liberare buffer allocati durante l'elaborazione della richiesta di LPM_GetRsvpObjects ; questi buffer devono essere allocati usando la funzione MemoryAllocator , fornita all'interno della funzione LPM_Initialize come parametro FreeMemory .

Se non vengono restituiti oggetti dati dei criteri, lpmError deve essere impostato su LPM_OK, RsvpObjectsCount deve essere impostato su zero e *RsvpObjects deve essere impostato su Null. LPM può forzare il SBM a interrompere l'invio del messaggio RSVP impostando il valore di LpmError su LPV_DROP_MSG.

[in] RsvpObjectsCount

Numero di oggetti dati dei criteri restituiti. Se non vengono restituiti oggetti dati criteri, il parametro LpmError deve essere impostato su LPM_OK, il parametro RsvpObjectsCount deve essere impostato su zero e il parametro *RsvpObjects deve essere impostato su Null.

[in] ppRsvpObjects

Matrice di puntatori all'oggetto dati dei criteri. Il buffer contenente gli oggetti dati dei criteri deve essere allocato usando la funzione MemoryAllocator fornita all'interno della funzione LPM_Initialize . Subnet Bandwidth Manager (SBM) libera gli oggetti dati dei criteri quando non sono più necessari.

Se non vengono restituiti oggetti dati dei criteri, lpmError deve essere impostato su LPM_OK, RsvpObjectsCount deve essere impostato su zero e *RsvpObjects deve essere impostato su Null.

Valore restituito

I valori restituiti vengono definiti dall'applicazione che fornisce il callback.

Commenti

Le macchine virtuali non devono inviare opzioni di dati dei criteri se sono necessarie solo le opzioni predefinite. Poiché il contenuto degli oggetti dati dei criteri è opaco al PCM, non verrà eseguita alcuna conversione dell'ordine host-to-network delle intestazioni e dei contenuti degli elementi criteri dal PCM; PCM prevede che LPMs generi elementi dei criteri nell'ordine di rete in modo che il ricevitore degli elementi dei criteri possa analizzarli correttamente. Tuttavia, l'intestazione dell'oggetto dati dei criteri deve essere nell'host per consentire al PCM di unire gli elementi dei criteri, se possibile o applicabile.

Da LPMs che supportano tutti i tipi PE, il PCM prevede il completamento degli oggetti dati dei criteri e le relative opzioni di dati dei criteri necessarie. Inoltre, il PCM prevede che l'intestazione dell'oggetto dati dei criteri sia in ordine host; è responsabilità dell'LPM elaborare le conversioni degli ordini host-to-network delle opzioni dei criteri e degli elementi dei criteri.

Se qualsiasi LPM restituisce LPV_DROP_MSG, il SBM non invia un messaggio di aggiornamento RSVP, ma libera gli oggetti dati dei criteri restituiti da altri LPMs (quelli che non hanno restituito LPV_DROP_MSG, se presente). Non inviando messaggi di aggiornamento RSVP, lo stato RSVP di un flusso sia upstream che downstream inizierà a invecchiare e alla fine verrà eliminato.

Nota Il SBM invierà il messaggio di aggiornamento RSVP anche se alcuni o tutti gli LPMs non restituiscono oggetti dati dei criteri in modo tempestivo, anche se tale messaggio RSVP in uscita potrebbe non contenere tutti gli oggetti dati dei criteri che deve.
 

Requisiti

Requisito Valore
Client minimo supportato Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Piattaforma di destinazione Windows
Intestazione lpmapi.h

Vedi anche

LPM_GetRsvpObjects

LPM_Initialize