SecPkgInfoW 構造体 (sspi.h)

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

構文

typedef struct _SecPkgInfoW {
  unsigned long  fCapabilities;
  unsigned short wVersion;
  unsigned short wRPCID;
  unsigned long  cbMaxToken;
  SEC_WCHAR      *Name;
  SEC_WCHAR      *Comment;
} SecPkgInfoW, *PSecPkgInfoW;

メンバー

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 登録済みセキュリティ システムのいずれかが実装されていない場合は、予約値SECPKG_ID_NONEが使用されます。

cbMaxToken

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

Name

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

Comment

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

注釈

注意

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

要件

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

こちらもご覧ください

EnumerateSecurityPackages

QuerySecurityPackageInfo