Método ISecurityProperty::GetOriginalCallerSID (comsvcs.h)
Recupera o identificador de segurança do processo base que iniciou a sequência de chamadas da qual o método atual foi chamado.
A maneira preferida de obter informações sobre o chamador original é usar a interface ISecurityCallContext .
Sintaxe
HRESULT GetOriginalCallerSID(
[out] PSID *pSID
);
Parâmetros
[out] pSID
Uma referência à ID de segurança do processo base que iniciou a sequência de chamadas da qual o método atual foi chamado.
Retornar valor
Esse método pode retornar os valores de retorno 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 base que originou a chamada para o objeto 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 GetOriginalCallerSID para determinar a ID de segurança do processo original que iniciou a sequência de chamadas da qual o método atual foi chamado, não o originador (ou criador) do processo. Embora um ponteiro para um objeto possa ser passado por uma série de servidores e usuários, GetOriginalCallerSID sempre retorna o primeiro servidor e usuário do processo, mesmo que esse usuário não fosse o criador original do objeto. O cenário a seguir ilustra a funcionalidade do método GetOriginalCallerSID .
- O Processo Base 1, em execução no Servidor A como usuário A, cria o Objeto X, no Servidor B, em execução como usuário B.
- O Processo Base 1 passa sua referência no Objeto X para o Processo Base 2, em execução no Servidor D como usuário D.
- O Processo Base 2 usa essa referência para chamar o Objeto X.
- O objeto X chama o Objeto Y, em execução no Servidor C. Se o Objeto Y chamar GetOriginalCallerSID, a ID de segurança do usuário D será retornada, não o usuário A, que originalmente criou o objeto.
Você deve chamar ReleaseSID em uma ID de segurança quando terminar de usá-la.
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 |