Méthode ISecurityProperty ::GetDirectCallerSID (comsvcs.h)
Récupère l’identificateur de sécurité du processus externe qui a appelé la méthode en cours d’exécution. Vous pouvez également obtenir ces informations à l’aide de ISecurityCallContext.
Syntaxe
HRESULT GetDirectCallerSID(
[out] PSID *pSID
);
Paramètres
[out] pSID
Référence à l’ID de sécurité du processus à partir duquel la méthode actuelle a été appelée.
Valeur retournée
Cette méthode peut retourner les valeurs de retour standard E_INVALIDARG, E_OUTOFMEMORY, E_UNEXPECTED et E_FAIL, ainsi que les valeurs suivantes.
Code de retour | Description |
---|---|
|
L’ID de sécurité du processus qui a appelé la méthode actuelle est retourné dans le paramètre pSid. |
|
L’objet actuel n’a pas de contexte associé, car le composant n’a pas été importé dans une application ou l’objet n’a pas été créé avec l’une des méthodes COM+ CreateInstance. |
Remarques
Utilisez la méthode GetDirectCallerSID pour déterminer l’ID de sécurité du processus qui a appelé la méthode en cours d’exécution de l’objet. La sécurité est appliquée au-delà des limites de processus. Cela signifie que l’ID de sécurité retourné par GetDirectCallerSID est l’ID de sécurité associé au processus qui a appelé dans le processus dans lequel l’objet actuel est en cours d’exécution, pas nécessairement l’appelant immédiat dans l’objet lui-même. Si un objet appelle un autre objet dans le même processus, lorsque le deuxième objet appelle GetDirectCallerSID , il obtient l’ID de sécurité de l’appelant le plus immédiat en dehors de sa propre limite de processus, et non l’ID de sécurité de l’objet qui l’a appelé directement.
Les scénarios suivants illustrent les fonctionnalités de la méthode GetDirectCallerSID :
- Un processus de base s’exécutant sur le serveur A, en tant qu’utilisateur A, appelle l’objet X sur le serveur B, s’exécutant en tant qu’utilisateur B. Ensuite, l’objet X appelle l’objet Y, en cours d’exécution sur le serveur C. Si l’objet Y appelle GetDirectCallerSID, l’ID de sécurité de l’utilisateur B est retourné.
- Un processus de base, exécuté sur le serveur A en tant qu’utilisateur A, appelle l’objet X sur le serveur B, s’exécutant en tant qu’utilisateur B. Ensuite, l’objet X appelle l’objet Y, s’exécutant dans le même processus que l’objet X, également sur le serveur B. Lorsque l’objet Y appelle GetDirectCallerSID, l’ID de sécurité de l’utilisateur A est retourné, et non l’ID de sécurité de l’utilisateur B.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows 2000 Professionnel [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows 2000 Server [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | comsvcs.h |