Jaa


Windows Mobile does not support out-of-process COM

COM on Windows Mobile only supports creating in-proc COM objects, not out-of-proc or COM objects on remote machines.  Although this is documented, I think it's one of those things that's buried since I've been asked on newsgroups a few times about this.

There are two scenarios people run into with wanting out-of-proc COM:
1) They either really like COM or more likely they have some architecture they're porting from the desktop that was using out of proc COM.  I discuss IPC alternatives here.  Another option is that if you can possibly merge what was once 2 processes into one process on CE, then you can probably keep using the existing COM object calls as they were previously written.

2) They want to call into some interface that's exposed by COM in an external process they can't get at.  One newsgroup customer I know wanted to get at Windows Media Player controls and he thought there must be some COM object way of programming it.

In the case like Windows Media Player, where you're a client trying to consume someone else's services, you have to investigate to see if they implemented some other IPC mechanism themselves.  To the Windows Media Player customer I suggested he see if there was any window messages he could tie into, for instance, though I don't know if that was successfully.  Unfortunately there will be cases where you're just not able to do what you want because the process in question may not have allowed IPC.

Note this only applies to Windows Mobile devices.  General embedded devices may or may not contain out-of-process COM, depending on the options the OEM built the device with.

[Author: John Spaith]

Comments

  • Anonymous
    April 02, 2008
    Here is one more reason to use out-of-process COM. Each process has only 32MB of memory. So even if my device has more memory on board I am limited to 32MB