Funzione QueryContextAttributes (Generale)

Consente a un'applicazione di trasporto di eseguire query su un pacchetto di sicurezza per determinati attributi di un contesto di sicurezza.

Per informazioni sull'uso di questa funzione con un provider di supporto per la sicurezza specifico, vedere gli argomenti seguenti.

Argomento Descrizione
QueryContextAttributes (CredSSP) Consente a un'applicazione di trasporto di eseguire una query sul provider di supporto per la sicurezza delle credenziali (CredSSP) per determinati attributi di un contesto di sicurezza.
QueryContextAttributes (Digest) Consente a un'applicazione di trasporto di eseguire una query sul pacchetto di sicurezza Digest per determinati attributi di un contesto di sicurezza.
QueryContextAttributes (Kerberos) Consente a un'applicazione di trasporto di eseguire query sul pacchetto di sicurezza Kerberos per determinati attributi di un contesto di sicurezza.
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.
QueryContextAttributes (NTLM) Consente a un'applicazione di trasporto di eseguire query sul pacchetto di sicurezza NTLM per determinati attributi di un contesto di sicurezza.
QueryContextAttributes (Schannel) Consente a un'applicazione di trasporto di eseguire una query sul pacchetto di sicurezza Schannel 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 una query.

ulAttribute [in]

Specifica l'attributo del contesto da restituire. Questo parametro può avere uno dei valori seguenti.

Valore Significato
edizione StandardCPKG_ATTR_ACCESS_TOKEN
18
Il parametro pBuffer contiene un puntatore a una struttura SecPkgContext_AccessToken .
Restituisce un handle al token di accesso.
edizione StandardCPKG_ATTR_APP_DATA
0x5e
Il parametro pBuffer contiene un puntatore a una struttura SecPkgContext_SessionAppData .
Restituisce o specifica i dati dell'applicazione per la sessione.
Questo attributo è supportato solo dal pacchetto di sicurezza Schannel.
edizione StandardCPKG_ATTR_AUTHORITY
6
Il parametro pBuffer contiene un puntatore a una struttura SecPkgContext_Authority .
Esegue una query sul nome dell'autorità di autenticazione.
edizione StandardCPKG_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.
Windows Server 2008, Windows Vista, Windows Server 2003 e Windows XP: questo valore non è supportato.
edizione StandardCPKG_ATTR_CONNECTION_INFO
0x5a
Il parametro pBuffer contiene un puntatore a una struttura SecPkgContext_Connessione ionInfo.
Restituisce informazioni dettagliate sulla connessione stabilita.
Questo attributo è supportato solo dal pacchetto di sicurezza Schannel.
edizione StandardCPKG_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 KERB_INTERACTIVE_LOGON compressa.
Se le credenziali client sono nome utente e PIN smart card, il buffer è una struttura KERB_CERTIFICATE_LOGON compressa.
Se le credenziali client sono credenziali di identità online, il buffer è una struttura di edizione StandardC_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.
edizione StandardCPKG_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.
edizione StandardCPKG_ATTR_ENDPOINT_BINDINGS
26
Il parametro pBuffer contiene un puntatore a una struttura SecPkgContext_Bindings che specifica le informazioni di associazione del canale.
Questo attributo è supportato solo dal pacchetto di sicurezza Schannel.
Windows Server 2008, Windows Vista, Windows Server 2003 e Windows XP: questo valore non è supportato.
edizione StandardCPKG_ATTR_EAP_KEY_BLOCK
0x5b
Il parametro pBuffer contiene un puntatore a una struttura SecPkgContext_EapKeyBlock .
Esegue query sui dati chiave usati dal protocollo TLS EAP.
Questo attributo è supportato solo dal pacchetto di sicurezza Schannel.
edizione StandardCPKG_ATTR_FLAGS
14
Il parametro pBuffer contiene un puntatore a una struttura SecPkgContext_Flags .
Restituisce informazioni sui flag di contesto negoziati.
edizione StandardCPKG_ATTR_ISSUER_LIST_EX
0x59
Il parametro pBuffer contiene un puntatore a una struttura SecPkgContext_IssuerListInfoEx .
Restituisce un elenco di autorità emittenti di certificati accettate dal server.
Questo attributo è supportato solo dal pacchetto di sicurezza Schannel.
edizione StandardCPKG_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.
edizione StandardCPKG_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.
Questo valore è supportato solo dai pacchettidi sicurezza Negotiate, Kerberos e NTLM.
Windows Server 2008, Windows Vista, Windows Server 2003 e Windows XP: questo valore non è supportato.
edizione StandardCPKG_ATTR_LIFESPAN
2
Il parametro pBuffer contiene un puntatore a una struttura SecPkgContext_Lifespan .
Esegue una query sull'intervallo di vita del contesto.
edizione StandardCPKG_ATTR_LOCAL_CERT_CONTEXT
0x54
Il parametro pBuffer contiene un puntatore a una struttura PCCERT_CONTEXT.
Trova un contesto certificato che contiene un certificato finale locale.
Questo attributo è supportato solo dal pacchetto di sicurezza Schannel.
edizione StandardCPKG_ATTR_LOCAL_CRED
Il parametro pBuffer contiene un puntatore a una struttura SecPkgContext_LocalCredentialInfo . (obsoleto)
Sostituito da edizione StandardCPKG_ATTR_LOCAL_CERT_CONTEXT.
edizione StandardCPKG_ATTR_NAMES
1
Il parametro pBuffer contiene un puntatore a una struttura SecPkgContext_Names .
Esegue una query sul nome associato al contesto.
edizione StandardCPKG_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.
edizione StandardCPKG_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'utilizzo di tale pacchetto.
edizione StandardCPKG_ATTR_PACKAGE_INFO
10
Il parametro pBuffer contiene un puntatore a una struttura SecPkgContext_PackageInfo .
Restituisce informazioni sul provider di servizi condivisi in uso.
edizione StandardCPKG_ATTR_PASSWORD_EXPIRY
8
Il parametro pBuffer contiene un puntatore a una struttura SecPkgContext_PasswordExpiry .
Restituisce le informazioni sulla scadenza delle password.
edizione StandardCPKG_ATTR_REMOTE_CERT_CONTEXT
0x53
Il parametro pBuffer contiene un puntatore a una struttura PCCERT_CONTEXT.
Trova un contesto certificato che contiene il certificato finale fornito dal server.
Questo attributo è supportato solo dal pacchetto di sicurezza Schannel.
edizione StandardCPKG_ATTR_ROOT_STORE
0x55
Il parametro pBuffer contiene un puntatore a un oggetto HCERTCONTEXT. Trova un contesto di certificato che contiene un certificato fornito dall'archivio radice.
edizione StandardCPKG_ATTR_edizione StandardSSION_KEY
9
Il parametro pBuffer contiene un puntatore a una struttura SecPkgContext_SessionKey .
Restituisce informazioni sulla chiavedella sessione.
edizione StandardCPKG_ATTR_edizione StandardSSION_INFO
0x5d
Il parametro pBuffer contiene un puntatore a una struttura SecPkgContext_SessionInfo .
Restituisce informazioni sulla sessione.
Windows Server 2008, Windows Vista, Windows Server 2003 e Windows XP: questo valore non è supportato.
Questo attributo è supportato solo dal pacchetto di sicurezza Schannel.
edizione StandardCPKG_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.
edizione StandardCPKG_ATTR_STREAM_SIZES
4
Il parametro pBuffer contiene un puntatore a una struttura SecPkgContext_StreamSizes .
Esegue una query sulle dimensioni delle varie parti di un flusso usato nelle funzioni per messaggio.
Questo attributo è supportato solo dal pacchetto di sicurezza Schannel.
edizione StandardCPKG_ATTR_SUBJECT_edizione StandardCURITY_ATTRIBUTES
124
Il parametro pBuffer contiene un puntatore a una struttura SecPkgContext_SubjectAttributes .
Questo valore restituisce informazioni sugli attributi di sicurezza per la connessione.
Questo valore è supportato solo nel server CredSSP.
Windows Server 2008, Windows Vista, Windows Server 2003 e Windows XP: questo valore non è supportato.
edizione StandardCPKG_ATTR_SUPPORTED_SIGNATURES
0x66
Il parametro pBuffer contiene un puntatore a una struttura SecPkgContext_SupportedSignatures .
Questo valore restituisce informazioni sui tipi di firma supportati per la connessione.
Questo valore è supportato solo dalla delega vincolata Schannel.
Windows Server 2008, Windows Vista, Windows Server 2003 e Windows XP: questo valore non è supportato.
edizione StandardCPKG_ATTR_TARGET_INFORMATION
17
Il parametro pBuffer contiene un puntatore a una struttura SecPkgContext_TargetInformation .
Restituisce informazioni sul nome del server remoto.
edizione StandardCPKG_ATTR_UNIQUE_BINDINGS
25
Il parametro pBuffer contiene un puntatore a una struttura SecPkgContext_Bindings che specifica le informazioni di associazione del canale.
Questo valore è supportato solo dalla delega vincolata Schannel.
Windows Server 2008, Windows Vista, Windows Server 2003 e Windows XP: questo valore non è supportato.

 

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 è edizione StandardC_E_OK.

Se la funzione ha esito negativo, il valore restituito è un codice di errore diverso da zero.

Osservazioni

La struttura a cui punta il parametro pBuffer varia a seconda dell'attributo sottoposto a 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 edizione StandardCPKG_ATTR_REMOTE_CERT_CONTEXT o edizione StandardCPKG_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
Sspi.h (include Security.h)
Libreria
Secur32.lib
DLL
Secur32.dll
Nomi Unicode e ANSI
QueryContextAttributesW (Unicode) e QueryContextAttributesA (ANSI)

Vedi anche

Funzioni SSPI

Supporto della protezione estesa per l'autenticazione (EPA) in un servizio

CERT_CONTEXT

FreeContextBuffer

SecPkgContext_Authority

SecPkgContext_Connessione ionInfo

SecPkgContext_DceInfo

SecPkgContext_IssuerListInfoEx

SecPkgContext_KeyInfo

SecPkgContext_Lifespan

SecPkgContext_Names

SecPkgContext_Sizes

SecPkgContext_StreamSizes