Metodo IClientSecurity::QueryBlanket (objidl.h)
Recupera le informazioni di autenticazione usate dal client per effettuare chiamate nel proxy specificato.
Sintassi
HRESULT QueryBlanket(
[in] IUnknown *pProxy,
[out] DWORD *pAuthnSvc,
[out] DWORD *pAuthzSvc,
[out] OLECHAR **pServerPrincName,
[out] DWORD *pAuthnLevel,
[out] DWORD *pImpLevel,
[out] void **pAuthInfo,
[out] DWORD *pCapabilites
);
Parametri
[in] pProxy
Puntatore al proxy. Questo parametro non può essere NULL. Per altre informazioni, vedere la sezione Osservazioni.
[out] pAuthnSvc
Servizio di autenticazione corrente. Questo valore verrà ottenuto dall'elenco delle costanti del servizio di autenticazione. Questo parametro non può essere NULL.
[out] pAuthzSvc
Servizio di autorizzazione corrente. Si tratta di un singolo valore ottenuto dall'elenco delle costanti di autorizzazione. Questo parametro non può essere NULL.
[out] pServerPrincName
Nome dell'entità corrente. La stringa verrà allocata dal chiamante usando la funzione CoTaskMemAlloc e deve essere liberata dal chiamante usando la funzione CoTaskMemFree . Si noti che viene restituito il nome dell'entità effettiva. Il flag EOAC_MAKE_FULLSIC non è accettato per convertire il nome prinicpal. Se il chiamante specifica NULL, il nome dell'entità corrente non viene recuperato.
[out] pAuthnLevel
Livello di autenticazione corrente. Si tratta di un singolo valore ottenuto dall'elenco delle costanti a livello di autenticazione. Se questo parametro è NULL, il livello di autenticazione corrente non viene recuperato.
[out] pImpLevel
Livello di rappresentazione corrente. Si tratta di un singolo valore tratto dall'elenco delle costanti a livello di rappresentazione. Se questo parametro è NULL, il livello di rappresentazione corrente non viene recuperato.
[out] pAuthInfo
Puntatore a un handle che indica l'identità del client passata all'ultima chiamata IClientSecurity::SetBlanket (o al valore predefinito). I valori predefiniti sono validi solo finché non viene rilasciato il proxy. Se il chiamante specifica NULL, l'identità client non viene recuperata.
Il formato della struttura a cui fa riferimento l'handle restituito dipende dal servizio di autenticazione. Per NTLMSSP e Kerberos, se il client ha specificato una struttura nel parametro pAuthInfo in CoInitializeSecurity, tale valore viene restituito. Per Schannel, se è possibile recuperare un certificato per il client dalla gestione certificati, tale valore viene restituito qui. In caso contrario, viene restituito NULL . Poiché questo punta al valore stesso e non è una copia, non deve essere manipolato o liberato.
[out] pCapabilites
Funzionalità del proxy. Questi flag sono definiti nell'enumerazione EOLE_AUTHENTICATION_CAPABILITIES . Se questo parametro è NULL, i flag di funzionalità correnti non vengono recuperati.
Valore restituito
Questo metodo può restituire i valori seguenti.
Codice restituito | Descrizione |
---|---|
|
Metodo completato correttamente. |
|
Uno o più argomenti non sono validi. |
|
Memoria insufficiente per creare il buffer pServerPrincName . |
Commenti
QueryBlanket viene chiamato dal client per recuperare le informazioni di autenticazione COM per le chiamate effettuate dal proxy di interfaccia specificato. Con un puntatore a un'interfaccia nel proxy, il client chiamerebbe prima QueryInterface per un puntatore a IClientSecurity; quindi, con questo puntatore, il client chiamerebbe QueryBlanket, seguito dal rilascio del puntatore. Questa sequenza di chiamate viene incapsulata nella funzione helper CoQueryProxyBlanket.
In pProxy si passa un puntatore dell'interfaccia. Tuttavia, non è possibile passare un puntatore a un'interfaccia che non usa un proxy. Pertanto non è possibile passare un puntatore a un'interfaccia con la parola chiave locale nella relativa definizione dell'interfaccia poiché non viene creato alcun proxy per tale interfaccia. IUnknown è l'eccezione a questa regola.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows 2000 Professional [app desktop | App UWP] |
Server minimo supportato | Windows 2000 Server [app desktop | App UWP] |
Piattaforma di destinazione | Windows |
Intestazione | objidl.h (include ObjIdl.h) |