The latest version of this topic can be found at Attributes Alphabetical Reference. The following attributes are available in Visual C++.
| Attribute | Description |
|---|---|
| aggregatable | Indicates that a control can be aggregated by another control. |
| aggregates | Indicates that a control aggregates the target class. |
| appobject | Identifies the coclass as an application object, which is associated with a full EXE application, and indicates that the functions and properties of the coclass are globally available in this type library. |
| async_uuid | Specifies the UUID that directs the MIDL compiler to define both synchronous and asynchronous versions of a COM interface. |
| attribute | Allows you to create a custom attribute. |
| bindable | Indicates that the property supports data binding. |
| call_as | Enables a nonremotable function to be mapped to a remote function. |
| case | Used with the switch_type attribute in a union. |
| coclass | Creates a COM object, which can implement a COM interface. |
| com_interface_entry | Adds an interface entry to a COM map. |
| control | Specifies that the user-defined type is a control. |
| cpp_quote | Emits the specified string, without the quote characters, into the generated header file. |
| custom | Lets you define your own attributes. |
| db_accessor | Binds columns in a rowset and binds them to the corresponding accessor maps. |
| db_column | Binds a specified column to the rowset. |
| db_command | Executes an OLE DB command. |
| db_param | Associates the specified member variable with an input or output parameter. |
| db_source | Creates and encapsulates a connection, through a provider, to a data source. |
| db_table | Opens an OLE DB table. |
| default | Indicates that the custom or dispinterface defined within a coclass represents the default programmability interface. |
| defaultbind | Indicates the single, bindable property that best represents the object. |
| defaultcollelem | Used for Visual Basic code optimization. |
| defaultvalue | Allows specification of a default value for a typed optional parameter. |
| defaultvtable | Defines an interface as the default vtable interface for a control. |
| dispinterface | Places an interface in the .idl file as a dispatch interface. |
| displaybind | Indicates a property that should be displayed to the user as bindable. |
| dual | Places an interface in the .idl file as a dual interface. |
| emitidl | Determines whether all subsequent IDL attributes will be processed and placed in the generated .idl file. |
| entry | Specifies an exported function or constant in a module by identifying the entry point in the DLL. |
| event_receiver | Creates an event receiver. |
| event_source | Creates an event source. |
| export | Causes a data structure to be placed in the .idl file. |
| first_is | Specifies the index of the first array element to be transmitted. |
| helpcontext | Specifies a context ID that lets the user view information about this element in the Help file. |
| helpfile | Sets the name of the Help file for a type library. |
| helpstring | Specifies the ID of a help topic in an .hlp or .chm file. |
| helpstringdll | Specifies the name of the DLL to use to perform document string lookup (localization). |
| hidden | Indicates that the item exists but should not be displayed in a user-oriented browser. |
| id | Specifies a DISPID for a member function (either a property or a method, in an interface or dispinterface). |
| idl_module | Specifies an entry point in a DLL. |
| idl_quote | Allows you to use attributes or IDL constructs that are not supported in the current version of Visual C++. |
| iid_is | Specifies the IID of the COM interface pointed to by an interface pointer. |
| immediatebind | Indicates that the database will be notified immediately of all changes to a property of a data-bound object. |
| implements | Specifies dispatch interfaces that are forced to be members of the IDL coclass. |
| implements_category | Specifies implemented component categories for the class. |
| import | Specifies another .idl, .odl, or header file containing definitions you want to reference from your main .idl file. |
| importidl | Inserts the specified .idl file into the generated .idl file. |
| importlib | Makes types that have already been compiled into another type library available to the type library being created. |
| in | Indicates that a parameter is to be passed from the calling procedure to the called procedure. |
| include | Specifies one or more header files to be included in the generated .idl file. |
| includelib | Causes an .idl or .h file to be included in the generated .idl file. |
| last_is | Specifies the index of the last array element to be transmitted. |
| lcid | Lets you pass a locale identifier to a function. |
| length_is | Specifies the number of array elements to be transmitted. |
| library_block | Places a construct inside the .idl file's library block. |
| licensed | Indicates that the coclass to which it applies is licensed, and must be instantiated using IClassFactory2. |
| local | Allows you to use the MIDL compiler as a header generator when used in the interface header. When used in an individual function, designates a local procedure for which no stubs are generated. |
| max_is | Designates the maximum value for a valid array index. |
| module | Defines the library block in the .idl file. |
| ms_union | Controls the network data representation alignment of nonencapsulated unions. |
| no_injected_text | Prevents the compiler from injecting code as a result of attribute use. |
| nonbrowsable | Indicates that an interface member should not be displayed in a property browser. |
| noncreatable | Defines an object that cannot be instantiated by itself. |
| nonextensible | Specifies that the IDispatch implementation includes only the properties and methods listed in the interface description and cannot be extended with additional members at run time. |
| object | Identifies a custom interface; synonymous with custom attribute. |
| odl | Identifies an interface as an Object Description Language (ODL) interface. |
| oleautomation | Indicates that an interface is compatible with Automation. |
| optional | Specifies an optional parameter for a member function. |
| out | Identifies pointer parameters that are returned from the called procedure to the calling procedure (from the server to the client). |
| pointer_default | Specifies the default pointer attribute for all pointers except top-level pointers that appear in parameter lists. |
| pragma | Emits the specified string, without the quote characters, into the generated .idl file. |
| progid | Specifies the ProgID for a COM object. |
| propget | Specifies a property accessor (get) function. |
| propput | Specifies a property setting function. |
| propputref | Specifies a property setting function that uses a reference instead of a value. |
| ptr | Designates a pointer as a full pointer. |
| public | Ensures that a typedef will go into the type library even if it is not referenced from within the .idl file. |
| range | Specifies a range of allowable values for arguments or fields whose values are set at run time. |
| rdx | Creates or modifies a registry key. |
| readonly | Prohibits assignment to a variable. |
| ref | Identifies a reference pointer. |
| registration_script | Executes the specified registration script. |
| requestedit | Indicates that the property supports the OnRequestEdit notification. |
| requires_category | Specifies required component categories for the class. |
| restricted | Specifies that a library, or member of a module, interface, or dispinterface cannot be called arbitrarily. |
| retval | Designates the parameter that receives the return value of the member. |
| satype | Specifies the data type of the SAFEARRAY. |
| size_is | Specifies the size of memory allocated for sized pointers, sized pointers to sized pointers, and single- or multidimensional arrays. |
| source | Indicates that a member of a class, property, or method is a source of events. |
| string | Indicates that the one-dimensional char, wchar_t, byte, or equivalent array or the pointer to such an array must be treated as a string. |
| support_error_info | Supports error reporting for the target object. |
| switch_is | Specifies the expression or identifier acting as the union discriminant that selects the union member. |
| switch_type | Identifies the type of the variable used as the union discriminant. |
| synchronize | Synchronizes access to a method. |
| threading | Specifies the threading model for a COM object. |
| transmit_as | Instructs the compiler to associate a presented type, which client and server applications manipulate, with a transmitted type. |
| uidefault | Indicates that the type information member is the default member for display in the user interface. |
| unique | Specifies a unique pointer. |
| usesgetlasterror | Tells the caller that if there is an error when calling that function, the caller can then call GetLastError to retrieve the error code. |
| uuid | Specifies the unique ID for a class or interface. |
| v1_enum | Directs that the specified enumerated type be transmitted as a 32-bit entity, rather than the 16-bit default. |
| vararg | Specifies that the function take a variable number of arguments. |
| version | Identifies a particular version among multiple versions of an interface or class. |
| vi_progid | Specifies a version-independent form of the ProgID. |
| wire_marshal | Specifies a data type that will be used for transmission instead of an application-specific data type. |
See Also
C++ Attributes Reference
Concepts
Attributes by Group
Attributes by Usage