Funzione CoQueryAuthenticationServices (combaseapi.h)
Recupera un elenco dei servizi di autenticazione registrati quando il processo denominato CoInitializeSecurity.
Sintassi
HRESULT CoQueryAuthenticationServices(
[out] DWORD *pcAuthSvc,
[out] SOLE_AUTHENTICATION_SERVICE **asAuthSvc
);
Parametri
[out] pcAuthSvc
Puntatore a una variabile che riceve il numero di voci restituite nella matrice asAuthSvc .
[out] asAuthSvc
Puntatore a una matrice di strutture SOLE_AUTHENTICATION_SERVICE . L'elenco viene allocato tramite una chiamata alla funzione CoTaskMemAlloc . Il chiamante deve liberare l'elenco al termine chiamando la funzione CoTaskMemFree .
Valore restituito
Questa funzione può restituire i valori restituiti standard E_INVALIDARG, E_OUTOFMEMORY e S_OK.
Commenti
CoQueryAuthenticationServices recupera un elenco dei servizi di autenticazione attualmente registrati. Se il processo chiama CoInitializeSecurity, questi sono i servizi registrati tramite tale chiamata. Se l'applicazione non la chiama, CoInitializeSecurity viene chiamata automaticamente da COM, registrando il pacchetto di sicurezza predefinito, la prima volta che viene eseguito il marshalling di un'interfaccia o non è stato eseguito il marshalling.
Questa funzione restituisce solo i servizi di autenticazione registrati con CoInitializeSecurity. Non restituisce tutti i servizi di autenticazione installati nel computer, ma EnumerateSecurityPackages . CoQueryAuthenticationServices è principalmente utile per i marshalling personalizzati, per determinare quali nomi di entità possono essere usati da un'applicazione.
Diversi servizi di autenticazione supportano diversi livelli di sicurezza. Ad esempio, NTLMSSP non supporta la delega o l'autenticazione reciproca mentre Kerberos lo esegue. L'applicazione è responsabile solo della registrazione dei servizi di autenticazione che forniscono le funzionalità necessarie per l'applicazione. Questa funzione consente di scoprire quali servizi sono stati registrati con CoInitializeSecurity.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows 2000 Professional [solo app desktop] |
Server minimo supportato | Windows 2000 Server [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | combaseapi.h (include Objbase.h) |
Libreria | Ole32.lib |
DLL | Ole32.dll |