IClientSecurity::QueryBlanket-Methode (objidl.h)
Ruft Authentifizierungsinformationen ab, die der Client zum Tätigen von Anrufen für den angegebenen Proxy 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 kann 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 kann nicht NULL sein.
[out] pAuthzSvc
Der aktuelle Autorisierungsdienst. Dies ist ein einzelner Wert aus der Liste der Autorisierungskonstanten. Dieser Parameter kann nicht NULL sein.
[out] pServerPrincName
Der aktuelle Prinzipalname. Die Zeichenfolge wird vom Angerufenen mithilfe der CoTaskMemAlloc-Funktion zugewiesen und muss vom Aufrufer mithilfe der Funktion CoTaskMemFree freigegeben werden. Beachten Sie, dass der tatsächliche Prinzipalname zurückgegeben wird. Das EOAC_MAKE_FULLSIC Flag 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 Authentifizierungsebenenkonstanten. Wenn dieser Parameter NULL ist, wird die aktuelle Authentifizierungsebene nicht abgerufen.
[out] pImpLevel
Die aktuelle Identitätswechselebene. Dies ist ein einzelner Wert aus der Liste der Identitätswechselebenenkonstanten. Wenn dieser Parameter NULL ist, wird die aktuelle Identitätswechselebene nicht abgerufen.
[out] pAuthInfo
Ein Zeiger auf einen Handle, der 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 auf CoInitializeSecurity angegeben hat, wird dieser Wert zurückgegeben. Wenn 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 sie 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 Funktionskennzeichnungen nicht abgerufen.
Rückgabewert
Diese Methode kann die folgenden Werte zurückgeben.
Rückgabecode | Beschreibung |
---|---|
|
Die Methode wurde erfolgreich abgeschlossen. |
|
Mindestens ein Argument ist ungültig. |
|
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 aus dem angegebenen Schnittstellenproxy verwendet. Mit einem Zeiger auf eine Schnittstelle auf dem Proxy würde der Client "QueryInterface " zuerst für einen Zeiger auf IClientSecurity aufrufen; Dann würde der Client mit diesem Zeiger QueryBlanket aufrufen, gefolgt von der Freigabe des Zeigers. Diese Abfolge von Aufrufen 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 einen Zeiger nicht an eine Schnittstelle übergeben, die das lokale Schlüsselwort in seiner Schnittstellendefinition enthält, da kein Proxy für eine solche Schnittstelle erstellt wird. IUnknown ist die Ausnahme für diese Regel.
Anforderungen
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) |