次の方法で共有


SecPkgInfoA 構造体 (sspi.h)

SecPkgInfo 構造体は、セキュリティ パッケージに関する一般的な情報 (名前や機能など) を提供します。

構文

typedef struct _SecPkgInfoA {
  unsigned long  fCapabilities;
  unsigned short wVersion;
  unsigned short wRPCID;
  unsigned long  cbMaxToken;
  SEC_CHAR       *Name;
  SEC_CHAR       *Comment;
} SecPkgInfoA, *PSecPkgInfoA;

メンバー

fCapabilities

セキュリティ パッケージの機能を記述するビット フラグのセット。 このメンバーは、次のフラグの組み合わせにすることができます。

意味
SECPKG_FLAG_INTEGRITY
0x1
セキュリティ パッケージでは、 MakeSignature 関数と VerifySignature 関数が サポートされています。
SECPKG_FLAG_PRIVACY
0x2
セキュリティ パッケージは、 EncryptMessage (General) 関数と DecryptMessage (General) 関数を サポートしています。
SECPKG_FLAG_TOKEN_ONLY
0x4
パッケージはメッセージのセキュリティ トークン部分にのみ関心があり、他のバッファーは無視されます。 これはパフォーマンス関連の問題です。
SECPKG_FLAG_DATAGRAM
0x8
データグラム スタイルの認証をサポートします。 詳細については、「 SSPI コンテキスト セマンティクス」を参照してください。
大事なMicrosoft Kerberos パッケージでは、ユーザー間モードのデータグラム コンテキストはサポートされていません。
 
SECPKG_FLAG_CONNECTION
0x10
接続指向のスタイル認証をサポートします。 詳細については、「 SSPI コンテキスト セマンティクス」を参照してください。
SECPKG_FLAG_MULTI_REQUIRED
0x20
認証には複数の脚が必要です。
SECPKG_FLAG_CLIENT_ONLY
0x40
サーバー認証のサポートは提供されていません。
SECPKG_FLAG_EXTENDED_ERROR
0x80
拡張エラー処理をサポートします。 詳細については、「 拡張エラー情報」を参照してください。
SECPKG_FLAG_IMPERSONATION
0x100
サーバー コンテキストでの Windows の偽装をサポートします。
SECPKG_FLAG_ACCEPT_WIN32_NAME
0x200
Windows プリンシパル名とターゲット名を理解します。
SECPKG_FLAG_STREAM
0x400
ストリーム セマンティクスをサポートします。 詳細については、「 SSPI コンテキスト セマンティクス」を参照してください。
SECPKG_FLAG_NEGOTIABLE
0X800
Microsoft Negotiate セキュリティ パッケージで使用できます。
SECPKG_FLAG_GSS_COMPATIBLE
0x1000
GSS 互換性をサポートします。
SECPKG_FLAG_LOGON
0x2000
LsaLogonUser をサポートします
SECPKG_FLAG_ASCII_BUFFERS
0x4000
トークン バッファーは ASCII 文字形式です。
SECPKG_FLAG_FRAGMENT
0x8000
アプリケーションが InitializeSecurityContext (General) と AcceptSecurityContext (General) を小さいバッファーで繰り返し呼び出して認証を完了できるように、大きなトークンをより小さなバッファーに分離することをサポートします。
SECPKG_FLAG_MUTUAL_AUTH
0x10000
相互認証をサポートします。
SECPKG_FLAG_DELEGATION
0x20000
委任をサポートします。
SECPKG_FLAG_READONLY_WITH_CHECKSUM
0x40000
セキュリティ パッケージでは、 EncryptMessage 関数を呼び出すときに、インプレース暗号化ではなくチェックサムの使用がサポートされています。
SECPKG_FLAG_RESTRICTED_TOKENS
0x80000
制限付きトークンを持つ呼び出し元をサポートします。
SECPKG_FLAG_NEGO_EXTENDER
0x00100000
セキュリティ パッケージは 、Microsoft Negotiate セキュリティ パッケージを拡張します。 この種類のパッケージは、最大で 1 つ存在できます。
SECPKG_FLAG_NEGOTIABLE2
0x00200000
このパッケージは、 SECPKG_FLAG_NEGO_EXTENDER型のパッケージによってネゴシエートされます。
SECPKG_FLAG_APPCONTAINER_PASSTHROUGH
0x00400000
このパッケージは、アプリ コンテナー アプリからすべての呼び出しを受け取ります。
SECPKG_FLAG_APPCONTAINER_CHECKS
0x00800000
このパッケージは、次のいずれかのチェックが成功した場合に、アプリ コンテナー アプリから呼び出しを受け取ります。
  • 呼び出し元には既定の資格情報機能があります。
  • ターゲットはプロキシ サーバーです。
  • 呼び出し元が資格情報を指定しました。
SECPKG_CALLFLAGS_APPCONTAINER
0x00000001
呼び出し元はアプリ コンテナーです。
SECPKG_CALLFLAGS_AUTHCAPABLE
0x00000002
呼び出し元は既定の資格情報を使用できます。
SECPKG_CALLFLAGS_FORCE_SUPPLIED
0x00000004
呼び出し元は、指定された資格情報のみを使用できます。

wVersion

パッケージ プロトコルのバージョンを指定します。 1 にする必要があります。

wRPCID

必要に応じて、DCE RPC 識別子を指定します。 パッケージが DCE 登録済みセキュリティ システムの 1 つを実装していない場合は、予約値SECPKG_ID_NONEが使用されます。

cbMaxToken

トークンの最大サイズをバイト単位で指定します。

Name

セキュリティ パッケージの名前を含む null で終わる文字列へのポインター。

Comment

null で終わる文字列へのポインター。 これは、パッケージによって返される任意の追加の文字列を指定できます。

注釈

注意

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

要件

要件
サポートされている最小のクライアント Windows XP (デスクトップ アプリのみ)
サポートされている最小のサーバー Windows Server 2003 (デスクトップ アプリのみ)
Header sspi.h (Security.h を含む)

こちらもご覧ください

EnumerateSecurityPackages

QuerySecurityPackageInfo