Sample Add-in Module Code
typedef void * FUNC_PTR;
#if defined(__STDC__) defined(__cplusplus) typedef CSSM_RETURN (*REGISTER_FUNC_PTR) (
const CSSM_GUID_PTR GUID,
const CSSM_REGISTRATION_INFO_PTR FunctionTable, CSSM_SPI_MEMORY_FUNCS_PTR UpcallTable,
void *Reserved);
typedef CSSM_RETURN (*DE_REGISTER_FUNC_PTR) (const CSSM_GUID_PTR GUID);
typedef CSSM_RETURN (*SET_ERROR_FUNC_PTR) (CSSM_GUID_PTR guid, uint32 error); #else
typedef CSSM_RETURN (*REGISTER_FUNC_PTR) (); typedef CSSM_RETURN (*DE_REGISTER_FUNC_PTR) (); typedef CSSM_RETURN (*SET_ERROR_FUNC_PTR) (); #endif
static void * | cssmRegister |
| = NULL; | ||
static | void | * | cssmDeregister | = | NULL; |
static | void | * | cssmSetError | = | NULL; |
static CSSM_GUID my_addin_guid =
{ /*
0x714ed4ea, 0x15d8, 0x11d2, {0x9b, 0xe7, 0x00, 0x60, 0xb0, 0xb6, 0xe6, 0x55}
};
*Name: _MyAddIn_Init
*This is the
*when the library is unloaded, “loading” is 0.
Appendix C | 91 |