During the course of loading and unloading a driver for a board, I have
come across the fact that the function FreeIntChainHandler() is
returning FALSE(failed) if the ISR DLL has been linked up in the
MODULES section of the BIB file. If it is in the FILES section,
FreeIntChainHandler() will return TRUE(ok).
This behaviour can be located in "loader.c" where DoFreeKernelLibrary()
is itself returning FALSE because the module has been fixed up in the
MODULES section.
Now the help on FreeIntChainHandler states "When this function is
called, the code associated with the interrupt handler is not unloaded.
It remains in memory until the device is reset. If the
LoadIntChainHandler function is called again for the same interrupt
handler, the code in memory is used."
http://msdn.microsoft.com/library/en-us/wcehardware5/html/wce50lrfFreeIntChainHandler.asp
This is fair enough, but should it really return FALSE?
Andrew.