[restricted[, other-attributes]]
statement-type statement-name {definitions};
[uuid(. . .), version (1.0), restricted] library UCantTouchThis
{. . .};
[propget, restricted] HRESULT DontTouch(void);
The restricted attribute specifies that a library, or member of a module, interface, or dispinterface cannot be called arbitrarily. For example, this prevents a data item from being used by a macro programmer. You can apply this attribute to a member of a coclass, independent of whether the member is a dispinterface or interface, and independent of whether the member is a sink (incoming) or source (outgoing). A member of a coclass cannot have both the restricted and default attributes.
IMPLTYPEFLAG_FRESTRICTED, FUNCFLAG_FRESTRICTED
TYPEFLAGS, library, interface, dispinterface, module, ODL File Syntax, ODL File Example, Generating a Type Library With MIDL, Differences Between MIDL and MKTYPLIB