Read Only Plug-Ins
See Also: Anti-Piracy Protection.
Plug-ins can read the 3ds max hardware lock ID number. Using the hardware lock ID, developers can provide versions of their plug-in that are slightly disabled. When the plug-in was loaded, if the current hardware lock wasn't the one it was authorized to run on, it would put itself in a disabled mode.
For example, this might mean the user interface for the plug-in was only partially enabled. Or perhaps the plug-in's parameters might not be fully editable in MAX. Possibly they are assigned fixed values, or values of a limited range, so the user can get the general idea of the plug-in but not really work with it in production.
These disabled versions could be freely distributable and contain information on how the complete versions can be purchased. This kind of information can be shown to the user via the 3ds max File/Summary Info.../Plug-In Info... command. This is accomplished using the DLL function LibDescription(). See DLL Functions and Class Descriptors for more information on this function.
A developer could implement a system where the user could phone the plug-in distributor and get a key number to unlock the disabled version. This key would allow the plug-in to be bound to the hardware lock of the new machine.
Sample code using an anti-piracy / authorization scheme can be found in \MAXSDK\SAMPLES\MODIFIERS\TWIST.CPP.