Why do we have to create unique uuid for each interface in a idl ? For example in this interface there's a unique uuid for every interface in TradingLib. import "oaidl.idl"; [uuid(7C948DDC-8C22-46CF-91AD-1E043A0E1A10), object] interface IInventory : IUnknown { HRESULT GetStock([out, retval] long* pStock); HRESULT Buy([in] long quantity, [in] float rate); [...] read more