The __export keyword specifies that the named function or object is to be marked for export from a DLL or to Windows. Applying the __export attribute to a function or object is the same as specifying the name in the EXPORTS section of a module-definition file.
It is not possible to use the __export keyword to specify any of the following additional information that can be provided in a module-definition file for exported functions or objects:
Name aliasing (internal versus external)
Tagging functions with ordinal values
Keeping names resident in memory
Tagging exported real-mode Windows functions as having no data
In most cases, the defaults provided by the __export keyword are sufficient, especially for call-back functions exported to Windows.
The __export keyword can be used with any of the calling-convention modifiers discussed in the previous section, but should be used only with functions declared as __far.