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


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

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

Синтаксис

KSECDDDECLSPEC SECURITY_STATUS SEC_ENTRY EnumerateSecurityPackagesW(
  [in] unsigned long *pcPackages,
  [in] PSecPkgInfoW  *ppPackageInfo
);

Параметры

[in] pcPackages

Указатель на переменную ULONG 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 определяет ПеречислениеSecurityPackages в качестве псевдонима, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОДа. Сочетание использования псевдонима, нейтрального для кодирования, с кодом, не зависящим от кодирования, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в соглашениях о прототипах функций.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows XP [только классические приложения]
минимальный поддерживаемый сервер Windows Server 2003 [только классические приложения]
целевая платформа Виндоус
заголовка sspi.h (include Security.h)
библиотеки Secur32.lib
DLL SspiCli.dll

См. также

AcquireCredentialsHandle (general)

FreeContextBuffer

функций SSPI

SecPkgInfo