Freigeben über


CoImpersonateClient-Funktion (combaseapi.h)

Ermöglicht dem Server, die Identität des Clients des aktuellen Aufrufs für die Dauer des Anrufs anzugeben.

Syntax

HRESULT CoImpersonateClient();

Rückgabewert

Diese Funktion unterstützt die Standardmäßigen Rückgabewerte, einschließlich S_OK.

Hinweise

Mit dieser Methode kann der Server für die Dauer des Aufrufs die Identität des Clients des aktuellen Aufrufs annehmen. Wenn Sie CoRevertToSelf nicht aufrufen, wird COM automatisch für Sie zurückgesetzt. Diese Funktion schlägt fehl, es sei denn, das Objekt wird mit RPC_C_AUTHN_LEVEL_CONNECT oder höherer Authentifizierung aufgerufen (dies ist eine beliebige Authentifizierungsebene außer RPC_C_AUTHN_LEVEL_NONE). Diese Funktion kapselt die folgende Sequenz von häufigen Aufrufen (Fehlerbehandlung ausgeschlossen):

    CoGetCallContext(IID_IServerSecurity, (void**)&pss);
    pss->ImpersonateClient();
    pss->Release();

CoImpersonateClient kapselt den Prozess zum Abrufen eines Zeigers auf eine instance von IServerSecurity, die Daten zum aktuellen Aufruf enthält, und ruft dessen ImpersonateClient-Methode auf, und gibt dann den Zeiger frei. Ein Aufruf von CoRevertToSelf (oder IServerSecurity::RevertToSelf) bewirkt, dass eine beliebige Anzahl von Aufrufen zum Annehmen der Identität des Clients rückgängig wird.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile combaseapi.h (include Objbase.h)
Bibliothek Ole32.lib
DLL Ole32.dll

Weitere Informationen

Cloaking

IServerSecurity::ImpersonateClient

Identitätswechsel

Identitätswechsel und asynchrone Aufrufe

Sicherheit in COM