Garmin M5: Calling unmanaged dll (c++) functions, enums, structs from managed code (c#) for Pocket PC.
Posted on 2005-05-16
I'm looking to build an application in c# that integrates GPS. I'm building the application to be used on the Garmin M5. However the SDK that came with the M5 is all in c++. So I'd like to build a dll that I'll be able to call functions passing and returning structs and enums from c#. What was included with the Garmin SDK was a bunch of .h files, a dll, and a lib file.
.h files included are:
the dll files included is:
and the lib file included is:
The SDk only mentions the .h files and makes no references to the dll file, so I'm not sure what's in that file. But I'm guessing that it's got all the same functions in there as well. Is there a way that I can see if it's got the functions in there?
Also, the SDK mentions that in order to use the GPS funcationality all I need to include is the GPSLib.h file. I looked at the GPSLib.h file and that simply #includes the QueApi.h file. I looked in there and that #includes the QuePrvApi.h and the QuePubApi.h files. Then those #include the QueApiTypes.h file. So I'm not quite sure how to go about this.
So here are my question:
1) How can I found out if I can use the provided QueApi.dll?
2) If I can use the QueApi.dll, can I use the .h files to figure out what functions to call?
3) Basically, how can I use the provided .h or dll in c#?
There are so many different questions in this one question, please don't hesitate to ask me for clarification on anything.
Thanks in advance. :)