Architecture of Overriding the Functions
RMS provides static libraries for all the customizable modules. The customizable functions are pre-defined in these libraries. To override the default functions, you need to define the customizable functions and rebuild the executables using the static libraries only (and not with the shared libraries). The resultant executables will contain the functions defined by you and the RMS component will call your defined function automatically.
Here is an example:
>On Windows - As shown below, the VLSdecryptLicense function in lservnt.lib is overridden by the VLSdecryptLicense function in lic_decrypt.obj.
>On UNIX - Like Windows, the VLSdecryptLicense function in liblserv.a is overridden by the VLSdecryptLicense function in lic_decrypt.o.
NOTE Use the customized API so that they do not affect the performance of the License Manager. Therefore, operations that block calls or terminate the process should be avoided.