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


Функция EnumerateSecurityPackagesA (sspi.h)

Функция EnumerateSecurityPackages возвращает массив структур SecPkgInfo , которые предоставляют сведения о пакетах безопасности , доступных клиенту.

Синтаксис

SECURITY_STATUS SEC_ENTRY EnumerateSecurityPackagesA(
  [in] unsigned long *pcPackages,
  [in] PSecPkgInfoA  *ppPackageInfo
);

Параметры

[in] pcPackages

Указатель на переменную ULONG , которая получает количество пакетов, доступных в системе. Сюда входят уже загруженные пакеты и пакеты, доступные по запросу.

[in] ppPackageInfo

Указатель на переменную, которая получает указатель на массив структур SecPkgInfo . Каждая структура содержит сведения от поставщика поддержки безопасности (SSP), описывающие возможности пакета безопасности, доступные в этом поставщике общих служб.

Завершив использование массива, освободите память, вызвав функцию FreeContextBuffer .

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

Если функция завершается успешно, функция возвращает SEC_E_OK.

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

Возвращаемый код/значение Описание
SEC_E_INSUFFICIENT_MEMORY
0x80090300L
Недостаточно памяти для выделения одного или нескольких буферов.
SEC_E_INVALID_HANDLE
0x80090301L
Указан недопустимый дескриптор.
SEC_E_SECPKG_NOT_FOUND
0x80090305L
Указанный пакет не найден.

Комментарии

Вызывающий объект может использовать элемент Name структуры SecPkgInfo, чтобы указать пакет безопасности в вызове функции AcquireCredentialsHandle (General).

Примечание

Заголовок sspi.h определяет EnumerateSecurityPackages в качестве псевдонима, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОД. Использование псевдонима, не зависящий от кодирования, с кодом, который не является нейтральным для кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или времени выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.

Требования

Требование Значение
Минимальная версия клиента Windows XP [только классические приложения]
Минимальная версия сервера Windows Server 2003 [только классические приложения]
Целевая платформа Windows
Header sspi.h (включая Security.h)
Библиотека Secur32.lib
DLL SspiCli.dll

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

AcquireCredentialsHandle (общие)

FreeContextBuffer

Функции SSPI

SecPkgInfo