CBGETRSVPOBJECTS 콜백 함수(lpmapi.h)

cbGetRsvpObjects 함수는 LPM이 LPM_GetRsvpObjects 요청에 대한 결과를 비동기적으로 반환하는 콜백 함수입니다. LPM은 cbGetRsvpObjects 함수를 호출하여 LPM_GetRsvpObjects 요청에 대해 정책 데이터 개체를 PCM에 비동기적으로 반환합니다. LPM은 PCM의 LPM_GetRsvpObjects 요청에 LPM_RESULTS_DEFER 반환한 경우에만 cbGetRsvpObjects 함수를 사용해야 합니다.

구문

CBGETRSVPOBJECTS Cbgetrsvpobjects;

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

매개 변수

[in] LpmHandle

LPM_Initialize 제공된 LPM에 대한 고유 핸들입니다. PCM은 유효한 핸들과 함께 제공되지 않는 모든 결과를 무시합니다.

[in] RequestHandle

해당 LPM_GetRsvpObjects 요청에서 제공되는 다른 모든 요청과 이 요청을 구분하는 고유 핸들입니다.

[in] LpmError

PCM에서 이 함수와 함께 반환된 정책 데이터 개체를 사용해야 하는지 여부를 결정하는 데 사용되는 오류 값입니다. LPM_OK 이외의 값은 PCM이 *RsvpObjects의 콘텐츠를 무시하게 됩니다.

LPM이 오류를 반환하는 경우 LPM_GetRsvpObjects 요청 처리 중에 할당된 버퍼를 해제해야 합니다. 이러한 버퍼는 LPM_Initialize 함수 내에서 FreeMemory 매개 변수로 제공된 MemoryAllocator 함수를 사용하여 할당되어야 합니다.

반환되는 정책 데이터 개체가 없는 경우 LpmError 를 LPM_OK, RsvpObjectsCount를 0으로 설정해야 하며 * RsvpObjects 를 null로 설정해야 합니다. LPM은 LpmError 값을 LPV_DROP_MSG 설정하여 SBM이 RSVP 메시지 전송을 중지하도록 강제할 수 있습니다.

[in] RsvpObjectsCount

반환되는 정책 데이터 개체의 수입니다. 반환되는 정책 데이터 개체가 없는 경우 LpmError 매개 변수를 LPM_OK, RsvpObjectsCount 매개 변수를 0으로 설정해야 하며, *RsvpObjects 매개 변수를 null로 설정해야 합니다.

[in] ppRsvpObjects

정책 데이터 개체에 대한 포인터의 배열입니다. 정책 데이터 개체를 포함하는 버퍼는 LPM_Initialize 함수 내에 제공된 MemoryAllocator 함수를 사용하여 할당해야 합니다. SBM(서브넷 대역폭 관리자)은 더 이상 필요하지 않은 경우 정책 데이터 개체를 해제합니다.

반환되는 정책 데이터 개체가 없는 경우 LpmError 를 LPM_OK, RsvpObjectsCount를 0으로 설정해야 하며 * RsvpObjects 를 null로 설정해야 합니다.

반환 값

반환 값은 콜백을 제공하는 애플리케이션에 의해 정의됩니다.

설명

LPM은 기본 옵션만 필요한 경우 정책 데이터 옵션을 보낼 필요가 없습니다. 정책 데이터 개체의 콘텐츠는 PCM에 불투명하므로 PCM에서 정책 요소 헤더 및 콘텐츠의 호스트-네트워크 순서 변환을 수행하지 않습니다. PCM은 정책 요소의 수신자가 올바르게 구문 분석할 수 있도록 LPM이 네트워크 순서로 정책 요소를 생성할 것으로 예상합니다. 그러나 PCM이 정책 요소를 병합할 수 있도록 허용하려면(가능하거나 해당하는 경우) 정책 데이터 개체 헤더가 호스트 순서에 있어야 합니다.

모든 PE 유형을 지원하는 LPM에서 PCM에는 완전한 정책 데이터 개체와 필요한 정책 데이터 옵션이 필요합니다. 또한 PCM은 정책 데이터 개체 헤더가 호스트 순서로 표시될 것으로 예상합니다. 정책 옵션 및 정책 요소의 호스트-네트워크 순서 변환을 처리하는 것은 LPM의 책임입니다.

LPM이 LPV_DROP_MSG 반환하는 경우 SBM은 RSVP 새로 고침 메시지를 보내지 않지만 다른 LPM에서 반환된 정책 데이터 개체(LPV_DROP_MSG 반환하지 않은 개체(있는 경우)를 해제합니다. RSVP 새로 고침 메시지를 보내지 않으면 흐름의 RSVP 상태가 업스트림 다운스트림 모두 사용이 시작되고 결국 삭제됩니다.

참고 SBM은 일부 또는 모든 LPM이 정책 데이터 개체를 적시에 반환하지 못하는 경우에도 RSVP 새로 고침 메시지를 보냅니다. 이러한 나가는 RSVP 메시지에 필요한 모든 정책 데이터 개체가 포함되지 않을 수도 있습니다.
 

요구 사항

요구 사항 값
지원되는 최소 클라이언트 Windows 2000 Professional[데스크톱 앱만]
지원되는 최소 서버 Windows 2000 Server[데스크톱 앱만]
대상 플랫폼 Windows
헤더 lpmapi.h

추가 정보

LPM_GetRsvpObjects

LPM_Initialize