0
私は、ウィザードで生成されたATL Simple Objects(= COMオブジェクト)の束を持つATL DLLを持っています。 progid
属性が自動的に各コクラスのために生成されるべきであると言っているようだこれらのATLシンプルオブジェクトに対してProgIdが生成されないのはなぜですか?
[
object,
uuid(00000000-0000-0000-0000-000000000000),
dual,
nonextensible,
pointer_default(unique)
]
interface IFoo : IDispatch{
[id(1)] HRESULT FooMethod();
};
[
uuid(00000000-0000-0000-0000-000000000000),
version(1.0),
]
library MyLib
{
importlib("stdole2.tlb");
[
uuid(00000000-0000-0000-0000-000000000000)
]
coclass Foo
{
[default] interface IFoo;
};
}
MSDN:
IDLファイルには、インタフェースの多くとこのようなライブラリセクションが含まれています。しかし、私のレジストリには何もありません。 DLLは、各コンパイル時に完全に正常に登録され、問題なくCOMクライアントから使用できます。
progid
が自動的に生成されないのはどうしてですか?
これはATLシンプルオブジェクトウィザードのトラップです。 "短い名前"と入力すると、すべてのフィールドが自動的に入力され、誰もデフォルトを気にしません。 1つを除いて、右下隅に埋められています。うん。 –