About calling a function: the problem is very simple: there is no such method in "ABC.DLL". Before writing your P/Invoke code, check up what is exported and under what name (a name can be
mangled:
http://en.wikipedia.org/wiki/Name_mangling[
^]).
You can use some binary dump utility, such as dumpbin.exe, which you can call from the Visual Studio Command Line:
http://support.microsoft.com/kb/177429[
^],
http://msdn.microsoft.com/en-us/library/c1h23y6c.aspx[
^],
http://msdn.microsoft.com/en-us/library/20y05bd5.aspx[
^].
About "calling an event": in this part, the question makes no sense at all. 1) There is no such notion as "call an event". 2) In native API, there are no "events", nothing like you have in .NET. Even in .NET: events are not called, they are invoked (very, very different concept); besides, you cannot invoke them from anywhere except their declaring types.
—SA