Поделиться через


Функция обратного вызова CBADMITRESULT (lpmapi.h)

Функция cbAdmitResult используется LPM для возврата результатов запроса LPM_AdmitRsvpMsg . LPM должны использовать эту функцию, только если они вернули LPM_RESULT_DEFER в вызов функции LPM_AdmitRsvpMsg . PCM будет принимать результаты этой функции только в пределах времени, установленного каждым LPM с помощью параметра ResultTimeLimitфункции LPM_Initialize .

Синтаксис

CBADMITRESULT Cbadmitresult;

ULONG * Cbadmitresult(
  [in] LPM_HANDLE LpmHandle,
  [in] RHANDLE RequestHandle,
  [in] ULONG ulPcmActionFlags,
  [in] int LpmError,
  [in] int PolicyDecisionsCount,
  [in] POLICY_DECISION *pPolicyDecisions
)
{...}

Параметры

[in] LpmHandle

Уникальный дескриптор для LPM, как указано в LPM_Initialize. PCM будет игнорировать любой результат, который не сопровождается допустимым дескриптором LPM.

[in] RequestHandle

Уникальный дескриптор, который отличает этот запрос от всех остальных запросов. LPM должны передавать этот дескриптор в PCM при асинхронном возврате результатов для отдельного запроса путем вызова cbAdmitResult. Параметр RequestHandle становится недопустимым после возврата результатов, поэтому каждый запрос должен получить собственный уникальный RequestHandle из PCM.

[in] ulPcmActionFlags

Флаги действий модуля управления политикой.

[in] LpmError

Код ошибки LPM. Должна быть одной из следующих:

Значение Значение
INV_LPM_HANDLE
Предоставленный дескриптор LPM недопустим.
LPM_TIME_OUT
LPM вернул результаты по истечении предельного времени.
INV_REQ_HANDLE
Предоставленный дескриптор запроса недопустим.
DUP_RESULTS
LPM уже вернул результаты для этого запроса.
INV_RESULTS
Предоставленные результаты недопустимы.

[in] PolicyDecisionsCount

Количество решений политики, предоставленных в pPolicyDecisions.

[in] pPolicyDecisions

Политические решения в виде одной или нескольких POLICY_DECISION структур.

Возвращаемое значение

Эта функция обратного вызова не возвращает значение.

Комментарии

Когда запрос был отклонен, PCM вызовет LPM, чтобы указать удалить состояние запроса. LPM может удалить состояние запроса в любое время во время процесса отклонения. Если LPM удаляет состояние запроса вскоре после отклонения запроса, LPM должен быть подготовлен к обработке последующих вызовов (с помощью PCM через функцию LPM_DeleteState ), чтобы удалить состояние (уже удалено).

LPM не должен поддерживать состояние для запросов, в которые он возвращает LPV_DONT_CARE. Однако LPM должен быть готов к обработке LPM_DeleteState запросов для этого (несуществующего) состояния.

Требования

Требование Значение
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header lpmapi.h

См. также раздел

LPM_AdmitRsvpMsg

LPM_DeleteState

LPM_Initialize