
Sample Add-in  Module Code
return dl_RegisterServices();
}
| 
 | 
 | ||
| * Name: dl_RegisterServices | 
 | 
 | |
| 
 | */ | ||
| CSSM_RETURN dl_RegisterServices () | 
 | 
 | |
| { | 
 | 
 | 
 | 
| CSSM_REGISTRATION_INFO DLRegInfo; | 
 | ||
| CSSM_MODULE_FUNCS | Services; | 
 | 
 | 
| CSSM_SPI_DL_FUNCS | DLFunctionTable; | ||
| /* Fill in Registration information */ | |||
| DLRegInfo.Initialize | 
 | = | DL_Initialize; | 
| DLRegInfo.Terminate | 
 | = | DL_Uninitialize; | 
| DLRegInfo.EventNotify | 
 | = | NULL; | 
| DLRegInfo.GetModuleInfo | 
 | = | NULL; | 
| DLRegInfo.FreeModuleInfo | = | NULL; | |
| DLRegInfo.ThreadSafe | 
 | = | CSSM_TRUE; | 
| DLRegInfo.ServiceSummary | = | CSSM_SERVICE_DL; | |
| DLRegInfo.NumberOfServiceTables = | 1; | ||
| DLRegInfo.Services | 
 | = | &Services; | 
/* Fill in Services */ Services.ServiceType = CSSM_SERVICE_DL; Services.FUNCS.DlFuncs = &DLFunctionTable;
/* Fill in Function Table */
| 94 | Appendix C | 
