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
S_OK
Metodo completato correttamente.
E_INVALIDARG
Uno o più argomenti non sono validi.
E_OUTOFMEMORY
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)

Vedi anche

CoQueryProxyBlanket

CoSetProxyBlanket

IClientSecurity