Método ISecurityProperty::GetDirectCallerSID (comsvcs.h)
Recupera el identificador de seguridad del proceso externo que llamó al método que se está ejecutando actualmente. También puede obtener esta información mediante ISecurityCallContext.
Sintaxis
HRESULT GetDirectCallerSID(
[out] PSID *pSID
);
Parámetros
[out] pSID
Referencia al identificador de seguridad del proceso desde el que se invocó el método actual.
Valor devuelto
Este método puede devolver los valores devueltos estándar E_INVALIDARG, E_OUTOFMEMORY, E_UNEXPECTED y E_FAIL, así como los siguientes valores.
Código devuelto | Descripción |
---|---|
|
El identificador de seguridad del proceso que llamó al método actual se devuelve en el parámetro pSid. |
|
El objeto actual no tiene un contexto asociado porque el componente no se importó en una aplicación o el objeto no se creó con uno de los métodos CreateInstance de COM+. |
Comentarios
Use el método GetDirectCallerSID para determinar el identificador de seguridad del proceso que llamó al método que se está ejecutando actualmente del objeto. La seguridad se aplica a través de los límites del proceso. Esto significa que el identificador de seguridad devuelto por GetDirectCallerSID es el identificador de seguridad asociado al proceso que llamó al proceso en el que se ejecuta el objeto actual, no necesariamente el llamador inmediato en el propio objeto. Si un objeto llama a otro objeto dentro del mismo proceso, cuando el segundo objeto llama a GetDirectCallerSID , obtiene el identificador de seguridad del llamador más inmediato fuera de su propio límite de proceso, no el identificador de seguridad del objeto que llamó directamente a él.
En los escenarios siguientes se muestra la funcionalidad del método GetDirectCallerSID :
- Un proceso base que se ejecuta en el servidor A, como usuario A, llama al objeto X en el servidor B, que se ejecuta como usuario B. A continuación, el objeto X llama al objeto Y, que se ejecuta en el servidor C. Si Object Y llama a GetDirectCallerSID, se devuelve el identificador de seguridad del usuario B.
- Un proceso base, que se ejecuta en el servidor A como usuario A, llama al objeto X en el servidor B, que se ejecuta como usuario B. A continuación, object X llama al objeto Y, ejecutándose en el mismo proceso que object X, también en el servidor B. Cuando Object Y llama a GetDirectCallerSID, se devuelve el identificador de seguridad del usuario A, no el identificador de seguridad del usuario B.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows 2000 Professional [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows 2000 Server [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | comsvcs.h |