QueryContextAttributesA 函式 (sspi.h)

QueryContextAttributes (CredSSP) 函式可讓傳輸應用程式查詢認證安全性支援提供者 (CredSSP) 安全性套件,以取得安全性內容的特定屬性

語法

SECURITY_STATUS SEC_ENTRY QueryContextAttributesA(
  [in]  PCtxtHandle   phContext,
  [in]  unsigned long ulAttribute,
  [out] void          *pBuffer
);

參數

[in] phContext

要查詢之安全性內容的句柄。

[in] ulAttribute

要傳回之內容的屬性。 此參數可以是下列其中一個值。 除非另有指定,否則屬性適用於客戶端和伺服器。

意義
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 結構。

如果客戶端認證是在線身分識別認證,緩衝區會封送 處理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 參數包含SecPkgContext_PackageInfo“>SecPkgContext_PackageInfo 結構的指標,指定由 Microsoft Negotiate 提供者交涉的驗證套件名稱。
SECPKG_ATTR_PACKAGE_INFO
10
pBuffer 參數包含SecPkgContext_PackageInfo“>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: 不支援此值。

[out] pBuffer

接收屬性之結構的指標。 結構類型取決於 ulAttribute 參數的值。

傳回值

如果函式成功,則會傳回SEC_E_OK。

如果函式失敗,它可以傳回下列錯誤碼。

傳回碼/值 Description
SEC_E_INVALID_HANDLE
0x80100003
函式失敗。 phContext 參數會指定不完整內容的句柄。
SEC_E_UNSUPPORTED_FUNCTION
0x80090302
函式失敗。 ulAttribute 參數的值無效。

備註

pBuffer 參數所指向的結構會根據所查詢的屬性而有所不同。

雖然呼叫端必須配置 pBuffer 結構本身,但 SSP 會配置保留 pBuffer 結構變數大小成員所需的任何記憶體。 SSP 配置的記憶體必須藉由呼叫 FreeContextBuffer 函 式來釋放。

注意

sspi.h 標頭會將 QueryContextAttributes 定義為別名,根據 UNICODE 預處理器常數的定義,自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱 函式原型的慣例

規格需求

需求
最低支援的用戶端 Windows Vista [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2008 [僅限傳統型應用程式]
目標平台 Windows
標頭 sspi.h (包含 Security.h)
程式庫 Secur32.lib
Dll Secur32.dll

另請參閱

CERT_CONTEXT

FreeContextBuffer

SSPI 函式

SecPkgContext_ClientCreds

SecPkgContext_Sizes