Re: Is PR_SEARCH_KEY an acceptable substitute for PR_ENTRYID?



Does OutsideIn handle named properties correctly when saving in the MSG
format?
If you have a contact or appointment saved, does Outlook display it Ok?

The problem with PR_SEARCH_KEY is that it is not unique enough: if you copy
a message, both copies will share teh same value of PR_SEARCH_KEY

--
Dmitry Streblechenko (MVP)
http://www.dimastr.com/
OutlookSpy - Outlook, CDO
and MAPI Developer Tool
-
"malcolm" <malcolm@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote in message
news:62D2E038-CCE0-4B25-ADF2-32979CE32062@xxxxxxxxxxxxxxxx
Hi Dmitry,

Having already created an IRDO:Mail object for the folder item in
question,
I call SaveAs() on the object. If I have an IRDOFolder that I am iterating
over, it's like this:

IRDOItems folderItems;
LPDISPATCH pDispItems = folder.GetItems();
if ( pDispItems == NULL )
{
// error
}
folderItems.AttachDispatch( pDispItems, true );
int itemCount = folderItems.GetCount();
for ( int index = 1; index <= itemCount; index++ )
{
IRDOMail currentItem;
LPDISPATCH pDispItem = folderItems.Item( index );
if ( pDispItem == NULL )
{
// error
}
currentItem.AttachDispatch( pDispItem, true );

// various operations to extract data from currentItem

// prepare a LOCAL path for saving the item as a .msg
currentItem.SaveAs( preparedPath );
}

It appears that calling SaveAs adds about .3 seconds on average. Using the
Outlook API directly seems to take about the same amount of time.

We are doing distibuted processing, in which the first machine gets the
PST
and simply makes a list of EntryIDs. That list is broken into ranges and
sent
back to secondary machines, each of which loads the PST and then calls
IRDOSession::GetMessageFromID() to get each message for detailed data
extraction.

To speed things up I would lke to use Stellent's OutsideIn, which can save
out an .msg file very quickly indeed. The way that works is that it loads
the
PST and generates a large table in memory, with a row for each item in the
store. You can tell it to save an .msg file by giving it the row-index of
the
item you want.

The problem is that there is no column (in current OutsideIn versions) in
the Stellent table for PR_ENTRYID, so I can't use that to tell it which
item
to save. It does get PR_SEARCH_KEY, though.

Thanks! I hope that helps clarify the problem.

"Dmitry Streblechenko" wrote:

What is your OOM or Redemption code?
0.5 seconds does nto sound nornal unless you have larger than usual
messges
and/or saving to a network drive.
You can use PR_SEARCH to find messages, but that will be expensive.
Not sure what you mean by "I cannot use the EntryID" - how exactly do you
tell that third party app which message must be saved?

--
Dmitry Streblechenko (MVP)
http://www.dimastr.com/
OutlookSpy - Outlook, CDO
and MAPI Developer Tool
-
"malcolm" <malcolm@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote in message
news:CAD86EDE-512C-44C2-A1D6-73F7FE336DCC@xxxxxxxxxxxxxxxx
Hi all,

I'm trying to put together a system that will extract and save .msg
files
from a PST at high speed.

I have a third-party application that saves them much faster than the
.3
to
.5 seconds it takes through Outlook or Redemption, but in order to tell
it
which MSG's to save I cannot use the EntryID, as due to a bug this app
I'd
like to use doesn't access that property.

Is PR_SEARCH_KEY an acceptable alternative?

Can every MSG in a PST be counted on even to have a PR_SEARCH_KEY
property?

Thanks, Malcolm





.



Relevant Pages

  • Re: Is PR_SEARCH_KEY an acceptable substitute for PR_ENTRYID?
    ... If you have a contact or appointment saved, does Outlook display it Ok? ... LPDISPATCH pDispItems = folder.GetItems; ... each of which loads the PST and then calls ... out an .msg file very quickly indeed. ...
    (microsoft.public.win32.programmer.messaging)
  • Re: Is PR_SEARCH_KEY an acceptable substitute for PR_ENTRYID?
    ... LPDISPATCH pDispItems = folder.GetItems; ... Outlook API directly seems to take about the same amount of time. ... in which the first machine gets the PST ... You can tell it to save an .msg file by giving it the row-index of the ...
    (microsoft.public.win32.programmer.messaging)
  • Re: MailItem flags
    ... So, through trial-and-error, it appears that setting FlagIcon to something ... "No Categories (colored by Outlook 2003 Blue flag)". ... item when a flag and/or a reminder is set on it using a MAPI viewer such as ... Msg 1: ...
    (microsoft.public.outlook.program_vba)
  • Re: Redemption Question - showaddressbook and saveas
    ... OutlookSpy - Outlook, CDO ... like a charm BUT if the user selects Cancel from the address book ... It would only save an empty email .msg file ... Msg = Session .GetDefaultFolder.Items.Add ...
    (microsoft.public.outlook.program_vba)
  • Re: Possible to create rule that uses keywords located in a text f
    ... Sue Mosher, Outlook MVP ... I think I can have the script reference a text file with the words I ... Dim msg As Outlook.MailItem ... Set olNS = Application.GetNamespace ...
    (microsoft.public.outlook.program_vba)

Loading