Funzione QueryContextAttributes (Negotiate)
La funzione QueryContextAttributes (Negotiate) consente a un'applicazione di trasporto di eseguire una query sul pacchetto di sicurezza Negotiate per determinati attributi di un contesto di sicurezza.
Sintassi
SECURITY_STATUS SEC_ENTRY QueryContextAttributes(
_In_ PCtxtHandle phContext,
_In_ ULONG ulAttribute,
_Out_ PVOID pBuffer
);
Parametri
-
phContext [in]
-
Handle per il contesto di sicurezza su cui eseguire query.
-
ulAttribute [in]
-
Specifica l'attributo del contesto da restituire. Questo parametro può avere uno dei valori seguenti.
Valore Significato - SECPKG_ATTR_ACCESS_TOKEN
- 18
Il parametro pBuffer contiene un puntatore a una struttura SecPkgContext_AccessToken .
Restituisce un handle al token di accesso.- SECPKG_ATTR_AUTHORITY
- 6
Il parametro pBuffer contiene un puntatore a una struttura SecPkgContext_Authority .
Esegue una query sul nome dell'autorità di autenticazione.- SECPKG_ATTR_CLIENT_SPECIFIED_TARGET
- 27
Il parametro pBuffer contiene un puntatore a una struttura SecPkgContext_ClientSpecifiedTarget che rappresenta il nome dell'entità servizio (SPN) della destinazione iniziale fornita dal client.
Questo valore è supportato solo quando si usano associazioni di canale.
Windows Server 2008, Windows Vista, Windows Server 2003 e Windows XP: Questo valore non è supportato.- SECPKG_ATTR_CREDS_2
- 0x80000086
Il parametro pBuffer contiene un puntatore a una struttura SecPkgContext_ClientCreds che specifica le credenziali client.
Se le credenziali client sono nome utente e password, il buffer è una struttura di KERB_INTERACTIVE_LOGON compressa.
Se la credenziale client è il nome utente e il PIN della smart card, il buffer è una struttura di KERB_CERTIFICATE_LOGON compressa.
Se le credenziali client sono credenziali di identità online, il buffer è una struttura di SEC_WINNT_AUTH_IDENTITY_EX2 di marshalling.
Questo attributo è supportato solo nel server CredSSP.
Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 e Windows XP: Questo valore non è supportato.- SECPKG_ATTR_DCE_INFO
- 3
Il parametro pBuffer contiene un puntatore a una struttura SecPkgContext_DceInfo .
Query per i dati di autorizzazione usati dai servizi DCE.- SECPKG_ATTR_FLAGS
- 14
Il parametro pBuffer contiene un puntatore a una struttura SecPkgContext_Flags .
Restituisce informazioni sui flag di contesto negoziati.- SECPKG_ATTR_KEY_INFO
- 5
Il parametro pBuffer contiene un puntatore a una struttura SecPkgContext_KeyInfo .
Esegue una query sulle chiavi usate in un contesto di sicurezza.- SECPKG_ATTR_LAST_CLIENT_TOKEN_STATUS
- 30
Il parametro pBuffer contiene un puntatore a una struttura SecPkgContext_LastClientTokenStatus che specifica se il token dalla chiamata più recente alla funzione InitializeSecurityContext è l'ultimo token del client.
Windows Server 2008, Windows Vista, Windows Server 2003 e Windows XP: Questo valore non è supportato.- SECPKG_ATTR_LIFESPAN
- 2
Il parametro pBuffer contiene un puntatore a una struttura SecPkgContext_Lifespan .
Esegue una query sull'intervallo di vita del contesto.- SECPKG_ATTR_LOCAL_CRED
Il parametro pBuffer contiene un puntatore a una struttura SecPkgContext_LocalCredentialInfo . (obsoleto)
Sostituito da SECPKG_ATTR_LOCAL_CERT_CONTEXT.- SECPKG_ATTR_NAMES
- 1
Il parametro pBuffer contiene un puntatore a una struttura SecPkgContext_Names .
Esegue una query sul nome associato al contesto.- SECPKG_ATTR_NATIVE_NAMES
- 13
Il parametro pBuffer contiene un puntatore a una struttura SecPkgContext_NativeNames .
Restituisce il nome dell'entità (CNAME) dal ticket in uscita.- SECPKG_ATTR_NEGOTIATION_INFO
- 12
Il parametro pBuffer contiene un puntatore a una struttura SecPkgContext_NegotiationInfo .
Restituisce informazioni sul pacchetto di sicurezza da utilizzare con il processo di negoziazione e lo stato corrente della negoziazione per l'uso di tale pacchetto.- SECPKG_ATTR_PACKAGE_INFO
- 10
Il parametro pBuffer contiene un puntatore a una struttura SecPkgContext_PackageInfo .
Restituisce informazioni sul provider di servizi condivisi in uso.- SECPKG_ATTR_PASSWORD_EXPIRY
- 8
Il parametro pBuffer contiene un puntatore a una struttura SecPkgContext_PasswordExpiry .
Restituisce le informazioni sulla scadenza della password.- SECPKG_ATTR_ROOT_STORE
- 0x55
Il parametro pBuffer contiene un puntatore a un HCERTCONTEXT.
Trova un contesto di certificato che contiene un certificato fornito dall'archivio radice.- SECPKG_ATTR_SESSION_KEY
- 9
Il parametro pBuffer contiene un puntatore a una struttura SecPkgContext_SessionKey .
Restituisce informazioni sulla chiave della sessione.- SECPKG_ATTR_SIZES
- 0
Il parametro pBuffer contiene un puntatore a una struttura SecPkgContext_Sizes .
Esegue una query sulle dimensioni delle strutture usate nelle funzioni per messaggio.- SECPKG_ATTR_TARGET_INFORMATION
- 17
Il parametro pBuffer contiene un puntatore a una struttura SecPkgContext_TargetInformation .
Restituisce informazioni sul nome del server remoto. -
pBuffer [out]
-
Puntatore a una struttura che riceve gli attributi. Il tipo di struttura a cui punta dipende dal valore specificato nel parametro ulAttribute .
Valore restituito
Se la funzione ha esito positivo, il valore restituito viene SEC_E_OK.
Se la funzione ha esito negativo, il valore restituito è un codice di errore diverso da zero.
Commenti
La struttura a cui punta il parametro pBuffer varia a seconda dell'attributo su cui viene eseguita la query. Il chiamante deve allocare la struttura pBuffer stessa, ma il provider di servizi condivisi alloca qualsiasi memoria necessaria per contenere membri di dimensioni variabili della struttura pBuffer . La memoria allocata dal provider di servizi condivisi può essere liberata chiamando la funzione FreeContextBuffer .
Dopo aver letto il valore SECPKG_ATTR_REMOTE_CERT_CONTEXT o SECPKG_ATTR_LOCAL_CERT_CONTEXT, il membro hCertStore verrà impostato su un handle su un archivio certificati che contiene i certificati intermedi, se presenti. Inoltre, l'applicazione è responsabile della chiamata a CertFreeCertificateContext per rilasciare la memoria usata dal contesto del certificato.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato |
Windows XP [solo app desktop] |
Server minimo supportato |
Windows Server 2003 [solo app desktop] |
Intestazione |
|
Libreria |
|
DLL |
|
Nomi Unicode e ANSI |
QueryContextAttributesW (Unicode) e QueryContextAttributesA (ANSI) |
Vedi anche