IClientSecurity::QueryBlanket-Methode (objidl.h)

Ruft Authentifizierungsinformationen ab, die der Client zum Tätigen von Aufrufen des angegebenen Proxys verwendet.

Syntax

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
);

Parameter

[in] pProxy

Ein Zeiger auf den Proxy. Dieser Parameter darf nicht NULL sein. Weitere Informationen finden Sie im Abschnitt mit Hinweisen.

[out] pAuthnSvc

Der aktuelle Authentifizierungsdienst. Dies ist ein einzelner Wert aus der Liste der Authentifizierungsdienstkonstanten. Dieser Parameter darf nicht NULL sein.

[out] pAuthzSvc

Der aktuelle Autorisierungsdienst. Dies ist ein einzelner Wert aus der Liste der Autorisierungskonstanten. Dieser Parameter darf nicht NULL sein.

[out] pServerPrincName

Der aktuelle Prinzipalname. Die Zeichenfolge wird vom Angerufenen mithilfe der CoTaskMemAlloc-Funktion zugewiesen und muss vom Aufrufer mithilfe der CoTaskMemFree-Funktion freigegeben werden. Beachten Sie, dass der tatsächliche Prinzipalname zurückgegeben wird. Das flag EOAC_MAKE_FULLSIC wird nicht akzeptiert, um den prinicpal-Namen zu konvertieren. Wenn der Aufrufer NULL angibt, wird der aktuelle Prinzipalname nicht abgerufen.

[out] pAuthnLevel

Die aktuelle Authentifizierungsebene. Dies ist ein einzelner Wert aus der Liste der Konstanten auf Authentifizierungsebene. Wenn dieser Parameter NULL ist, wird die aktuelle Authentifizierungsebene nicht abgerufen.

[out] pImpLevel

Die aktuelle Identitätswechselebene. Hierbei handelt es sich um einen einzelnen Wert aus der Liste der Konstanten der Identitätswechselebene. Wenn dieser Parameter NULL ist, wird die aktuelle Identitätswechselebene nicht abgerufen.

[out] pAuthInfo

Ein Zeiger auf ein Handle, das die Identität des Clients angibt, der an den letzten IClientSecurity::SetBlanket-Aufruf (oder den Standardwert) übergeben wurde. Standardwerte sind nur gültig, bis der Proxy freigegeben wird. Wenn der Aufrufer NULL angibt, wird die Clientidentität nicht abgerufen.

Das Format der Struktur, auf die sich das zurückgegebene Handle bezieht, hängt vom Authentifizierungsdienst ab. Wenn der Client für NTLMSSP und Kerberos eine Struktur im pAuthInfo-Parameter für CoInitializeSecurity angegeben hat, wird dieser Wert zurückgegeben. Wenn für Schannel ein Zertifikat für den Client aus dem Zertifikat-Manager abgerufen werden könnte, wird dieser Wert hier zurückgegeben. Andernfalls wird NULL zurückgegeben. Da dies auf den Wert selbst verweist und keine Kopie ist, sollte er nicht bearbeitet oder freigegeben werden.

[out] pCapabilites

Die Funktionen des Proxys. Diese Flags werden in der EOLE_AUTHENTICATION_CAPABILITIES-Enumeration definiert. Wenn dieser Parameter NULL ist, werden die aktuellen Funktionsflags nicht abgerufen.

Rückgabewert

Diese Methode kann die folgenden Werte zurückgeben.

Rückgabecode BESCHREIBUNG
S_OK
Die Methode wurde erfolgreich abgeschlossen.
E_INVALIDARG
Mindestens ein Argument ist ungültig.
E_OUTOFMEMORY
Es ist nicht genügend Arbeitsspeicher vorhanden, um den pServerPrincName-Puffer zu erstellen.

Hinweise

QueryBlanket wird vom Client aufgerufen, um die Authentifizierungsinformationen abzurufen, die COM bei Aufrufen des angegebenen Schnittstellenproxys verwendet. Mit einem Zeiger auf eine Schnittstelle auf dem Proxy ruft der Client zunächst QueryInterface für einen Zeiger auf IClientSecurity auf. Dann würde der Client mit diesem Zeiger QueryBlanket aufrufen, gefolgt von der Freigabe des Zeigers. Diese Aufrufsequenz wird in der Hilfsfunktion CoQueryProxyBlanket gekapselt.

In pProxy übergeben Sie einen Schnittstellenzeiger. Sie können jedoch keinen Zeiger an eine Schnittstelle übergeben, die keinen Proxy verwendet. Daher können Sie keinen Zeiger an eine Schnittstelle übergeben, die den lokalen Schlüsselwort (keyword) in ihrer Schnittstellendefinition enthält, da kein Proxy für eine solche Schnittstelle erstellt wird. IUnknown ist die Ausnahme dieser Regel.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 2000 Professional [Desktop-Apps | UWP-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [Desktop-Apps | UWP-Apps]
Zielplattform Windows
Kopfzeile objidl.h (include ObjIdl.h)

Weitere Informationen

CoQueryProxyBlanket

CoSetProxyBlanket

IClientSecurity