ISecurityProperty::GetOriginalCallerSID-Methode (comsvcs.h)
Ruft den Sicherheitsbezeichner des Basisprozesses ab, der die Aufrufsequenz initiiert hat, aus der die aktuelle Methode aufgerufen wurde.
Die bevorzugte Methode zum Abrufen von Informationen über den ursprünglichen Aufrufer ist die Verwendung der ISecurityCallContext-Schnittstelle .
Syntax
HRESULT GetOriginalCallerSID(
[out] PSID *pSID
);
Parameter
[out] pSID
Ein Verweis auf die Sicherheits-ID des Basisprozesses, der die Aufrufsequenz initiiert hat, aus der die aktuelle Methode aufgerufen wurde.
Rückgabewert
Diese Methode kann die standardmäßigen Rückgabewerte E_INVALIDARG, E_OUTOFMEMORY, E_UNEXPECTED und E_FAIL sowie die folgenden Werte zurückgeben.
Rückgabecode | BESCHREIBUNG |
---|---|
|
Die Sicherheits-ID des Basisprozesses, der den Aufruf des aktuellen Objekts ausgelöst hat, wird im Parameter pSid zurückgegeben. |
|
Dem aktuellen Objekt ist kein Kontext zugeordnet, da entweder die Komponente nicht in eine Anwendung importiert wurde oder das Objekt nicht mit einer der CREATEInstance-Methoden von COM+ erstellt wurde. |
Hinweise
Sie verwenden die GetOriginalCallerSID-Methode , um die Sicherheits-ID des ursprünglichen Prozesses zu bestimmen, der die Aufrufsequenz initiiert hat, aus der die aktuelle Methode aufgerufen wurde, nicht des Absenders (oder Erstellers) des Prozesses. Obwohl ein Zeiger auf ein Objekt über eine Reihe von Servern und Benutzern übergeben werden kann, gibt GetOriginalCallerSID immer den ersten Server und Benutzer des Prozesses zurück, auch wenn dieser Benutzer nicht der ursprüngliche Ersteller des Objekts war. Das folgende Szenario veranschaulicht die Funktionalität der GetOriginalCallerSID-Methode .
- Der Basisprozess 1, der auf Server A als Benutzer A ausgeführt wird, erstellt Objekt X auf Server B, das als Benutzer B ausgeführt wird.
- Der Basisprozess 1 übergibt seinen Verweis auf Objekt X an Den Basisprozess 2, der auf Server D als Benutzer D ausgeführt wird.
- Basisprozess 2 verwendet diesen Verweis, um Objekt X aufzurufen.
- Objekt X ruft Objekt Y auf, das auf Server C ausgeführt wird. Wenn Object Y dann GetOriginalCallerSID aufruft, wird die Sicherheits-ID von Benutzer D zurückgegeben, nicht von Benutzer A, der das Objekt ursprünglich erstellt hat.
Sie müssen ReleaseSID für eine Sicherheits-ID aufrufen, wenn Sie die Verwendung abgeschlossen haben.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows 2000 Professional [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows 2000 Server [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | comsvcs.h |