TreatAs
現在のクラスをエミュレートできるクラスの CLSID を指定します。
レジストリ エントリ
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID
{CLSID}
TreatAs = {CLSID_TreatAs}
備考
これは REG_SZ 値です。
エミュレーションは、オブジェクトの元の形式を保持しながら、別のクラスのオブジェクトを開いて編集する 1 つのアプリケーションの機能です。 解決はローカル コンピューターで行われるため、リモート ライセンス認証の場合は、TreatAsで指定された CLSID を使用してクライアント コンピューターで解決が行われます。
DCOM は、CoCreateInstance 関数を呼び出してリモート サーバーを指定した場合でも、TreatAsのローカル レジストリを確認します。 つまり、Class1 の TreatAs エントリをローカル コンピューターで Class2 として扱うが、Class1 のインスタンスを作成するために CoCreateInstance を呼び出し、リモート サーバーを指定した場合、DCOM は Class2 がリモート サーバーに登録されていない場合でも、Class2 のインスタンスをリモート サーバーに作成しようとします。 これにより、CoCreateInstance 呼び出しが失敗します。
関連トピック
-
AutoTreatAsの