.NET Compact Framework & P/Invoke

As you can see from the latest posts, my latest obsession is .NET Compact Framework programming for my new Dell Axim X5.   I really like the simplicity of developing for the Pocket PC with .NET.  However, as robust the framework is, it still lacks support for numerous features, such as Today Screen, Rich Ink control, and anything that requires a Callback (due to no support for Callback's in .NET CF).

Recently I was trying to display the RichInk control, and noticed there was no corresponding control in the CF.   My first thought is;  “Oh, I'll just find the Win32 function to load that control.“

4 hours later, I am digging through dozens of links using C++ in the Pocket PC API reference and have Zero clue where to start.  2 hours later, I figure-out how to invoke it via CreateWindowEx, but cannot get it to respect the Flags passed-in for NoResize, nor does it display anything remotely “Rich“ in its UI.

I understand the very basic syntax of P\Invoke in C#.  However, I am always getting lost when I want to invoke a Native control library that has no wrapper in the .NET Compact Framework.

Any suggestions on how to learn enough of the Win32 API and SendMessage to “get“ this stuff?

NOTE: I am already aware of the 3rd party “RichInk“ control by Intelliprog, but I don't want to buy it, I really want to learn this stuff!