Método ISecurityProperty::GetDirectCallerSID (comsvcs.h)
Recupera o identificador de segurança do processo externo que chamou o método em execução no momento. Você também pode obter essas informações usando ISecurityCallContext.
Sintaxe
HRESULT GetDirectCallerSID(
[out] PSID *pSID
);
Parâmetros
[out] pSID
Uma referência à ID de segurança do processo do qual o método atual foi invocado.
Retornar valor
Esse método pode retornar os valores retornados padrão E_INVALIDARG, E_OUTOFMEMORY, E_UNEXPECTED e E_FAIL, bem como os valores a seguir.
Código de retorno | Descrição |
---|---|
|
A ID de segurança do processo que chamou o método atual é retornada no parâmetro pSid. |
|
O objeto atual não tem um contexto associado a ele porque o componente não foi importado para um aplicativo ou o objeto não foi criado com um dos métodos COM+ CreateInstance. |
Comentários
Use o método GetDirectCallerSID para determinar a ID de segurança do processo que chamou o método em execução do objeto no momento. A segurança é imposta entre os limites do processo. Isso significa que a ID de segurança retornada por GetDirectCallerSID é a ID de segurança associada ao processo que chamou o processo no qual o objeto atual está em execução, não necessariamente o chamador imediato no próprio objeto. Se um objeto chama outro objeto dentro do mesmo processo, quando o segundo objeto chama GetDirectCallerSID , ele obtém a ID de segurança do chamador mais imediato fora de seu próprio limite de processo, não a ID de segurança do objeto que chamou diretamente nele.
Os cenários a seguir ilustram a funcionalidade do método GetDirectCallerSID :
- Um processo base em execução no Servidor A, como usuário A, chama o Objeto X no Servidor B, em execução como usuário B. Em seguida, o Objeto X chama o Objeto Y, em execução no Servidor C. Se o Objeto Y chamar GetDirectCallerSID, a ID de segurança do usuário B será retornada.
- Um processo base, em execução no Servidor A como usuário A, chama o Objeto X no Servidor B, em execução como usuário B. Em seguida, o Objeto X chama o Objeto Y, em execução no mesmo processo que o Objeto X, também no Servidor B. Quando o Objeto Y chama GetDirectCallerSID, a ID de segurança do usuário A é retornada, não a ID de segurança do usuário B.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows 2000 Professional [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows 2000 Server [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | comsvcs.h |