ImpersonateNamedPipeClient-Funktion (namedpipeapi.h)
Die Funktion ImpersonateNamedPipeClient gibt die Identität einer Named-Pipe-Clientanwendung an.
Syntax
BOOL ImpersonateNamedPipeClient(
[in] HANDLE hNamedPipe
);
Parameter
[in] hNamedPipe
Ein Handle für eine benannte Pipe.
Rückgabewert
Wenn die Funktion erfolgreich ist, ist der Rückgabewert ungleich Null.
Wenn die Funktion fehlerhaft ist, ist der Rückgabewert null. Um erweiterte Fehlerinformationen zu erhalten, rufen Sie GetLastError auf.
Hinweise
Mit der Funktion ImpersonateNamedPipeClient kann das Serverende einer Named Pipe die Identität des Clientendes annehmen. Wenn diese Funktion aufgerufen wird, ändert das Named-Pipe-Dateisystem den Thread des aufrufenden Prozesses , um den Identitätswechsel des Sicherheitskontexts der letzten aus der Pipe gelesenen Nachricht zu starten. Nur das Serverende der Pipe kann diese Funktion aufrufen.
Der Server kann die RevertToSelf-Funktion aufrufen, wenn der Identitätswechsel abgeschlossen ist.
- Die angeforderte Identitätswechselebene des Tokens ist kleiner als SecurityImpersonation, z. B. SecurityIdentification oder SecurityAnonymous.
- Der Aufrufer verfügt über die Berechtigung SeImpersonatePrivilege .
- Ein Prozess (oder ein anderer Prozess in der Anmeldesitzung des Aufrufers) hat das Token mithilfe expliziter Anmeldeinformationen über die LogonUser - oder LsaLogonUser-Funktion erstellt.
- Die authentifizierte Identität ist identisch mit dem Aufrufer.
Beispiele
Ein Beispiel, das diese Funktion verwendet, finden Sie unter Überprüfen des Clientzugriffs mit ACLs.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows XP [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2003 [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | namedpipeapi.h |
Bibliothek | Advapi32.lib |
DLL | Advapi32.dll |