QueryCoNtextAttributes (NTLM) 函式
QueryCoNtextAttributes (NTLM) 函式可讓傳輸應用程式查詢 NTLM安全性套件,以取得安全性內容的特定屬性。
語法
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_AUTHORITY
- 6
pBuffer參數包含SecPkgCoNtext_Authority結構的指標。
查詢驗證授權單位的名稱。- SECPKG_ATTR_CLIENT_SPECIFIED_TARGET
- 27
pBuffer參數包含SecPkgCoNtext_ClientSpecifiedTarget結構的指標,代表用戶端提供之初始目標 (SPN) 的服務主體名稱。
只有在使用通道系結時,才支援此值。
Windows Server 2008、Windows Vista、Windows Server 2003 和 Windows XP: 不支援此值。- 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_FLAGS
- 14
pBuffer參數包含SecPkgCoNtext_Flags結構的指標。
傳回交涉內容旗標的相關資訊。- SECPKG_ATTR_KEY_INFO
- 5
pBuffer參數包含SecPkgCoNtext_KeyInfo結構的指標。
查詢 安全性內容中所用金鑰的相關資訊。- SECPKG_ATTR_LAST_CLIENT_TOKEN_STATUS
- 30
pBuffer參數包含SecPkgCoNtext_LastClientTokenStatus結構的指標,指定最近呼叫InitializeSecurityCoNtext函式的權杖是否為用戶端的最後一個權杖。
Windows Server 2008、Windows Vista、Windows Server 2003 和 Windows XP: 不支援此值。- SECPKG_ATTR_LIFESPAN
- 2
pBuffer參數包含SecPkgCoNtext_Lifespan結構的指標。
查詢內容生命週期。- 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_ROOT_STORE
- 0x55
pBuffer參數包含HCERTCONTEXT的指標。
尋找包含根存放區所提供之憑證的憑證內容。- SECPKG_ATTR_SESSION_KEY
- 9
pBuffer參數包含SecPkgCoNtext_SessionKey結構的指標。
傳回 工作階段金鑰的相關資訊。- SECPKG_ATTR_SIZES
- 0
pBuffer參數包含SecPkgCoNtext_Sizes結構的指標。
查詢每個訊息函式中使用的結構大小。- SECPKG_ATTR_TARGET_INFORMATION
- 17
pBuffer參數包含SecPkgCoNtext_TargetInformation結構的指標。
傳回遠端伺服器名稱的相關資訊。 -
pBuffer [out]
-
接收屬性之結構的指標。 指向的結構類型取決於 ulAttribute 參數中指定的值。
傳回值
如果函式成功,傳回值會SEC_E_OK。
如果函式失敗,傳回值是非零錯誤碼。
備註
pBuffer參數所指向的結構會根據所查詢的屬性而有所不同。 呼叫端必須配置 pBuffer 結構本身,但 SSP 會配置保留 pBuffer 結構可變大小成員所需的任何記憶體。 SSP 配置的記憶體可以藉由呼叫 FreeCoNtextBuffer 函 式來釋放。
讀取SECPKG_ATTR_REMOTE_CERT_CONTEXT或SECPKG_ATTR_LOCAL_CERT_CONTEXT值之後,如果有的話, hCertStore 成員會設定為包含中繼憑證的憑證存放區控制碼。 此外,應用程式會負責呼叫 CertFreeCertificateCoNtext 以釋放憑證內容所使用的記憶體。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 |
Windows XP [僅限傳統型應用程式] |
最低支援的伺服器 |
Windows Server 2003 [僅限桌面應用程式] |
標頭 |
|
程式庫 |
|
DLL |
|
Unicode 與 ANSI 名稱 |
QueryCoNtextAttributesW (Unicode) 和 QueryCoNtextAttributesA (ANSI) |
另請參閱