Share via


How to: List All PIM Items in a Folder

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 Pocket Outlook Database.)

The Pocket Outlook 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 Pocket Outlook 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.
    }
    

Example

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

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 = 0; counter < total; counter++) {
        pItems->Item(counter, &pTask);
        \\ Output details for each Task item.
   }

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

See Also

IPOutlookItemCollection::get_Count

Pocket Outlook Object Model

Last updated on Friday, April 22, 2005

© 2005 Microsoft Corporation. All rights reserved.

Send feedback on this topic to the authors.