Listing 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 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
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.
Declare a reference to a generic PIM item collection, as follows:
IPOutlookItemCollection *pItems;
Declare a reference to a generic PIM item folder:
IFolder *pFolder;
Declare a reference to a Task item:
ITask *pTask;
Use the generic PIM item folder to get the Tasks folder:
polApp->GetDefaultFolder(olFolderTasks, &pFolder);
Use the Tasks folder to get the collection of Task items:
pFolder->get_Items(&pItems)
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