Ключ AppID
Группируйте параметры конфигурации для одного или нескольких объектов DCOM в одно централизованное расположение в реестре. Объекты DCOM, размещенные одним исполняемым файлом, группируются в один AppID, чтобы упростить управление общими параметрами безопасности и конфигурации.
Раздел реестра
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AppID\{AppID_GUID}
Значение реестра | Описание |
---|---|
AccessPermission | Описывает список управления доступом (ACL) субъектов, которые могут получить доступ к экземплярам этого класса. Этот ACL используется только приложениями, которые не вызывают CoInitializeSecurity. |
ActivateAtStorage | Настраивает клиент для создания экземпляров объектов на том же компьютере, что и постоянное состояние, которое они используют или из которых они инициализированы. |
AppID | Определяет ИДЕНТИФИКАТОР GUID AppID, соответствующий именованным исполняемым файлам. |
AppIDFlags | Указывает, как COM-сервер, настроенный для запуска в качестве интерактивного пользователя, будет запущен или привязан клиентом в рабочем столе, отличном от по умолчанию. |
AuthenticationLevel | Задает уровень проверки подлинности для приложений, которые не вызывают CoInitializeSecurity или для приложений, которые вызывают CoInitializeSecurity и указывают идентификатор AppID. |
DllSurrogate | Позволяет серверам DLL выполняться в суррогатном процессе. Если указана пустая строка, используется суррогат, предоставленный системой; в противном случае значение указывает путь суррогата, который будет использоваться. |
DllSurrogateExecutable | Позволяет серверам DLL выполняться в пользовательском суррогатном процессе вместе со значением реестраDllSurrogate. |
конечных точек | Настраивает com-приложение для использования указанного номера TCP-порта для обмена данными DCOM. |
LaunchPermission | Описывает список управления доступом (ACL) субъектов, которые могут запускать новые серверы для этого класса. |
LoadUserSettings | Определяет, будет ли COM загружать профиль пользователя для COM-серверов, работающих в качестве удостоверения запуска пользовательского приложения. |
LocalService | Устанавливает объект в качестве приложения-службы. |
PreferredServerBitness | Задает предпочтительную архитектуру, 32-разрядную или 64-разрядную для этого COM-сервера. |
RemoteServerName | Настраивает клиент для запроса запуска объекта на определенном компьютере всякий раз, когда вызывается функция активации, для которой не указана структура COSERVERINFO. |
ROTFlags | Управляет регистрацией COM-сервера в работающей таблице объектов (ROT). |
Запуска | Настраивает класс для запуска под определенной учетной записью пользователя при активации удаленного клиента без записи в качестве приложения-службы. |
ServiceParameters | Указывает параметры командной строки, передаваемые объекту, установленному для использования COM через значение реестра LocalService. |
SRPTrustLevel | Задает уровень доверия политики ограничений программного обеспечения (SRP) для приложений. |
Замечания
Идентификаторы приложений сопоставляются с исполняемыми файлами и классами с помощью двух различных механизмов:
- Использование 128-разрядного глобально уникального идентификатора (GUID), определяющего ключ AppID. Класс указывает соответствующий идентификатор AppID в ключ CLSID в именованном значении AppID. Это сопоставление используется во время активации.
- Использование именованного значения, указывающего исполняемое имя (например, "MYOLDAPP.EXE"). Это именованное значение имеет тип REG_SZ и содержит строковое представление AppID, связанного с исполняемым файлом. Это сопоставление используется для получения разрешений доступа по умолчанию и уровня проверки подлинности.
Ключ HKEY_LOCAL_MACHINE\SOFTWARE\Classes соответствует ключу HKEY_CLASSES_ROOT, который был сохранен для совместимости с более ранними версиями COM.
Для COM-серверов сопоставление обычно создается и записывается в реестр во время регистрации или при запуске dcomcnfg.exe. Однако COM-клиенты, которые хотят установить безопасность с помощью ключа AppID, должны создать соответствующие разделы реестра и указать необходимое сопоставление, вызвав функции реестра или используя Regedit.exe. Затем для клиента можно задать такие значения, как AccessPermission или AuthenticationLevel. Например, предположим, что имя исполняемого файла для клиентского процесса — "YourClient.exe", и необходимо задать для уровня проверки подлинности значение "Нет". Вы будете использовать Guidgen.exe или Uuidgen.exe для создания GUID, который является идентификатором AppID для исполняемого файла. Затем вы задали значения в реестре, как показано в следующем примере, где 00000001 представляет уровень проверки подлинности None:
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AppID
{MyGuid}
AuthenticationLevel = 00000001
MyClient.exe
AppID = {MyGUID}