次の方法で共有


defaultvtable 属性

[defaultvtable] 属性は、インターフェイスを既定の Vtable インターフェイスとして定義します。

[
    coclass-attribute-list, 
    defaultvtable
]
coclass coclass-name
{
    coclass-interface-list
}

パラメーター

coclass-attribute-list

クラスに適用されるその他の属性。 [source] 属性と [uuid] 属性が必要です。

coclass-name

クラスの名前。

coclass-interface-list

クラスのインターフェイスの一覧。

解説

既定の Vtable インターフェイスをディスパッチインターフェイスにすることはできません。デュアルまたは Vtable またはインターフェイスである必要があります。 インターフェイスがデュアル インターフェイスの場合、シンクは Vtable を介してイベントを受信すると想定できます。

クラスには、例に示すように、既定のソース インターフェイスと既定の Vtable ソース インターフェイスの両方を指定できます。 この場合、アドバイス シンクでは、ディスパッチ イベントを受信するために IID_IDISPATCH を使用し、インターフェイス識別子を使用して Vtable イベントを受信する必要があります。

型フラグ表現

IMPLTYPEFLAG_FDEFAULTVTABLEの存在。

[
    dual,
    uuid(12345678-1234-1234-1234-123456789ABC),
    restricted
]
interface IForm: IDispatch
{
    [propget] HRESULT Backcolor([out, retval] long *Value);
    [propput] HRESULT Backcolor([in] long Value);
    [propget] HRESULT Name([out, retval] BSTR *Value);
    [propput] HRESULT Name([in] BSTR Value);}

[
    dual,
    uuid(1e196b20-1f3c-1069-996b-00dd010fe676),
    restricted
]
interface IFormEvents: IDispatch
{
    HRESULT Click();
    HRESULT Resize();}

    [
        uuid(1e123456-1f3c-1069-996b-123456789ABC)
    ]
    coclass Form
    {
        [default] interface IForm;
        [default, defaultvtable, source] interface IFormEvents;
    }
}

関連項目

coclass

ODL ファイルの構文

ODL ファイルの例

MIDL を使用したタイプ ライブラリの生成

ソース

uuid