defaultvtable 屬性

[defaultvtable]屬性會將介面定義為預設 Vtable 介面。

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

參數

coclass-attribute-list

套用至 類別的其他屬性。 需要 [source][uuid] 屬性。

coclass-name

類別的名稱。

coclass-interface-list

類別的介面清單。

備註

預設 Vtable 介面不能是 dispinterface,它必須是雙重或 Vtable 或介面。 如果介面是雙重介面,接收可以假設它們會透過 Vtable 接收事件。

類別可以是預設來源介面和預設 Vtable 來源介面,如範例所示。 在此情況下,建議接收應該使用IID_IDISPATCH來接收分派事件,並使用介面識別碼來接收 Vtable 事件。

Typeflag 標記法

存在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