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


функция обратного вызова LSA_AP_CALL_PACKAGE (ntsecpkg.h)

Вызывается локальным центром безопасности (LSA), когда приложение для входа с доверенным подключением к LSA вызывает функцию LsaCallAuthenticationPackage и указывает идентификатор пакета проверки подлинности.

LsaApCallPackage вызывается только для приложений входа; Вызовы из приложений, у которых нет привилегии SeTcbPrivilege, направляются в функцию LsaApCallPackageUntrusted указанного пакета проверки подлинности.

Синтаксис

LSA_AP_CALL_PACKAGE LsaApCallPackage;

NTSTATUS LsaApCallPackage(
  [in]  PLSA_CLIENT_REQUEST ClientRequest,
  [in]  PVOID ProtocolSubmitBuffer,
  [in]  PVOID ClientBufferBase,
  [in]  ULONG SubmitBufferLength,
  [out] PVOID *ProtocolReturnBuffer,
  [out] PULONG ReturnBufferLength,
  [out] PNTSTATUS ProtocolStatus
)
{...}

Параметры

[in] ClientRequest

Указатель на непрозрачный буфер LSA_CLIENT_REQUEST , представляющий запрос клиента LSA.

[in] ProtocolSubmitBuffer

Предоставляет сообщение протокола для пакета проверки подлинности.

[in] ClientBufferBase

Предоставляет адрес в клиентском процессе сообщения протокола. Это может потребоваться для повторного сопоставления любых указателей в буфере ProtocolSubmitBuffer .

[in] SubmitBufferLength

Указывает длину буфера ProtocolSubmitBuffer в байтах.

[out] ProtocolReturnBuffer

Возвращает адрес выходного буфера в клиентском процессе. Пакет проверки подлинности отвечает за вызов функции AllocateClientBuffer для выделения буфера в клиентском процессе. Содержимое этого буфера зависит от пакета проверки подлинности.

[out] ReturnBufferLength

Указатель на ULONG , который возвращает длину буфера ProtocolReturnBuffer в байтах.

[out] ProtocolStatus

Указатель на значение NTSTATUS. Если функция возвращает STATUS_SUCCESS, ProtocolStatus возвращает состояние завершения, заданное пакетом проверки подлинности. Значения ProtocolStatus относятся к пакету проверки подлинности.

Дополнительные сведения о кодах NTSTATUS можно найти в файле Subauth.h, поставляемом вместе с пакетом SDK для платформы.

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

Если функция выполнена успешно, верните STATUS_SUCCESS. Это возвращаемое значение указывает, что пакет проверки подлинности пытался предоставить запрошенную службу. Используйте параметр ProtocolStatus , чтобы вернуть состояние завершения запроса на обслуживание.

Если пакет проверки подлинности не смог обработать запрос и, следовательно, не пытался предоставить запрошенную службу, верните код NTSTATUS, указывающий на проблему. Этот код может быть следующим значением или одним из возвращаемых значений функции политики LSA.

Код возврата Описание
STATUS_NO_MEMORY
Квота памяти клиента недостаточна для выделения выходного буфера.

Комментарии

Эта функция должна быть реализована пакетами проверки подлинности.

Требования

   
Минимальная версия клиента Windows XP [только классические приложения]
Минимальная версия сервера Windows Server 2003 [только классические приложения]
Целевая платформа Windows
Header ntsecpkg.h

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

AllocateClientBuffer

LsaApCallPackageUntrusted

LsaCallAuthenticationPackage