次の方法で共有


QueryContextAttributes (CredSSP) 関数

QueryContextAttributes (CredSSP) 関数を使用すると、トランスポート アプリケーションは、セキュリティ コンテキストの特定の属性について資格情報セキュリティ サポート プロバイダー (CredSSP) セキュリティ パッケージに対してクエリを実行できます。

構文

SECURITY_STATUS SEC_ENTRY QueryContextAttributes(
  _In_  PCtxtHandle phContext,
  _In_  ULONG       ulAttribute,
  _Out_ PVOID       pBuffer
);

パラメーター

phContext [in]

クエリを実行するセキュリティ コンテキストへのハンドル。

ulAttribute [in]

返されるコンテキストの属性。 このパラメーターには、次の値のいずれかを指定できます。 特に指定がない限り、属性はクライアントとサーバーの両方に適用されます。

説明
SECPKG_ATTR_C_ACCESS_TOKEN
0x80000012
pBuffer パラメーターには、現在のセキュリティ コンテキストのアクセス トークンを指定するSecPkgContext_AccessToken構造体へのポインターが含まれています。
この属性は、サーバーでのみサポートされます。
SECPKG_ATTR_C_FULL_ACCESS_TOKEN
0x80000082
pBuffer パラメーターには、現在のセキュリティ コンテキストのアクセス トークンを指定するSecPkgContext_AccessToken構造体へのポインターが含まれています。
この属性は、サーバーでのみサポートされます。
SECPKG_ATTR_CERT_TRUST_STATUS
0x80000084
pBuffer パラメーターには、証明書に関する信頼情報を指定するCERT_TRUST_STATUS構造体へのポインターが含まれています。
この属性は、クライアントでのみサポートされます。
SECPKG_ATTR_CREDS
0x80000080
pBuffer パラメーターには、クライアント資格情報を指定するSecPkgContext_ClientCreds構造体へのポインターが含まれています。
クライアント資格情報には、ユーザー名とパスワード、またはユーザー名とスマート カード PIN のいずれかを指定できます。
この属性は、サーバーでのみサポートされます。
SECPKG_ATTR_CREDS_2
0x80000086
pBuffer パラメーターには、クライアント資格情報を指定するSecPkgContext_ClientCreds構造体へのポインターが含まれています。
クライアント資格情報がユーザー名とパスワードの場合、バッファーはパック されたKERB_INTERACTIVE_LOGON 構造です。
クライアント資格情報がユーザー名とスマート カード PIN の場合、バッファーはパックされたKERB_CERTIFICATE_LOGON構造になります。
クライアント資格情報がオンライン ID 資格情報の場合、バッファーはマーシャリング されたSEC_WINNT_AUTH_IDENTITY_EX2 構造体です。
この属性は CredSSP サーバーでのみサポートされます。
Windows Server 2008 R2、Windows 7、Windows Server 2008、Windows Vista、Windows Server 2003、Windows XP: この値はサポートされていません。
SECPKG_ATTR_NEGOTIATION_PACKAGE
0x80000081
pBuffer パラメーターには、Microsoft Negotiate プロバイダーによってネゴシエートされる認証パッケージの名前を指定するSecPkgContext_PackageInfo構造体へのポインターが含まれています。
SECPKG_ATTR_PACKAGE_INFO
10
pBuffer パラメーターには、SecPkgContext_PackageInfo構造体へのポインターが含まれています。
使用中の SSP に関する情報を返します。
SECPKG_ATTR_SERVER_AUTH_FLAGS
0x80000083
pBuffer パラメーターには、現在のセキュリティ コンテキストのフラグに関する情報を指定するSecPkgContext_Flags構造体へのポインターが含まれています。
この属性は、クライアントでのみサポートされます。
SECPKG_ATTR_SIZES
0x0
pBuffer パラメーターには、SecPkgContext_Sizes構造体へのポインターが含まれています。
メッセージごとの関数と認証交換で使用される構造体のサイズを照会します。
SECPKG_ATTR_SUBJECT_SECURITY_ATTRIBUTES
124
pBuffer パラメーターには、SecPkgContext_SubjectAttributes構造体へのポインターが含まれています。
この値は、接続のセキュリティ属性に関する情報を返します。
この値は CredSSP サーバーでのみサポートされます。
Windows Server 2008、Windows Vista、Windows Server 2003、Windows XP: この値はサポートされていません。

 

pBuffer [out]

属性を受け取る構造体へのポインター。 構造体の型は 、ulAttribute パラメーターの値によって異なります。

戻り値

関数が成功すると、SEC_E_OKが返されます。

関数が失敗した場合は、次のエラー コードを返すことができます。

リターン コード/値 説明
SEC_E_INVALID_HANDLE
0x80100003
関数が失敗しました。 phContext パラメーターは、不完全なコンテキストへのハンドルを指定します。
SEC_E_UNSUPPORTED_FUNCTION
0x80090302
関数が失敗しました。 ulAttribute パラメーターの値が無効です。

 

解説

pBuffer パラメーターによって指される構造体は、クエリ対象の属性によって異なります。

呼び出し元は pBuffer 構造体自体を割り当てる必要があります。一方、SSP は pBuffer 構造体の可変サイズのメンバーを保持するために必要なメモリを割り当てます。 SSP によって割り当てられたメモリは、 FreeContextBuffer 関数を呼び出して解放する必要があります。

必要条件

要件
サポートされている最小のクライアント
Windows Vista [デスクトップ アプリのみ]
サポートされている最小のサーバー
Windows Server 2008 [デスクトップ アプリのみ]
ヘッダー
Sspi.h (Security.h を含む)
ライブラリ
Secur32.lib
[DLL]
Secur32.dll
Unicode 名と ANSI 名
QueryContextAttributesW (Unicode) と QueryContextAttributesA (ANSI)

関連項目

SSPI 関数

CERT_CONTEXT

FreeContextBuffer

SecPkgContext_ClientCreds

SecPkgContext_Sizes