ImpersonateUser

ITcUserManager::ImpersonateUser

Der aufrufende Thread personifiziert den mit Namen und Passwort bezeichneten Benutzer.

HRESULT ImpersonateUser(
  BSTR bstrUserName,
  BSTR bstrPassword,
  VARIANT varDomain
);

Parameters

bstrUserName

[in]

Name des Benutzers, der personifiziert werden soll.

bstrPassword

[in]

Passwort des Benutzers.

varDomain

[in, optional]
Falls der Benutzer zu einer Domäne gehört, kann hier optional der Name der betreffenden Domäne übergeben werden. Der Übergabeparameter muss vom Typ BSTR sein, um übernommen zu werden.   

Return Values

HRESULT == S_OK

Benutzerkonto wurde erfolgreich erzeugt.

HRESULT != S_OK

Im Fehlerfall steht in HRESULT ein von Windows NT generierter Fehlercode. Um eine COM/OLE Fehlerbehandlung zu provozieren, wird aus dem Fehlercode ein HRESULT durch HRESULT_FROM_NT(nErrror) bzw. HRESULT_FROM_WIN32(nErrror) erzeugt. Zu beachten ist hierbei, dass der Windows NT Fehlercode in niederwertigen 16 Bit dargestellt wird.

Bemerkungen

Die Methode ImpersonateUser weist den "Impersonation" Token des gewünschten Benutzers dem aufrufenden Thread zu. Dazu wird der Benutzer mit Benutzername und Passwort interaktiv eingeloggt und der erzeugte Token zur Personifizierung benutzt. Nach erfolgreicher Ausführung von ImpersonateUser hat der Thread den Benutzer angenommen, dies kann durch Aufruf der Methode RevertToSelf wieder rückgängig gemacht werden.