The steps to create a subsystem DLL are the same as for a DLL that uses the runtime environment.
The one difference between the two types of DLLs is the _DLL_InitTerm function. This function is the initialization and termination entry point for all DLLs. In the C runtime environment, _DLL_InitTerm initializes and terminates the necessary environment for the DLL, including storage, semaphores, and variables. The version provided in the subsystem libraries defines the entry point for the DLL, but provides no initialization or termination functions.
If your subsystem DLL requires any initialization or termination, you will need to create your own _DLL_InitTerm function. Otherwise, you can use the default version.
![]()
Example of a Subsystem _DLL_InitTerm
Function
Example of a Subsystem _DLL_InitTerm
Function
Example of a User-Created
_DLL_InitTerm Function