TreatAs

指定可以模拟当前类的类的 CLSID。

注册表项

HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID
   {CLSID}
      TreatAs = {CLSID_TreatAs}

注解

这是一个 REG_SZ 值。

仿真是指一个应用程序打开和编辑不同类的对象,同时保留对象的原始格式的能力。 解析发生在本地计算机上,因此在远程激活的情况下,解析发生在使用 TreatAs 指定的 CLSID 的客户端计算机上。

DCOM 查看 TreatAs 的本地注册表,即使调用 CoCreateInstance 函数并指定远程服务器也是如此。 这意味着,如果你在本地计算机上有一个将 Class1 视为 Class2 的 TreatAs 条目,但你调用 CoCreateInstance 来创建 Class1 的实例,并且你指定了远程服务器,则 DCOM 将尝试在远程服务器上创建 Class2 的实例,即使 Class2 没有在远程服务器中注册,这也会导致对 CoCreateInstance 的调用失败。

AutoTreatAs

CoGetTreatAsClass

CoTreatAsClass