plugin.h File Reference

plugin.h File Reference
#include "maxheap.h"
#include "strclass.h"
#include "plugapi.h"
#include "Path.h"
#include "Noncopyable.h"
#include "BuildWarnings.h"
#include "DataClassDesc.h"

Classes

class  DllDesc
 This class models a plug-in DLL. More...
 
class  ClassEntry
 This class wraps a ClassDesc instance and maintains run-time related information about it. More...
 
class  SClassUIInfo
 This class allows developers to provide some additional information on a superclass. More...
 
class  SubClassList
 A collection of ClassEntry objects that have the same super class id. More...
 
class  ClassDirectory
 This class represents the directory of all plug-in classes known to the system. More...
 
class  DllDir
 Represents the plug-in DLL "directory", which is a registry of every plug-in DLL loaded by 3ds Max. More...
 

Macros

Plug-in access types.
#define ACC_PUBLIC   1
 ClassDesc has public access - plug-in type is exposed to end users in the UI. More...
 
#define ACC_PRIVATE   2
 ClassDesc has private access - plug-in type is not exposed to end users in the UI, but 3ds Max uses it internally, for example when it needs to load plug-in data. More...
 
#define ACC_ALL   (ACC_PUBLIC|ACC_PRIVATE)
 Convenience access specifier, to allow easy retrieval of both public and private ClassDesc. More...
 

Typedefs

typedef const ULONG(* LibVersionProcPtr) ()
 Pointer to a function with the following signature: ULONG LibVersion(). More...
 
typedef const MCHAR *(* LibDescriptionProcPtr) ()
 Pointer to a function with the following signature: const MCHAR* LibDescription(). More...
 
typedef int(* LibNumberClassesProcPtr) ()
 Pointer to a function with the following signature: int LibNumberClasses(). More...
 
typedef ClassDesc *(* LibClassDescProcPtr) (int i)
 Pointer to a function with the following signature: ClassDesc* LibClassDesc(int) Returns the i-th class descriptor (ClassDesc derived object). More...
 
typedef int(* LibInitializeProcPtr) ()
 Pointer to a function with the following signature: int LibInitialize() Allows to perform one-time plug-in data initialization. More...
 
typedef int(* LibShutdownProcPtr) ()
 Pointer to a function with the following signature: int LibShutdown() Allows to perform one-time plug-in data un-initialization. More...
 
typedef ULONG(* CanAutoDeferProcPtr) ()
 Pointer to a function with the following signature: BOOL CanAutoDefer() Plug-ins that do not wish or cannot be defer loaded should implement this method to return FALSE. More...
 

Macro Definition Documentation

#define ACC_PUBLIC   1

ClassDesc has public access - plug-in type is exposed to end users in the UI.

#define ACC_PRIVATE   2

ClassDesc has private access - plug-in type is not exposed to end users in the UI, but 3ds Max uses it internally, for example when it needs to load plug-in data.

#define ACC_ALL   (ACC_PUBLIC|ACC_PRIVATE)

Convenience access specifier, to allow easy retrieval of both public and private ClassDesc.