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