This class models a plug-in DLL.
3ds Max creates an instance of this class for each plugin dlls that it loads. This class allows for querying a number of plug-in DLL properties and the plug-in classes that expose.
Plugins must be built with support for RTTI, and must export all of the following functions in order for them to be loaded into 3ds Max.
Plugins may implement the following functions for added flexibility:
Class DllDir represents the plug-in Dll "registry" and offers various way to get to DllDesc instances.
- See also
- Class DllDir, Class ClassDesc, Class Interface,
-
Required DLL Functions
-
Deferred Loading of Plug-ins
|
CoreExport bool | IsLoaded () const |
| Returns true if the corresponding plug-in has been successfully loaded and initialized, false otherwise or if the plug-in has been defer-loaded. More...
|
|
CoreExport const MCHAR * | Description () const |
| Returns the Description defined in the LibDescription function. More...
|
|
CoreExport int | NumberOfClasses () const |
| Returns the number of classes implemented in the DLL. More...
|
|
CoreExport ClassDesc * | operator[] (int i) const |
| Returns a pointer to the 'i-th' class descriptor. More...
|
|
CoreExport ClassDesc * | GetClassDesc (int i) const |
| Returns a pointer to the 'i-th' class descriptor. More...
|
|
CoreExport int | operator== (const DllDesc &dd) const |
| Equality operator. More...
|
|
CoreExport bool | HasRttiSupport () const |
| Checks if this plugins dll was built with run-time type information (RTTI). More...
|
|
CoreExport bool | IsBinaryCompatible () const |
| Returns true if the plug-in DLL is binary compatible with the version of 3ds Max where it's being loaded into, false otherwise. More...
|
|
CoreExport ULONG | GetVersion () const |
| Returns the value reported by the LibVersion() function implemented by the plug-in DLL. More...
|
|
CoreExport bool | IsDeferrable () const |
| Returns whether the corresponding plug-in DLL can be defer loaded or not. More...
|
|
CoreExport bool | ImplementsCanAutoDefer () const |
| Returns whether the corresponding plug-in DLL implements the CanAutoDefer function or not. More...
|
|
CoreExport const MSTR & | GetFullPath () const |
| Returns the full path of the plug-in DLL file this instance of DllDesc represents. More...
|
|
CoreExport const MSTR & | GetFileName () const |
| Returns the file name and extension of the plug-in DLL this instance of DllDesc represents. More...
|
|
CoreExport const MSTR & | GetDirectoryName () const |
| Returns the folder name with a trailing backslash of the plug-in DLL this instance of DllDesc represents. More...
|
|
CoreExport const HINSTANCE | GetHandle () const |
| Returns the module handle of the plug-in DLL represented by this DllDesc instance. More...
|
|
CoreExport DWORD | GetSize () const |
| Returns the size of the linear space that the plug-in DLL occupies in memory, in bytes, or 0 if the plug-in DLL is not loaded. More...
|
|
CoreExport FILETIME | GetTimeLastModified () const |
| Returns the date and time the plug-in DLL was last modified. More...
|
|
| DllDesc (HINSTANCE dllHandle, const MCHAR *dllFullPath, LibVersionProcPtr libVersionProcPtr, LibDescriptionProcPtr libDescriptionProcPtr, LibNumberClassesProcPtr libNumberClassesProcPtr, LibClassDescProcPtr libClassDescProcPtr, LibInitializeProcPtr libInitializeProcPtr, LibShutdownProcPtr libShutdownProcPtr, CanAutoDeferProcPtr canAutoDeferProcPtr, const FILETIME &timeLastWrite) |
|
| DllDesc (const MCHAR *dllFullPath, const MCHAR *dllDescription, const FILETIME &timeLastWrite) |
|
void | Unload () |
|
BOOL | CallInitialize () |
|
BOOL | CallShutdown () |
|
| DllDesc (const DllDesc &other) |
|
DllDesc | operator= (const DllDesc &other) |
|
| ~DllDesc () |
|
|
static CoreExport bool | IsPluginDllVersionValid (ULONG pluginDllVersion) |
| Verifies the validity of the specified plug-in DLL version. More...
|
|
static UtilExport void * | operator new (size_t size) |
| Standard new operator used to allocate objects If there is insufficient memory, an exception will be thrown. More...
|
|
static UtilExport void * | operator new (size_t size, const std::nothrow_t &e) |
| Standard new operator used to allocate objects if there is insufficient memory, NULL will be returned. More...
|
|
static UtilExport void * | operator new (size_t size, const char *filename, int line) |
| New operator used to allocate objects that takes the filename and line number where the new was called If there is insufficient memory, an exception will be thrown. More...
|
|
static UtilExport void * | operator new (size_t size, int block_type, const char *filename, int line) |
| New operator used to allocate objects that takes the type of memory, filename and line number where the new was called If there is insufficient memory, an exception will be thrown. More...
|
|
static UtilExport void * | operator new (size_t size, const std::nothrow_t &e, const char *filename, int line) |
| New operator used to allocate objects that takes the filename and line number where the new was called If there is insufficient memory, NULL will be returned. More...
|
|
static UtilExport void * | operator new (size_t size, unsigned long flags) |
| New operator used to allocate objects that takes extra flags to specify special operations If there is insufficient memory, an exception will be thrown. More...
|
|
static UtilExport void * | operator new (size_t size, const std::nothrow_t &e, unsigned long flags) |
| New operator used to allocate objects that takes extra flags to specify special operations If there is insufficient memory, NULL will be returned. More...
|
|
static UtilExport void * | operator new[] (size_t size) |
| New operator used to allocate arrays of objects If there is insufficient memory, an exception will be thrown. More...
|
|
static UtilExport void * | operator new[] (size_t size, const std::nothrow_t &e) |
| New operator used to allocate arrays of objects If there is insufficient memory, NULL will be returned. More...
|
|
static UtilExport void * | operator new[] (size_t size, const char *filename, int line) |
| New operator used to allocate arrays of objects If there is insufficient memory, an exception will be thrown. More...
|
|
static UtilExport void * | operator new[] (size_t size, int block_type, const char *filename, int line) |
| New operator used to allocate arrays of objects. More...
|
|
static UtilExport void * | operator new[] (size_t size, const std::nothrow_t &e, const char *filename, int line) |
| New operator used to allocate arrays of objects If there is insufficient memory, NULL will be returned. More...
|
|
static UtilExport void * | operator new[] (size_t size, unsigned long flags) |
| New operator used to allocate arrays of objects If there is insufficient memory, an exception will be thrown. More...
|
|
static UtilExport void * | operator new[] (size_t size, const std::nothrow_t &e, unsigned long flags) |
| New operator used to allocate arrays of objects If there is insufficient memory, NULL will be returned. More...
|
|
static UtilExport void | operator delete (void *ptr) |
| Standard delete operator used to deallocate an object If the pointer is invalid, an exception will be thrown. More...
|
|
static UtilExport void | operator delete (void *ptr, const std::nothrow_t &e) |
| Standard delete operator used to deallocate an object If the pointer is invalid, nothing will happen. More...
|
|
static UtilExport void | operator delete (void *ptr, const char *filename, int line) |
| Delete operator used to deallocate an object that takes the filename and line number where the delete was called If the pointer is invalid, an exception will be thrown. More...
|
|
static UtilExport void | operator delete (void *ptr, int block_type, const char *filename, int line) |
| Delete operator used to deallocate an object that takes the type of memory, filename and line number where the delete was called If the pointer is invalid, an exception will be thrown. More...
|
|
static UtilExport void | operator delete (void *ptr, const std::nothrow_t &e, const char *filename, int line) |
| Delete operator used to deallocate an object that takes the filename and line number where the delete was called If the pointer is invalid, nothing will happen. More...
|
|
static UtilExport void | operator delete (void *ptr, unsigned long flags) |
| Delete operator used to deallocate an object that takes extra flags to specify special operations If the pointer is invalid, an exception will be thrown. More...
|
|
static UtilExport void | operator delete (void *ptr, const std::nothrow_t &e, unsigned long flags) |
| Delete operator used to deallocate an object that takes extra flags to specify special operations If the pointer is invalid, nothing will happen. More...
|
|
static UtilExport void | operator delete[] (void *ptr) |
| Standard delete operator used to deallocate an array of objects If the pointer is invalid, an exception will be thrown. More...
|
|
static UtilExport void | operator delete[] (void *ptr, const std::nothrow_t &e) |
| Standard delete operator used to deallocate an array of objects If the pointer is invalid, nothing will happen. More...
|
|
static UtilExport void | operator delete[] (void *ptr, const char *filename, int line) |
| Delete operator used to deallocate an array of objects that takes the filename and line number where the delete was called If the pointer is invalid, an exception will be thrown. More...
|
|
static UtilExport void | operator delete[] (void *ptr, int block_type, const char *filename, int line) |
| Delete operator used to deallocate an array of objects that takes the type of memory, filename and line number where the delete was called If the pointer is invalid, an exception will be thrown. More...
|
|
static UtilExport void | operator delete[] (void *ptr, const std::nothrow_t &e, const char *filename, int line) |
| Delete operator used to deallocate an array of objects that takes the filename and line number where the delete was called If the pointer is invalid, nothing will happen. More...
|
|
static UtilExport void | operator delete[] (void *ptr, unsigned long flags) |
| Delete operator used to deallocate an array of objects that takes extra flags to specify special operations If the pointer is invalid, an exception will be thrown. More...
|
|
static UtilExport void | operator delete[] (void *ptr, const std::nothrow_t &e, unsigned long flags) |
| Delete operator used to deallocate an array of objects that takes extra flags to specify special operations If the pointer is invalid, an exception will be thrown. More...
|
|
static UtilExport void * | operator new (size_t size, void *placement_ptr) |
| Placement new operator. More...
|
|
static UtilExport void | operator delete (void *ptr, void *placement_ptr) |
| Placement delete operator. More...
|
|
static UtilExport void * | aligned_malloc (size_t size, size_t alignment) |
| Allocates memory on a specified alignment boundary. More...
|
|
static UtilExport void * | aligned_realloc (void *ptr, size_t size, size_t alignment) |
| Reallocates memory on a specified alignment boundary. More...
|
|
static UtilExport void | aligned_free (void *ptr) |
| Frees a block of memory that was allocated with aligned_malloc/aligned_realloc. More...
|
|