TECHNIQUES FOR LOW-LEVEL ACCESS TO MANAGED CODE
The interface between Compact Framework managed code and native code is based on synchronous function calls that you can achieve with two different techniques:
You may notice that a third technique available on the desktop Framework called It Just Works, or IJW, is not listed here; this is because it requires managed C++, which is not available in the .NET Compact Framework.
In both cases, P/Invoke or COM Interop, the Compact Framework needs to perform specific operations on cross-frontier function calls for type checking and translation purposes; as a consequence some specific design is required when building the interface. The good news is that special helper classes exist in the Compact Framework to reduce the effort of the developer.
The next paragraphs present managed code interoperability to access the Compact 7 Watchdog Timer driver presented in Chapter 31, “Interrupts.”
To execute native code from a managed application, you simply need three elements:
All Win32 API calls are exposed by the Compact 7 system DLL coredll.dll; therefore a call to CreateFile requires only a single declaration. Your Smart Device application written in C# can open a driver ...