Condividi tramite


Funzione QueryContextAttributesA (sspi.h)

La funzione QueryContextAttributes (CredSSP) consente a un'applicazione di trasporto di eseguire una query sul pacchetto di sicurezza del provider di sicurezza Credential Security Provider (CredSSP) per determinati attributi di un contesto di sicurezza.

Sintassi

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

Parametri

[in] phContext

Handle al contesto di sicurezza da eseguire query.

[in] ulAttribute

Attributo del contesto da restituire. Questo parametro può avere uno dei valori seguenti. A meno che non sia specificato diversamente, gli attributi sono applicabili sia al client che al server.

Valore Significato
SECPKG_ATTR_C_ACCESS_TOKEN
0x80000012
Il parametro pBuffer contiene un puntatore a una struttura SecPkgContext_AccessToken che specifica il token di accesso per il contesto di sicurezza corrente.

Questo attributo è supportato solo nel server.

SECPKG_ATTR_C_FULL_ACCESS_TOKEN
0x80000082
Il parametro pBuffer contiene un puntatore a una struttura SecPkgContext_AccessToken che specifica il token di accesso per il contesto di sicurezza corrente.

Questo attributo è supportato solo nel server.

SECPKG_ATTR_CERT_TRUST_STATUS
0x80000084
Il parametro pBuffer contiene un puntatore a una struttura CERT_TRUST_STATUS che specifica informazioni di attendibilità sul certificato.

Questo attributo è supportato solo nel client.

SECPKG_ATTR_CREDS
0x80000080
Il parametro pBuffer contiene un puntatore a una struttura SecPkgContext_ClientCreds che specifica le credenziali client.

Le credenziali client possono essere nome utente e password o nome utente e PIN smart card.

Questo attributo è supportato solo nel server.

SECPKG_ATTR_CREDS_2
0x80000086
Il parametro pBuffer contiene un puntatore a una struttura SecPkgContext_ClientCreds che specifica le credenziali client.

Se la credenziale client è nome utente e password, il buffer è una struttura KERB_INTERACTIVE_LOGON confezionata.

Se la credenziale client è il nome utente e il PIN della smart card, il buffer è una struttura KERB_CERTIFICATE_LOGON confezionata.

Se la credenziale client è una credenziale di identità online, il buffer è una struttura di marshalling SEC_WINNT_AUTH_IDENTITY_EX2 .

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_NEGOTIATION_PACKAGE
0x80000081
Il parametro pBuffer contiene un puntatore a una struttura SecPkgContext_PackageInfo">SecPkgContext_PackageInfo che specifica il nome del pacchetto di autenticazione negoziato dal provider Microsoft Negotiate .
SECPKG_ATTR_PACKAGE_INFO
10
Il parametro pBuffer contiene un puntatore a una struttura SecPkgContext_PackageInfo">SecPkgContext_PackageInfo .

Restituisce informazioni sul provider di servizi di configurazione in uso.

SECPKG_ATTR_SERVER_AUTH_FLAGS
0x80000083
Il parametro pBuffer contiene un puntatore a una struttura SecPkgContext_Flags che specifica informazioni sui flag nel contesto di sicurezza corrente.

Questo attributo è supportato solo nel client.

SECPKG_ATTR_SIZES
0x0
Il parametro pBuffer contiene un puntatore a una struttura SecPkgContext_Sizes .

Esegue query sulle dimensioni delle strutture usate nelle funzioni per messaggio e negli scambi di autenticazione.

SECPKG_ATTR_SUBJECT_SECURITY_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.

[out] pBuffer

Puntatore a una struttura che riceve gli attributi. Il tipo di struttura dipende dal valore del parametro ulAttribute .

Valore restituito

Se la funzione ha esito positivo, restituisce SEC_E_OK.

Se la funzione ha esito negativo, può restituire i codici di errore seguenti.

Codice/valore restituito Descrizione
SEC_E_INVALID_HANDLE
0x80100003
La funzione non è riuscita. Il parametro phContext specifica un handle in un contesto incompleto.
SEC_E_UNSUPPORTED_FUNCTION
0x80090302
La funzione non è riuscita. Il valore del parametro ulAttribute non è valido.

Commenti

La struttura a cui fa riferimento il parametro pBuffer varia a seconda dell'attributo sottoposto a query.

Anche se il chiamante deve allocare la struttura pBuffer stessa, il provider di servizi di gestione alloca qualsiasi memoria necessaria per contenere membri di dimensioni variabili della struttura pBuffer . La memoria allocata dal provider di servizi di sicurezza deve essere liberata chiamando la funzione FreeContextBuffer .

Nota

L'intestazione sspi.h definisce QueryContextAttributes come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante preprocessore UNICODE. La combinazione dell'utilizzo dell'alias di codifica neutrale con il codice che non è neutrale dalla codifica può causare errori di corrispondenza che causano errori di compilazione o runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzione.

Requisiti

Requisito Valore
Client minimo supportato Windows Vista [solo app desktop]
Server minimo supportato Windows Server 2008 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione sspi.h (includere Security.h)
Libreria Secur32.lib
DLL Secur32.dll

Vedi anche

CERT_CONTEXT

FreeContextBuffer

Funzioni SSPI

SecPkgContext_ClientCreds

SecPkgContext_Sizes