функция обратного вызова LSA_ALLOCATE_CLIENT_BUFFER (ntsecpkg.h)
Выделяет буфер в адресном пространстве клиента. Буферы, выделенные в адресном пространстве клиента, используются для хранения сведений, возвращаемых клиенту из пакета проверки подлинности.
Синтаксис
LSA_ALLOCATE_CLIENT_BUFFER LsaAllocateClientBuffer;
NTSTATUS LsaAllocateClientBuffer(
[in] PLSA_CLIENT_REQUEST ClientRequest,
[in] ULONG LengthRequired,
[out] PVOID *ClientBaseAddress
)
{...}
Параметры
[in] ClientRequest
Указатель на непрозрачную структуру данных LSA_CLIENT_REQUEST , содержащую сведения о запросе проверки подлинности клиента LSA. Пользовательский пакет проверки подлинности должен передавать значение, полученное во время вызова клиентом функции, например LsaApCallPackage или LsaApLogonUser, которая возвращает выходной параметр.
[in] LengthRequired
Длина необходимого буфера в байтах.
[out] ClientBaseAddress
Указатель, получающий адрес буфера. Этот адрес является виртуальным адресом буфера в клиентском процессе, а не в текущем процессе.
Возвращаемое значение
Если функция выполняется успешно, возвращаемое значение будет STATUS_SUCCESS.
Если функция завершается сбоем, возвращаемым значением будет код NTSTATUS, который может быть следующим значением или одним из возвращаемых значений функции политики LSA.
Код возврата | Описание |
---|---|
|
Клиентский процесс не имеет достаточной квоты памяти для выделения буфера. |
Функция LsaNtStatusToWinError преобразует код NTSTATUS в код ошибки Windows.
Комментарии
Позже пакет проверки подлинности или клиентский процесс должны освободить буфер. Процесс проверки подлинности может освободить буфер с помощью процедуры диспетчеризации FreeClientBuffer . Клиентский процесс может освободить буфер с помощью функции LsaFreeReturnBuffer .
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows XP [только классические приложения] |
Минимальная версия сервера | Windows Server 2003 [только классические приложения] |
Целевая платформа | Windows |
Header | ntsecpkg.h |