You can use these attributes in the interface header to convey information about the entire interface:
Attribute | Usage |
---|---|
uuid | Designates a 128-bit value that distinguishes an interface from all other interfaces. The actual value may represent a GUID, a CLSID, or an IID. |
local | Directs the MIDL compiler to generate header files only. An interface must have either a uuid or a local attribute. |
ms_union | Controls the NDR alignment of nonencapsulated unions. Use for backward compatibility with interfaces built on MIDL 1.0 or 2.0. |
object | Identifies the interface as a COM interface and directs the MIDL compiler to generate proxy/stub code instead of RPC client and server stubs. |
version | Identifies a particular version of an interface in cases where multiple versions of the interface exist. Because COM interfaces are immutable, you cannot use the version attribute on an object interface. |
pointer_default | Specifies the default pointer type for all pointers except for those included in parameter lists. The default type can be unique, ref, or ptr. |
endpoint | Specifies a static (well-known) endpoint on which a server application will listen for remote procedure calls. |
See Type Library Attributes for interface attributes, such as dual and oleautomation, that are specific to interfaces defined or referenced inside a library statement.