BOOL CMapiApi::HandleContentsItem( ULONG oType, ULONG cb, LPENTRYID pEntry) { if (oType == MAPI_MESSAGE) { LPMESSAGE pMsg; if (OpenEntry( cb, pEntry, (LPUNKNOWN *) &pMsg)) { LPSPropValue pVal; pVal = GetMapiProperty( pMsg, PR_SUBJECT); ReportStringProp( "PR_SUBJECT:", pVal); pVal = GetMapiProperty( pMsg, PR_DISPLAY_BCC); ReportStringProp( "PR_DISPLAY_BCC:", pVal); pVal = GetMapiProperty( pMsg, PR_DISPLAY_CC); ReportStringProp( "PR_DISPLAY_CC:", pVal); pVal = GetMapiProperty( pMsg, PR_DISPLAY_TO); ReportStringProp( "PR_DISPLAY_TO:", pVal); pVal = GetMapiProperty( pMsg, PR_MESSAGE_CLASS); ReportStringProp( "PR_MESSAGE_CLASS:", pVal); ListProperties( pMsg); pMsg->Release(); } else { MAPI_TRACE0( " Folder type - error opening\n"); } } else MAPI_TRACE1( " ObjectType: %ld\n", oType); return( TRUE); }
BOOL CMapiApi::GetStoreFolders( ULONG cbEid, LPENTRYID lpEid, CMapiFolderList& folders, int startDepth) { // Fill in the array with the folders in the given store if (!m_initialized || !m_lpSession) { MAPI_TRACE0( "MAPI not initialized for GetStoreFolders\n"); return( FALSE); } m_lpMdb = NULL; CMsgStore * pStore = FindMessageStore( cbEid, lpEid); BOOL bResult = FALSE; LPSPropValue pVal; if (pStore && pStore->Open( m_lpSession, &m_lpMdb)) { // Successful open, do the iteration of the store pVal = GetMapiProperty( m_lpMdb, PR_IPM_SUBTREE_ENTRYID); if (pVal) { ULONG cbEntry; LPENTRYID pEntry; LPMAPIFOLDER lpSubTree = NULL; if (GetEntryIdFromProp( pVal, cbEntry, pEntry)) { // Open up the folder! bResult = OpenEntry( cbEntry, pEntry, (LPUNKNOWN *)&lpSubTree); MAPIFreeBuffer( pEntry); if (bResult && lpSubTree) { // Iterate the subtree with the results going into the folder list CGetStoreFoldersIter iterHandler( this, folders, startDepth); bResult = IterateHierarchy( &iterHandler, lpSubTree); lpSubTree->Release(); } else { MAPI_TRACE0( "GetStoreFolders: Error opening sub tree.\n"); } } else { MAPI_TRACE0( "GetStoreFolders: Error getting entryID from sub tree property val.\n"); } } else { MAPI_TRACE0( "GetStoreFolders: Error getting sub tree property.\n"); } } else { MAPI_TRACE0( "GetStoreFolders: Error opening message store.\n"); } return( bResult); }
BOOL CMapiApi::HandleHierarchyItem( ULONG oType, ULONG cb, LPENTRYID pEntry) { if (oType == MAPI_FOLDER) { LPMAPIFOLDER pFolder; if (OpenEntry( cb, pEntry, (LPUNKNOWN *) &pFolder)) { LPSPropValue pVal; pVal = GetMapiProperty( pFolder, PR_DISPLAY_NAME); ReportStringProp( "Folder name:", pVal); IterateContents( NULL, pFolder); IterateHierarchy( NULL, pFolder); pFolder->Release(); } else { MAPI_TRACE0( " Folder type - error opening\n"); } } else MAPI_TRACE1( " ObjectType: %ld\n", oType); return( TRUE); }
bool wxTarInputStream::OpenEntry(wxArchiveEntry& entry) { wxTarEntry *tarEntry = wxStaticCast(&entry, wxTarEntry); return tarEntry ? OpenEntry(*tarEntry) : false; }