共用方式為


QueryContextAttributes (一般) 函式

可讓傳輸應用程式查詢安全性套件是否有安全性內容的特定屬性

如需搭配特定 安全性支援提供者 使用此函式的相關信息,請參閱下列主題。

主題 說明
QueryContextAttributes (CredSSP) 可讓傳輸應用程式查詢認證安全性支援提供者 (CredSSP) 以取得 安全性內容的特定屬性。
QueryContextAttributes (摘要) 可讓傳輸應用程式查詢摘要式安全性套件,以取得 安全性內容的特定屬性。
QueryContextAttributes (Kerberos) 可讓傳輸應用程式查詢 Kerberos 安全性套件是否有 安全性內容的特定屬性。
QueryContextAttributes (Negotiate) 可讓傳輸應用程式查詢交涉安全性套件是否有 安全性內容的特定屬性。
QueryContextAttributes (NTLM) 可讓傳輸應用程式查詢NTLM安全性套件是否有 安全性內容的特定屬性。
QueryContextAttributes (Schannel) 可讓傳輸應用程式查詢安全內容特定屬性的安全通道安全性套件。

語法

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

參數

phContext [in]

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

ulAttribute [in]

指定要傳回之內容的屬性。 此參數可以是下列其中一個值。

價值 意義
SECPKG_ATTR_ACCESS_TOKEN
18
pBuffer 參數包含SecPkgContext_AccessToken結構的指標。
傳回存取令牌的句柄。
SECPKG_ATTR_APP_DATA
0x5e
pBuffer 參數包含SecPkgContext_SessionAppData結構的指標。
會傳回或指定工作階段的應用程式資料。
只有安全通道 安全性套件才支援這個屬性。
SECPKG_ATTR_AUTHORITY
6
pBuffer 參數包含SecPkgContext_Authority結構的指標。
查詢驗證授權單位的名稱。
SECPKG_ATTR_CLIENT_SPECIFIED_TARGET
二十七
pBuffer 參數包含SecPkgContext_ClientSpecifiedTarget結構的指標,代表用戶端提供之初始目標的服務主體名稱 (SPN)。
Windows Server 2008、Windows Vista、Windows Server 2003 和 Windows XP: 不支援此值。
SECPKG_ATTR_CONNECTION_INFO
0x5a
pBuffer 參數包含SecPkgContext_ConnectionInfo結構的指標。
傳回已建立連接的詳細資訊。
只有安全通道 安全性套件才支援這個屬性。
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_DCE_INFO
3
pBuffer 參數包含SecPkgContext_DceInfo結構的指標。
查詢 DCE 服務所使用的授權數據。
SECPKG_ATTR_ENDPOINT_BINDINGS
26
pBuffer 參數包含指定通道系結資訊之SecPkgContext_Bindings結構的指標。
只有安全通道 安全性套件才支援這個屬性。
Windows Server 2008、Windows Vista、Windows Server 2003 和 Windows XP: 不支援此值。
SECPKG_ATTR_EAP_KEY_BLOCK
0x5b
pBuffer 參數包含SecPkgContext_EapKeyBlock結構的指標。
查詢EAP TLS 通訊協定所使用的金鑰數據。
只有安全通道 安全性套件才支援這個屬性。
SECPKG_ATTR_FLAGS
14
pBuffer 參數包含SecPkgContext_Flags結構的指標。
傳回交涉內容旗標的相關信息。
SECPKG_ATTR_ISSUER_LIST_EX
0x59
pBuffer 參數包含SecPkgContext_IssuerListInfoEx結構的指標。
傳回伺服器接受的憑證簽發者清單。
只有安全通道 安全性套件才支援這個屬性。
SECPKG_ATTR_KEY_INFO
5
pBuffer 參數包含SecPkgContext_KeyInfo結構的指標。
查詢 安全性內容中使用的金鑰相關信息。
SECPKG_ATTR_LAST_CLIENT_TOKEN_STATUS
30
pBuffer 參數包含SecPkgContext_LastClientTokenStatus結構的指標,指定來自最近呼叫 InitializeSecurityContext 函式的令牌是否為客戶端的最後一個令牌。
此值僅受 Negotiate、Kerberos 和 NTLM 安全性套件支援。
Windows Server 2008、Windows Vista、Windows Server 2003 和 Windows XP: 不支援此值。
SECPKG_ATTR_LIFESPAN
2
pBuffer 參數包含SecPkgContext_Lifespan結構的指標。
查詢內容生命週期。
SECPKG_ATTR_LOCAL_CERT_CONTEXT
0x54
pBuffer 參數包含PCCERT_CONTEXT結構的指標。
尋找包含本機結束憑證的憑證內容。
只有安全通道 安全性套件才支援這個屬性。
SECPKG_ATTR_LOCAL_CRED
pBuffer 參數包含SecPkgContext_LocalCredentialInfo結構的指標。 (過時)
被SECPKG_ATTR_LOCAL_CERT_CONTEXT取代。
SECPKG_ATTR_NAMES
1
pBuffer 參數包含SecPkgContext_Names結構的指標。
查詢與內容相關聯的名稱。
SECPKG_ATTR_NATIVE_NAMES
13
pBuffer 參數包含SecPkgContext_NativeNames結構的指標。
從輸出票證傳回主體名稱 (CNAME)。
SECPKG_ATTR_NEGOTIATION_INFO
12
pBuffer 參數包含SecPkgContext_NegotiationInfo結構的指標。
傳回要與交涉程式搭配使用 之安全性套件 的相關信息,以及使用該封裝之交涉的目前狀態。
SECPKG_ATTR_PACKAGE_INFO
10
pBuffer 參數包含SecPkgContext_PackageInfo結構的指標。
傳回使用中 SSP 的資訊。
SECPKG_ATTR_PASSWORD_EXPIRY
8
pBuffer 參數包含SecPkgContext_PasswordExpiry結構的指標。
傳回密碼到期資訊。
SECPKG_ATTR_REMOTE_CERT_CONTEXT
0x53
pBuffer 參數包含PCCERT_CONTEXT結構的指標。
尋找包含伺服器提供之結束憑證的憑證內容。
只有安全通道 安全性套件才支援這個屬性。
SECPKG_ATTR_ROOT_STORE
0x55
pBuffer 參數包含 HCERTCONTEXT 的指標。 尋找包含根存放區所提供之憑證的憑證內容。
SECPKG_ATTR_SESSION_KEY
9
pBuffer 參數包含SecPkgContext_SessionKey結構的指標。
傳回 會話金鑰的相關信息。
SECPKG_ATTR_SESSION_INFO
0x5d
pBuffer 參數包含SecPkgContext_SessionInfo結構的指標。
傳回會話的相關信息。
Windows Server 2008、Windows Vista、Windows Server 2003 和 Windows XP: 不支援此值。
只有安全通道 安全性套件才支援這個屬性。
SECPKG_ATTR_SIZES
0
pBuffer 參數包含SecPkgContext_Sizes結構的指標。
查詢每個訊息函式中使用的結構大小。
SECPKG_ATTR_STREAM_SIZES
4
pBuffer 參數包含SecPkgContext_StreamSizes結構的指標。
查詢每個訊息函式中所使用之數據流的各個部分大小。
只有安全通道 安全性套件才支援這個屬性。
SECPKG_ATTR_SUBJECT_SECURITY_ATTRIBUTES
124
pBuffer 參數包含SecPkgContext_SubjectAttributes結構的指標。
這個值會傳回連線之安全性屬性的相關信息。
只有在 CredSSP 伺服器上才支援此值。
Windows Server 2008、Windows Vista、Windows Server 2003 和 Windows XP: 不支援此值。
SECPKG_ATTR_SUPPORTED_SIGNATURES
0x66
pBuffer 參數包含SecPkgContext_SupportedSignatures結構的指標。
這個值會傳回連線所支援之簽章類型的相關信息。
只有安全通道 限制委派才支援此值。
Windows Server 2008、Windows Vista、Windows Server 2003 和 Windows XP: 不支援此值。
SECPKG_ATTR_TARGET_INFORMATION
17
pBuffer 參數包含SecPkgContext_TargetInformation結構的指標。
傳回遠端伺服器名稱的相關信息。
SECPKG_ATTR_UNIQUE_BINDINGS
25
pBuffer 參數包含指定通道系結資訊之SecPkgContext_Bindings結構的指標。
只有安全通道 限制委派才支援此值。
Windows Server 2008、Windows Vista、Windows Server 2003 和 Windows XP: 不支援此值。

 

pBuffer [out]

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

返回值

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

如果函式失敗,傳回值是非零的錯誤碼。

備註

pBuffer 參數所指向的結構會根據所查詢的屬性而有所不同。 呼叫端必須配置 pBuffer 結構本身,但 SSP 會配置任何保留 pBuffer 結構變數大小成員所需的記憶體。 透過呼叫 FreeContextBuffer 函式,即可釋放SSP配置的記憶體。

讀取SECPKG_ATTR_REMOTE_CERT_CONTEXT或SECPKG_ATTR_LOCAL_CERT_CONTEXT值之後, hCertStore 成員將會設定為包含中繼憑證的證書存儲句柄,如果有的話。 此外,應用程式會負責呼叫 CertFreeCertificateContext 來釋放憑證內容所使用的記憶體。

需求

要求 價值
最低支援的用戶端
Windows XP [僅限傳統型應用程式]
最低支援的伺服器
Windows Server 2003 [僅限傳統型應用程式]
頁首
Sspi.h (包括 Security.h)
圖書館
Secur32.lib
DLL
Secur32.dll
Unicode 和 ANSI 名稱
QueryContextAttributesW (Unicode) 和 QueryContextAttributesA (ANSI)

另請參閱

SSPI 函式

支援服務中的驗證延伸保護 (EPA)

CERT_CONTEXT

FreeContextBuffer

SecPkgContext_Authority

SecPkgContext_ConnectionInfo

SecPkgContext_DceInfo

SecPkgContext_IssuerListInfoEx

SecPkgContext_KeyInfo

SecPkgContext_Lifespan

SecPkgContext_Names

SecPkgContext_Sizes

SecPkgContext_StreamSizes