TreatAs
Указывает CLSID класса, который может эмулировать текущий класс.
Запись реестра
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID
{CLSID}
TreatAs = {CLSID_TreatAs}
Замечания
Это REG_SZ значение.
Эмуляция — это возможность одного приложения открывать и изменять объект другого класса, сохраняя исходный формат объекта. Разрешение происходит на локальном компьютере, поэтому в случае удаленной активации разрешение происходит на клиентском компьютере с помощью CLSID, указанного TreatAs.
DCOM рассматривает локальный реестр для TreatAs, даже если вызвать функцию CoCreateInstance и указать удаленный сервер. Это означает, что если на локальном компьютере имеется запись TreatAs для класса 1, но вы вызываете CoCreateInstance для создания экземпляра Класса1 и укажите удаленный сервер, DCOM попытается создать экземпляр Class2 на удаленном сервере, даже если класс 2 не зарегистрирован на удаленном сервере, что приведет к сбою вызова CoCreateInstance.
Связанные разделы