POOM IDL


For the next version of Windows Mobile, we hope to have a rich managed interface for interacting with the Pocket Outlook Object Model (POOM).


In the mean time, developers using .NET CF v1 can use purchase a 3rd party component to do this (like this one provided by one of our MVPs).  Of if you're using the Visual Studio 2005 Beta, you can take advantage of the new COM interop features in .NET CF v2 with this (unofficial/unsupported) IDL file.


[Author: Robert Levy]


Comments (15)

  1. Hi Robert,

    I just downloaded this wonderful POOM IDL file. It’s great! But I wonder when will would managed POOM APIs be available from, let’s say, next beta release of Visual Studio 2005? Could you please tell me about the time plan? I need to make the decision whether wait or not.

    Thank you!

  2. Peter Foot says:

    musicland – Managed POOM will be part of the next version of Windows Mobile, it will not be a feature of .NETCF v2.0 itself.

    Peter

  3. Thanks Peter. It’s seems that I should go and find another solution currently available (IntheHand?) for my project.

  4. Neil Enns says:

    Depending on the version of Windows Mobile you’re targeting that might be a good idea. The Managed POOM that we’re working on will only work on the future releases of Windows Mobile, not existing ones like 2002 and 2003. Peter’s version from InTheHand does a great job on existing devices.

    Neil

  5. John Cody says:

    Hi,

    I know this is a little off-topic, but I have been beating my head against the wall,

    and would really appreciate any help anyone can offer 🙂

    I designed a mod to eVB so it can be used to create apps for both Smartphone

    2002 and 2003 devices (http://www.omnisoft.com/articles/spevb/default.asp).

    Everything works great, smartphone eVB apps can use ActiveX components and

    even call API’s of either OS. A list of Smartphone apps that various users

    have created using eVB is here:

    http://www.omnisoft.com/articles/spevb/evbapplist.asp

    The only remaining problem I have is trying to use the POOM functions

    (pimstore.dll) on the Smartphone. I can create the

    "Pocketoutlook.application" object, but when I try to invoke any method,

    even "pol.logon", I get a "Object doesn’t support this action ‘pol.logon’".

    I am not a COM expert, but from my limited understanding of COM, it seems

    that the pimstore.dll file in Smartphones doesn’t support the "IDispatch"

    interface, which I believe is what eVB needs in order to call the routines

    in POOM (something to do with late binding?).

    Again, not being a COM expert, my understanding is that a TypeLib for POOM

    might just be what eVB needs to properly use the pimstore.dll file in

    smartphones. Thats why my hope [to fix this issue] was raised when I saw

    this article

    (http://blogs.msdn.com/stevenpr/archive/2004/08/05/209390.aspx). However,

    not being much of an eVC developer, I did not know how to fully use the info

    in this post to fix my issue.

    I placed a copy of the pimtlb.dll file (typelib for POOM) that is included

    in the "eVB Runtimes for Pocket PC 2003" CAB file in the windows directory

    of my Smartphone, and I have added the typelib’s GUID

    "{4E130E40-7DBE-11D2-8F23-0000F87A4335}…" key and values to the registry

    of my device, but all POOM calls still fail.

    The one thing that I am confused about is this…how is eVB suppose to know

    that there is a typelib on the device when the typelib GUID regkey values

    doesn’t reference the POOM GUID (05058F23-20BE-11D2-8F18-0000F87A4335), and

    visa-versa? My last guess is that maybe there is some way to add the POOM

    typelib’s GUID to my eVB project file so that my eVB app (after compile)

    will then become aware of the typelib on the device and use it to make all

    the POOM calls…but this may just be my mis-understanding of COM

    interfaces.

    Maybe there are additional registry keys and values off of the POOM GUID key

    {05058F23-20BE-11D2-8F18-0000F87A4335} that are present in Pocket PC’s but

    not in Smartphone’s. So, if anyone could export the above GUID and all

    sub-keys and post a response, maybe that would help with a solution 🙂

    So, I was hoping that someone could shed some light on my issue and maybe

    confirm my assumptions, or even offer a solution that will allow eVB to call

    the functions in the pimstore.dll file in smartphone 2002 and 2003 devices.

    REWARD: Anyone who provides a solution to this problem will receive a FREE

    copy of ALL of my apps (http://www.omnisoft.com/products.asp), especially my

    most popular one: John Cody’s SATALERT

    Thanks for any help!

    -John Cody

  6. Sansanwal says:

    I am unable to find this file.

  7. Howard Bash says:

    Your POOM IDL Link does not work.  I have found alot of broken links on Microsofts development site…

  8. IceskYsl says:

    I organize my work (and a fair bit of my life) with the Outlook task list. In Outlook I have a customized view that shows all tasks due today, grouped by priority. This feature does not exist on the Pocket PC so I implemented a simple task manager with

  9. Bharani says:

    Hi,

    Good Morning.

    I’m using POOM IDL in my PDA Application, we have our staff’s contacts (Web Service will return this values) wnat to sync with PDA contact. When ever I do the Sync need to delete the existing contact, other wise it got duplicates.

    How I can over come this issue.

    Thanks in advance.

    Regards

    Bharani

    outlookApp.Logon(0);

               PocketOutlook.ContactItem contact = (PocketOutlook.ContactItem)outlookApp.CreateItem((int)PocketOutlook.OlItemType.olContactItem);

               contact.Delete();

               contact.FirstName = "S12345";

               contact.LastName = "My Name";

               contact.OfficeLocation = "HQ";

              // contact.MiddleName = "Middle Name";

               contact.JobTitle = "Information Mgt, Snr Exec";

               contact.HomeTelephoneNumber = "12345678";

               contact.MobileTelephoneNumber = "91234567";

               contact.BusinessTelephoneNumber = "87654321";

               contact.Email1Address = "123@xyz.com";

               contact.Save();

               outlookApp.Logoff();

  10. Vijay Pathak says:

    Hi,

    Can you help me where to get pimstore.idl?

    Regards,

    Vijay

  11. tushar says:

    I am not able to find the IDL file at the mentioned link. It appears to be broken. Can anyone provide me with the IDL file?

    Please contact me at tushar.bagave@gmail.com

  12. Dave says:

    With .net 3.5 with C# and trying to find a contact.

    I want to use the FindMatchingContact call rather than trying to imitate it myself. Why is it not implemented / not available and how do I work around this. Please tell me I don’t have to do some nasty horrible kludge with C++ and wrappers, that would really stink!

Skip to main content