Share via


Listing All PIM Items in a Folder

Send Feedback

Listing all of the PIM items contained in a particular folder involves determining the number of items in the folder and then looping through the collection to iteratively retrieve a particular PIM item from the database. (For more information retrieving PIM items, see How to: Retrieve a PIM Item from the Outlook Mobile Database.)

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 list all the Task items in the Tasks folder

  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 *pTask;
    
  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. Loop through the collection of Task items, and get each item, as follows:

    for(int counter = 0; counter < total; counter++) {
        pItems->Item(counter, &pTask);
        \\ Output details for each Task item.
        pTask->Release();
    }
    

Code Example

The following code example demonstrates how to list all of the Task items in the Tasks folder.

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.

void ListTasks(IPOutlookApp *polApp)
{
    IPOutlookItemCollection *pItems;
    IFolder *pFolder;
    ITask *pTask;
    int total;

    polApp->GetDefaultFolder(olFolderTasks, &pFolder)
    pFolder->get_Items(&pItems);
    pItems->get_Count(&total);

    for(int counter = 1; counter < (total + 1); counter++) {
        pItems->Item(counter, &pTask);
        \\ Output details for each Task item.
        pTask->Release();
   }

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

See Also

Pocket Outlook Object Model Application Development for Windows Mobile-based DevicesIPOutlookItemCollection::get_Count

Send Feedback on this topic to the authors

Feedback FAQs

© 2006 Microsoft Corporation. All rights reserved.