Share via


Finding a PIM Item Within a Collection

Send Feedback

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 default folders: 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 How to: Establish a POOM session.

  2. Declare a reference to a generic PIM item collection, as follows:

    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));
    

Code Example

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

Note   To make the following 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.

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));

    // Free memory.
    pItems->Release();
    pFolder->Release();
    pTask->Release();
}

See Also

How to Create a PIM Application with POOM | Pocket Outlook Object Model Application Development for Windows Mobile-based Devices | IPOutlookItemCollection::Find

Send Feedback on this topic to the authors

Feedback FAQs

© 2006 Microsoft Corporation. All rights reserved.