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