Condividi tramite


Funzione QueryContextAttributesW (sspi.h)

La funzione QueryContextAttributes (QueryContextAttributes) consente a un'applicazione di trasporto di eseguire una query sul provider di supporto per la sicurezza delle credenziali (CredSSP) per determinati attributi di di un contesto di sicurezza .

Sintassi

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

Parametri

[in] phContext

Handle per il contesto di sicurezza su cui eseguire una query.

[in] ulAttribute

Attributo del contesto da restituire. Questo parametro può essere uno dei valori seguenti. Se non diversamente specificato, 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 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 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_NEGOTIATION_PACKAGE
0x80000081
Il parametro pBuffer contiene un puntatore a una struttura 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.

Restituisce informazioni sul provider di servizi condivisi 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 una 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 non riesce, 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.

Osservazioni

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

Mentre il chiamante deve allocare la struttura pBuffer stessa, 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 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 del preprocessore UNICODE. La combinazione dell'utilizzo dell'alias indipendente dalla codifica con il codice non indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere convenzioni di per i prototipi di funzioni.

Fabbisogno

Requisito Valore
client minimo supportato Windows Vista [solo app desktop]
server minimo supportato Windows Server 2008 [solo app desktop]
piattaforma di destinazione Finestre
intestazione sspi.h (include Security.h)
libreria Secur32.lib
dll Secur32.dll

Vedere anche

CERT_CONTEXT

FreeContextBuffer

funzioni SSPI

SecPkgContext_ClientCreds

SecPkgContext_Sizes