Specifies that a member of a module, interface, or dispinterface cannot be called arbitrarily.
[ restricted(
      interfaces
) ]
Parameters
- interfaces
 One or more interfaces that may not be called arbitrarily on a COM object. This parameter is only valid when applied to a class.
Remarks
The restricted C++ attribute has the same functionality as the restricted MIDL attribute.
Example
The following code shows how to use the restricted attribute:
// cpp_attr_ref_restricted.cpp
// compile with: /LD
#include "windows.h"
#include "unknwn.h"
[module(name="MyLib")];
[object, uuid("00000000-0000-0000-0000-000000000001")]
__interface a
{
};
[object, uuid("00000000-0000-0000-0000-000000000002")]
__interface b
{
};
[coclass, restricted(a,b), uuid("00000000-0000-0000-0000-000000000003")]
class c : public a, public b
{
};
Requirements
Attribute Context
| Applies to | Interface method, interface, class, struct | 
| Repeatable | No | 
| Required attributes | coclass (when applied to class or struct) | 
| Invalid attributes | None | 
For more information about the attribute contexts, see Attribute Contexts.