EnumerateSecurityPackagesA 関数 (sspi.h)

EnumerateSecurityPackages 関数は、クライアントで使用できるセキュリティ パッケージに関する情報を提供する SecPkgInfo 構造体の配列を返します。

構文

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

パラメーター

[in] pcPackages

システムで使用可能なパッケージの数を受け取る ULONG 変数へのポインター。 これには、既に読み込まれているパッケージとオンデマンドで使用できるパッケージが含まれます。

[in] ppPackageInfo

SecPkgInfo 構造体の配列へのポインターを受け取る変数へのポインター。 各構造体には、その SSP 内で使用可能なセキュリティ パッケージの機能を説明するセキュリティ サポート プロバイダー (SSP) からの情報が含まれています。

配列の使用が完了したら、 FreeContextBuffer 関数を呼び出してメモリを解放します。

戻り値

関数が成功した場合、関数は SEC_E_OKを返します。

関数が失敗すると、0 以外のエラー コードが返されます。 有効な値を次の表に示しますが、これ以外にもあります。

リターン コード/値 Description
SEC_E_INSUFFICIENT_MEMORY
0x80090300L
1 つ以上のバッファーを割り当てるのに十分なメモリが不足していました。
SEC_E_INVALID_HANDLE
0x80090301L
無効なハンドルが指定されました。
SEC_E_SECPKG_NOT_FOUND
0x80090305L
指定されたパッケージが見つかりませんでした。

注釈

呼び出し元は、SecPkgInfo 構造体の Name メンバーを使用して、AcquireCredentialsHandle (General) 関数の呼び出しでセキュリティ パッケージを指定できます。

注意

sspi.h ヘッダーは、EnumerateSecurityPackages をエイリアスとして定義し、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択します。 encoding-neutral エイリアスの使用を encoding-neutral ではないコードと混在すると、コンパイル エラーまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。

要件

要件
サポートされている最小のクライアント Windows XP (デスクトップ アプリのみ)
サポートされている最小のサーバー Windows Server 2003 (デスクトップ アプリのみ)
対象プラットフォーム Windows
ヘッダー sspi.h (Security.h を含む)
Library Secur32.lib
[DLL] SspiCli.dll

こちらもご覧ください

AcquireCredentialsHandle (全般)

FreeContextBuffer

SSPI 関数

SecPkgInfo