Finding a PIM Item Within a Collection (Windows Embedded CE 6.0)

1/6/2010

Locating a particular PIM item within the Outlook Mobile database involves calling the IPOutlookItemCollection::Find method on the collection.

The Outlook Mobile database consists of three separate PIM item lists contained in the three OlDefaultFolders: the Appointments folder, the Tasks folder, and the Contacts folder.

To find a task by subject

  1. Create an instance of the Outlook Mobile application object and then use it to establish a POOM session. For more information, see Establishing a POOM Session.

  2. Declare a reference to a generic PIM item collection:

    IPOutlookItemCollection *pItems;
    
  3. Declare a reference to a generic PIM item folder:

    IFolder *pFolder;
    
  4. Declare a reference to a Task item:

    ITask *pFoundTask;
    
  5. Use the generic PIM item folder to get the Tasks folder:

    polApp->GetDefaultFolder(olFolderTasks, &pFolder);
    
  6. Use the Tasks folder to get the collection of Task items:

    pFolder->get_Items(&pItems)
    
  7. Search the collection of Task items for an item that matches your search criteria:

    pItems->Find(_T("[Subject] = \"meeting\""), reinterpret_cast<IDispatch **>(&pFoundTask));
    

Example

The following code example demonstrates how to retrieve a Task item from the Tasks folder, based on the information in its Subject property.

BSTR restriction = "[Subject] = \"meeting\"";

void FindTask(IPOutlookApp *polApp, ITask *pFoundTask, BSTR restriction)
{
    IPOutlookItemCollection * pItems;
    IFolder                 * pFolder;

    polApp->GetDefaultFolder(olFolderTasks, &pFolder)
    pFolder->get_Items(&pItems);
    pItems->Find(_T(restriction), reinterpret_cast<IDispatch **>(&pFoundTask));
}

To make the code example easier to read, security checking and error handling are not included.

This code example should not be used in a release configuration unless it has been modified to include them.

Compiling the Code

  • Include Header File: PimStore.h
  • Linker Dependency: PimStore.lib

See Also

Reference

IPOutlookItemCollection::Find

Other Resources

Pocket Outlook Object Model Common Tasks
Pocket Outlook Object Model Application Development