Ejemplo n.º 1
0
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);
}
Ejemplo n.º 2
0
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);
}
Ejemplo n.º 3
0
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);
}
Ejemplo n.º 4
0
bool wxTarInputStream::OpenEntry(wxArchiveEntry& entry)
{
    wxTarEntry *tarEntry = wxStaticCast(&entry, wxTarEntry);
    return tarEntry ? OpenEntry(*tarEntry) : false;
}