Ключ AppID

Группируйте параметры конфигурации для одного или нескольких объектов DCOM в одно централизованное расположение в реестре. Объекты DCOM, размещенные одним исполняемым файлом, группируются в один AppID, чтобы упростить управление общими параметрами безопасности и конфигурации.

Раздел реестра

HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AppID\{AppID_GUID}

Значение реестра Description
AccessPermission Описывает контроль доступа List (ACL) субъектов, которые могут получить доступ к экземплярам этого класса. Этот ACL используется только приложениями, которые не вызывают CoInitializeSecurity.
ActivateAt служба хранилища Настраивает клиент для создания экземпляров объектов на том же компьютере, что и постоянное состояние, которое они используют или из которых они инициализированы.
AppID Определяет ИДЕНТИФИКАТОР GUID AppID, соответствующий именованным исполняемым файлам.
AppIDFlags Указывает, как COM-сервер, настроенный для запуска в качестве интерактивного пользователя, будет запущен или привязан клиентом в рабочем столе, отличном от по умолчанию.
AuthenticationLevel Задает уровень проверки подлинности для приложений, которые не вызывают CoInitializeSecurity или для приложений, которые вызывают CoInitializeSecurity и указывают идентификатор AppID.
DllSurrogate Позволяет серверам DLL выполняться в суррогатном процессе. Если указана пустая строка, используется суррогат, предоставленный системой; в противном случае значение указывает путь суррогата, который будет использоваться.
DllSurrogateExecutable Позволяет серверам DLL выполняться в пользовательском суррогатном процессе вместе со значением реестра DllSurrogate.
Конечные точки Настраивает com-приложение для использования указанного номера TCP-порта для обмена данными DCOM.
LaunchPermission Описывает список контроль доступа (ACL) субъектов, которые могут запускать новые серверы для этого класса.
LoadUser Параметры Определяет, будет ли 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}