Typedefs

Optional Plug-in DLL Functions

Plug-in DLLs can optionally take advantage of some 3ds Max features by implementing and exporting a number of functions. More...

Typedefs

typedef int(*  LibInitializeProcPtr )()
  Pointer to a function with the following signature: int LibInitialize() Allows to perform one-time plug-in data initialization.
typedef int(*  LibShutdownProcPtr )()
  Pointer to a function with the following signature: int LibShutdown() Allows to perform one-time plug-in data un-initialization.
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.

Detailed Description

Plug-in DLLs can optionally take advantage of some 3ds Max features by implementing and exporting a number of functions.

The following types represent pointers to these functions.


Typedef Documentation

typedef int(* LibInitializeProcPtr)()

Pointer to a function with the following signature: int LibInitialize() Allows to perform one-time plug-in data initialization.

Returns TRUE if the plug-in initialization was successful, FALSE otherwise. If the function returns FALSE, the system will unload the plug-in dll via a call to FreeLibrary(). This function may be called more then once.

typedef int(* LibShutdownProcPtr)()

Pointer to a function with the following signature: int LibShutdown() Allows to perform one-time plug-in data un-initialization.

It's called once, just before the plug-in is unloaded. This function may be called more then once.

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.

If the method returns true or is not implemented, 3ds Max will attempt to defer load the plug-in. For more information see the topic called "Deferred Loading of Plug-ins" in the 3ds Max SDK Programmer's Guide.