Метод SecurityProperty::GetOriginalCallerName (comsvcs.h)
Извлекает имя пользователя, связанное с базовым процессом, который инициировал последовательность вызовов, из которых поступил вызов к текущему объекту.
Синтаксис
HRESULT GetOriginalCallerName(
[out] BSTR *bstrUserName
);
Параметры
[out] bstrUserName
Ссылка на имя пользователя, связанное с базовым процессом, который инициировал последовательность вызовов, из которой был получен вызов текущего объекта.
Возвращаемое значение
Этот метод может возвращать стандартные возвращаемые значения E_INVALIDARG, E_OUTOFMEMORY, E_UNEXPECTED, E_FAIL и S_OK.
Комментарии
Как правило, исходный вызывающий объект является тем же процессом, что и его исходный создатель. Единственная ситуация, в которой исходный вызывающий объект и исходный создатель будут отличаться, — это ситуация, в которой исходный создатель передает ссылку на другой процесс, а другой процесс инициирует последовательность вызовов.
В следующем сценарии показаны функциональные возможности этого метода:
- Базовый процесс 1, выполняющийся на сервере A от имени пользователя A, создает объект X на сервере B, выполняющийся от имени пользователя B.
- Затем базовый процесс 1 передает свою ссылку на объект X базовому процессу 2, который выполняется на сервере D в качестве пользователя D.
- Базовый процесс 2 использует ссылку для вызова объекта X.
- Затем объект X вызывает объект Y, работающий на сервере C. Если объект Y вызывает GetOriginalCallerName, возвращается имя пользователя D, а не пользователя A, который изначально создал объект.
Требования
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | comsvcs.h |