[ object, uuid([!output INTERFACE_IID]), [!if INTERFACE_DUAL] dual, [!endif] [!if AUTOMATION] oleautomation, [!endif] [!if INTERFACE_DUAL || AUTOMATION] nonextensible, [!endif] [!if QUEUEABLE] QUEUEABLE, [!endif] helpstring("[!output INTERFACE_NAME] Interface"), pointer_default(unique) ] interface [!output INTERFACE_NAME] : [!if INTERFACE_DUAL]IDispatch[!else]IUnknown[!endif] { };