Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Извлекает идентификатор безопасности базового процесса, который инициировал последовательность вызовов, из которой был вызван текущий метод.
Предпочтительным способом получения сведений об исходном вызывающем объекте является использование интерфейса ISecurityCallContext .
Синтаксис
HRESULT GetOriginalCallerSID(
[out] PSID *pSID
);
Параметры
[out] pSID
Ссылка на идентификатор безопасности базового процесса, который инициировал последовательность вызовов, из которой был вызван текущий метод.
Возвращаемое значение
Этот метод может возвращать стандартные возвращаемые значения E_INVALIDARG, E_OUTOFMEMORY, E_UNEXPECTED и E_FAIL, а также следующие значения.
Код возврата | Описание |
---|---|
|
Идентификатор безопасности базового процесса, который вызвал текущий объект, возвращается в параметре pSid. |
|
Текущий объект не имеет контекста, связанного с ним, так как компонент не был импортирован в приложение или объект не был создан с помощью одного из методов COM+ CreateInstance . |
Комментарии
Метод GetOriginalCallerSID используется для определения идентификатора безопасности исходного процесса, который инициировал последовательность вызовов, из которой был вызван текущий метод, а не инициатора (или создателя) процесса. Хотя указатель на объект может передаваться через ряд серверов и пользователей, GetOriginalCallerSID всегда возвращает первый сервер и пользователя процесса, даже если этот пользователь не был первоначальным создателем объекта. В следующем сценарии показаны функциональные возможности метода GetOriginalCallerSID .
- Базовый процесс 1, запущенный на сервере A от имени пользователя A, создает объект X на сервере B, выполняющийся от имени пользователя B.
- Базовый процесс 1 передает свою ссылку на объект X базовому процессу 2, который выполняется на сервере D в качестве пользователя D.
- Базовый процесс 2 использует ссылку для вызова объекта X.
- Объект X вызывает объект Y, работающий на сервере C. Если объект Y вызывает GetOriginalCallerSID, возвращается идентификатор безопасности пользователя D, а не пользователя A, который изначально создал объект.
Вы должны вызвать ReleaseSID для идентификатора безопасности по завершении его использования.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | comsvcs.h |