ObjectContext::IsCallerInRole-Methode (comsvcs.h)
Gibt an, ob sich der direkte Aufrufer des Objekts in einer angegebenen Rolle befindet (entweder direkt oder als Teil einer Gruppe).
Syntax
HRESULT IsCallerInRole(
[in] BSTR bstrRole,
[out] VARIANT_BOOL *pbInRole
);
Parameter
[in] bstrRole
Der Name der Rolle.
[out] pbInRole
TRUE , wenn sich der Aufrufer in der angegebenen Rolle befindet; Andernfalls FALSE . Dieser Parameter ist auch auf TRUE festgelegt, wenn die Sicherheit nicht aktiviert ist.
Rückgabewert
Diese Methode kann die Standardrückgabewerte E_INVALIDARG, E_OUTOFMEMORY und E_FAIL sowie die folgenden Werte zurückgeben.
Rückgabecode | BESCHREIBUNG |
---|---|
|
Die im bstrRole-Parameter angegebene Rolle ist eine erkannte Rolle, und das boolesche Ergebnis, das im pbIsInRole-Parameter zurückgegeben wird, gibt an, ob sich der Aufrufer in dieser Rolle befindet. |
|
Die im bstrRole-Parameter angegebene Rolle ist nicht vorhanden. |
|
Ein unerwarteter Fehler ist aufgetreten. Dies kann passieren, wenn ein Objekt seinen ObjectContext-Zeiger an ein anderes Objekt übergibt und das andere Objekt IsCallerInRole mit diesem Zeiger aufruft. Ein ObjectContext-Zeiger ist außerhalb des Kontexts des Objekts, das ihn ursprünglich abgerufen hat, ungültig. |
Hinweise
Verwenden Sie diese Methode, um zu bestimmen, ob der direkte Aufrufer der derzeit ausgeführten Methode einer bestimmten Rolle zugeordnet ist. Eine Rolle ist ein symbolischer Name, der einen Benutzer oder eine Gruppe von Benutzern darstellt, die über bestimmte Zugriffsberechtigungen für alle Komponenten in einer bestimmten COM+-Anwendung verfügen. Entwickler definieren Rollen, wenn sie eine Komponente erstellen, und Rollen werden zum Zeitpunkt der Bereitstellung einzelnen Benutzern oder Gruppen zugeordnet.
IsCallerInRole gilt nur für den direkten Aufrufer der derzeit ausgeführten Methode. (Der direkte Aufrufer ist der Prozess, der den aktuellen Serverprozess aufruft. Dies kann entweder ein Basisclientprozess oder ein Serverprozess sein.) IsCallerInRole gilt nicht für den Prozess, der die Aufrufsequenz initiiert hat, aus der die aktuelle Methode aufgerufen wurde, oder auf andere Aufrufer in dieser Sequenz.
Da IsCallerInRoleTRUE zurückgibt, wenn das Objekt, das es aufruft, im Prozess eines Clients ausgeführt wird, empfiehlt es sich, IsSecurityEnabled aufzurufen, bevor IsCallerInRole aufgerufen wird. Wenn die Sicherheit nicht aktiviert ist, gibt IsCallerInRole kein genaues Ergebnis zurück.
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 |