<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
  version="2.0">
  <channel>
    <title>SGriffin's MAPI Internals</title>
    <atom:link
      href="https://docs.microsoft.com/archive/blogs/stephen_griffin/feed.xml"
      rel="self"
      type="application/rss+xml" />
    <link>https://docs.microsoft.com/archive/blogs/stephen_griffin/feed.xml</link>
    <description>MAPI - Not dead yet</description>
    <lastBuildDate>Mon, 10 Apr 2017 15:22:22 GMT</lastBuildDate>
    <language>en-US</language>
    <sy:updatePeriod>hourly</sy:updatePeriod>
    <sy:updateFrequency>1</sy:updateFrequency>
    <item>
      <title>April 2017 Release of MFCMAPI and MrMAPI</title>
      <link>https://docs.microsoft.com/archive/blogs/stephen_griffin/april-2017-release-of-mfcmapi-and-mrmapi</link>
      <pubDate>Mon, 10 Apr 2017 10:21:45 GMT</pubDate>
      <dc:creator><![CDATA[Stephen Griffin - MSFT]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/stephen_griffin/?p=3355</guid>
      <description><![CDATA[The April 2017 Release (build 17.0.17099.01) is live:...]]></description>
      <content:encoded><![CDATA[The April 2017 Release (build 17.0.17099.01) is live: <a href="https://github.com/stephenegriffin/mfcmapi/releases/tag/17.0.17099.01">https://github.com/stephenegriffin/mfcmapi/releases/tag/17.0.17099.01</a>.

Since <a href="https://blogs.msdn.microsoft.com/bharry/2017/03/31/shutting-down-codeplex/">codeplex is going down</a>, I've migrated releases over to <a href="https://github.com/stephenegriffin/mfcmapi">Github</a>. I've fixed a few nagging UI issues, and added a first pass of a new Search UI. This is basically using the old Table/Restriction code, but hopefully a bit more user friendly.

Please continue to report issues on <a href="https://github.com/stephenegriffin/mfcmapi"><span style="color: #337ab7">Github</span></a>.

Enjoy.

&nbsp;]]></content:encoded>
    </item>
    <item>
      <title>March 2017 Release of MFCMAPI and MrMAPI</title>
      <link>https://docs.microsoft.com/archive/blogs/stephen_griffin/march-2017-release-of-mfcmapi-and-mrmapi</link>
      <pubDate>Tue, 14 Mar 2017 13:37:42 GMT</pubDate>
      <dc:creator><![CDATA[Stephen Griffin - MSFT]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/stephen_griffin/?p=3345</guid>
      <description><![CDATA[The March 2017 Release (build 17.0.17069.01) is live: http://mfcmapi.codeplex.com. I apologize for...]]></description>
      <content:encoded><![CDATA[<p>The March 2017 Release (build 17.0.17069.01) is live: <a href="http://mfcmapi.codeplex.com/">http://mfcmapi.codeplex.com</a>. <p><a href="https://github.com/stephenegriffin/mfcmapi/issues/9">I</a> apologize for this: <a title="https://github.com/stephenegriffin/mfcmapi/issues/29" href="https://github.com/stephenegriffin/mfcmapi/issues/29">https://github.com/stephenegriffin/mfcmapi/issues/29</a>. Large icons were not intentional. As evidenced from looking at every other application I’ve looked at, high DPI is hard. <p>Please continue to report issues on <a href="https://github.com/stephenegriffin/mfcmapi">Github</a>. Codeplex is only being used to host our download. Issues reported there may or may not ever be seen (if I could turn off issue reporting on Codeplex I would).. <p>Enjoy.</p>]]></content:encoded>
    </item>
    <item>
      <title>February 2017 Release of MFCMAPI and MrMAPI</title>
      <link>https://docs.microsoft.com/archive/blogs/stephen_griffin/february-2017-release-of-mfcmapi-and-mrmapi</link>
      <pubDate>Thu, 02 Feb 2017 20:41:20 GMT</pubDate>
      <dc:creator><![CDATA[Stephen Griffin - MSFT]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/stephen_griffin/?p=3335</guid>
      <description><![CDATA[The February 2017 Release (build 17.0.17033.02) is live: http://mfcmapi.codeplex.com.

In our last...]]></description>
      <content:encoded><![CDATA[The February 2017 Release (build 17.0.17033.02) is live: <a href="http://mfcmapi.codeplex.com">http://mfcmapi.codeplex.com</a>.

In our last hardware refresh, I had a chance to get a Surface Book, which was awesome, except for all the high DPI problems it exposed in MFCMAPI. So I fixed a bunch of those. Lemme know if you find any more.

I also fixed an issue that was reported about a dozen times, MAPI_E_INTERFACE_NOT_SUPPORTED trying to create a MSG file: <a href="https://github.com/stephenegriffin/mfcmapi/issues/9" title="https://github.com/stephenegriffin/mfcmapi/issues/9">https://github.com/stephenegriffin/mfcmapi/issues/9</a>.

<a href="https://github.com/stephenegriffin/mfcmapi">Github</a> continues to be awesome. Thanks to everyone who reported <a href="https://github.com/stephenegriffin/mfcmapi/issues">issues</a>. I look forward to getting more.

Enjoy.]]></content:encoded>
    </item>
    <item>
      <title>November 2016 Release of MFCMAPI and MrMAPI</title>
      <link>https://docs.microsoft.com/archive/blogs/stephen_griffin/november-2016-release-of-mfcmapi-and-mrmapi</link>
      <pubDate>Mon, 14 Nov 2016 10:32:06 GMT</pubDate>
      <dc:creator><![CDATA[Stephen Griffin - MSFT]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/stephen_griffin/?p=3316</guid>
      <description><![CDATA[The November 2016 Release (build 16.0.16319.01) is live: http://mfcmapi.codeplex.com.

My new...]]></description>
      <content:encoded><![CDATA[The November 2016 Release (build 16.0.16319.01) is live: <a href="http://mfcmapi.codeplex.com">http://mfcmapi.codeplex.com</a>.

My new build management system appears to be working well. This is the second release using it and I haven’t had to stress about ensuring every build was correct and zipped and properly named – all of that’s automated now. Much happy.

The github migration has been very smooth: <a href="https://github.com/stephenegriffin/mfcmapi">https://github.com/stephenegriffin/mfcmapi</a>

I’m getting the hang of hacking locally with constant commits, then syncing to the server when I’m happy. The Continuous Integration and nightly build jobs I’ve got set up on Visual Studio are keeping me honest. I’ve also been moch more free to do massive code reorgs as I know if I screw it up I’ll get caught quickly.

The only major visual change is the introduction of  best guess logic for property tag names. I’ve been using this logic on some internal debug tools for a while now and really wanted to get it in to MFCMAPI. So now the name column in MFCMAPI will display one single best guess name. All other names for a property go into the other column. I’ve also reflected the named property names and ids up to the name column so every property gets a name if we have one. One of the biggest gaffes I see in MFCMAPI usage is reports that a property is missing, when it was really there but they looked in the wrong column for the name. Hopefully this change will stop most of that.

I’ll forgo the change list. You can see what I’ve done up on <a href="https://github.com/stephenegriffin/mfcmapi">Github</a>.

Enjoy.]]></content:encoded>
    </item>
    <item>
      <title>October 2016 Release of MFCMAPI and MrMAPI</title>
      <link>https://docs.microsoft.com/archive/blogs/stephen_griffin/october-2016-release-of-mfcmapi-and-mrmapi</link>
      <pubDate>Tue, 18 Oct 2016 13:20:37 GMT</pubDate>
      <dc:creator><![CDATA[Stephen Griffin - MSFT]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/stephen_griffin/?p=3315</guid>
      <description><![CDATA[The October 2016 Release (build 16.0.16292.01) is live: http://mfcmapi.codeplex.com.  So – I managed...]]></description>
      <content:encoded><![CDATA[<p>The October 2016 Release (build 16.0.16292.01) is live: <a href="http://mfcmapi.codeplex.com/">http://mfcmapi.codeplex.com</a>.  <p>So – I managed somehow to let a year go by without a new release. I hadn’t stopped hacking on MFCMAPI. To the contrary – I completely rewrote all of the string handling to something a bit more modern than naked LPSTR. I also fixed that nasty bug some of you may have seen on Windows 10 – the empty error dialog when you roll over the wrong menu item. <p>More importantly though, I’ve overhauled my build and publication process. MFCMAPI source is no longer hosted on Codeplex (sniff). You’ll find it over on Github now: <p><a href="https://github.com/stephenegriffin/mfcmapi">https://github.com/stephenegriffin/mfcmapi</a> <p>Fortunately, I was able to migrate the complete source history, so it barely stung at all when I checked in the deletion of the source on Codeplex. Feel free to head on over to Github and party. I’m open to pull requests. This is my first project on github, so if I’m not doing things “the right way” just let me know. <p>I’ve also migrated my build process up to Visual Studio Team Services. I had intended to set this up on a public server, but I see now it’s still private. I’ll have to look in to migrating it. But what I’ve gained is: <ul> <li>Continuous integration: I get a build on every check in</li> <li>Nightly builds: I build every possible variation of the project every night</li> <li>One click build and publication to Codeplex</li></ul> <p>That last one is the crown jewel. In one action I can kick off build, package, and deploy to Codeplex. All I have to do then is check it over, write the blog post, and unhide it. Now I have zero excuses for not publishing updates more often.</p> <p>I’ll forgo the change list. You can see what I’ve done up on <a href="https://github.com/stephenegriffin/mfcmapi">Github</a>. <p>Enjoy.</p>]]></content:encoded>
    </item>
    <item>
      <title>September 2015 Release of MFCMAPI and MrMAPI</title>
      <link>https://docs.microsoft.com/archive/blogs/stephen_griffin/september-2015-release-of-mfcmapi-and-mrmapi</link>
      <pubDate>Wed, 02 Sep 2015 13:44:22 GMT</pubDate>
      <dc:creator><![CDATA[Stephen Griffin - MSFT]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/stephen_griffin/2015/09/02/september-2015-release-of-mfcmapi-and-mrmapi/</guid>
      <description><![CDATA[The September 2015 Release (build 15.0.0.1043) is live: http://mfcmapi.codeplex.com.It&rsquo;s...]]></description>
      <content:encoded><![CDATA[<p>The September 2015 Release (build 15.0.0.1043) is live: <a href="http://mfcmapi.codeplex.com">http://mfcmapi.codeplex.com</a>.<p>It&rsquo;s amazing &ndash; how much I don&rsquo;t get to work on MFCMAPI when I&rsquo;m no longer in Developer Support. That&rsquo;s no excuse for leaving it alone for a year! I did patch quite a bit in the past year.</p><p>Here's a change list - see the <a href="http://mfcmapi.codeplex.com/WorkItem/List.aspx">Issue Tracker</a> and <a href="https://mfcmapi.codeplex.com/SourceControl/list/changesets">ChangeSets</a> on Codeplex for more details:</p><ul>   <li>SmartView: Completely rewrote the engine to be much more modular and easier to maintain</li>    <li>MrMAPI: Fixed several crashes, leaks, and hangs</li>    <li>Migrated a metric ton of old CString and manual string handling to wstring</li>    <li>Performance: Did a whole bunch of performance tweaks &ndash; everything should be much snappier</li> </ul><p>Enjoy.</p></p>
]]></content:encoded>
    </item>
    <item>
      <title>ProfileProp – Examine Profile Properties</title>
      <link>https://docs.microsoft.com/archive/blogs/stephen_griffin/profileprop-examine-profile-properties</link>
      <pubDate>Sat, 18 Jul 2015 18:59:46 GMT</pubDate>
      <dc:creator><![CDATA[Stephen Griffin - MSFT]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/stephen_griffin/2015/07/18/profileprop-examine-profile-properties/</guid>
      <description><![CDATA[I&rsquo;ve had some requests lately to write a MAPI sample that shows how to access profile...]]></description>
      <content:encoded><![CDATA[I&rsquo;ve had some requests lately to write a MAPI sample that shows how to access profile properties programmatically, so I threw this together from some bits and pieces of code I had laying around.

I had the chance to incorporate a few cool features in this code:

<ol>   <li><a href="https://msdn.microsoft.com/en-us/library/office/ff522797.aspx">MultiEx</a>: It loops over the profile services looking for services of type MSEMS, grabbing the <a href="https://msdn.microsoft.com/en-us/library/office/ff625289.aspx">PR_EMSMDB_SECTION_UID</a> property for each. It uses this to open the global profile section for each account.</li>    <li><a href="http://mapistublibrary.codeplex.com/">MAPI Stub Library</a>: This sample uses the MAPI Stub Library, demonstrating yet again how easy this library is to incorporate. The version I&rsquo;m using here is cribbed from the <a href="http://mfcmapi.codeplex.com">MFCMAPI</a> source.</li>    <li>The profile name is optional: You can specify any profile you want, or if you leave it out, it will look up and use the default profile.</li>    <li>Deletion: If you have a property you want to delete, you can pass the &ndash;d switch. Be careful with this! Deleting random properties could corrupt your profile and leave you in a state where the only fix is to recreate the profile or restore from backup. Make sure you know what your doing before you delete a property!</li>    <li>Backup: If you do use the deletion switch, this sample will create a backup of the profile using <a href="https://msdn.microsoft.com/en-us/library/cc815840(v=office.15).aspx">CopyProfile</a>.</li> </ol>

Here&rsquo;s the help, showing how to use the sample:

<table cellspacing="0" cellpadding="2" width="491" border="1"><tbody>     <tr>       <td valign="top" width="489">         C:\&gt;ProfileProp.exe -?            <br>ProfileProp - Profile Property Examination Tool             <br>&nbsp;&nbsp; Locates and optionally deletes a property from the Exchange Global Profile section of a profile.             <br>&nbsp;&nbsp; In the case of multiple Exchange accounts, will locate the property for each account. </p>          <p>Usage:&nbsp; ProfileProp [-?] [-p profile] [-d] &lt;property tag number&gt; </p>          <p>Options:            <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -p profile Name of new profile to examine.             <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Default profile will be used if -p is not used. </p>          <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -d&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Delete the property (otherwise just locate it) </p>          <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Displays this usage information.</p>       </td>     </tr>   </tbody></table>

<p>Suppose you wanted to use this to output the display name of each account in the profile. You could do this (note that 0x3001001F is <a href="https://msdn.microsoft.com/en-us/library/office/cc842383.aspx">PR_DISPLAY_NAME</a>):

<table cellspacing="0" cellpadding="2" width="400" border="1"><tbody>     <tr>       <td valign="top" width="400">         C:\&gt;ProfileProp.exe 0x3001001F            <br> Profile Property Tool             <br> Profile: Outlook             <br> Property: 0x3001001F </p>          <p>Examining account Microsoft Exchange            <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Located property             <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Property tag: 0x3001001F             <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Value: sgriffin@example.com             <br> Examining account Microsoft Exchange             <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Located property             <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Property tag: 0x3001001F             <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Value: sgriffin@example.example.com</p>       </td>     </tr>   </tbody></table>

<p>I haven&rsquo;t implemented property name lookup like in <a href="http://mfcmapi.codeplex.com/">MrMAPI</a>, and I probably won&rsquo;t.

You can get the sample <a href="https://sgriffin.blob.core.windows.net/samples/ProfileProp.zip">here</a>.

<p>Enjoy!</p>]]></content:encoded>
    </item>
    <item>
      <title>August 2014 Release of MFCMAPI and MrMAPI</title>
      <link>https://docs.microsoft.com/archive/blogs/stephen_griffin/august-2014-release-of-mfcmapi-and-mrmapi</link>
      <pubDate>Wed, 13 Aug 2014 12:22:05 GMT</pubDate>
      <dc:creator><![CDATA[Stephen Griffin - MSFT]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/stephen_griffin/2014/08/13/august-2014-release-of-mfcmapi-and-mrmapi/</guid>
      <description><![CDATA[The August 2014 Release (build 15.0.0.1042) is live: http://mfcmapi.codeplex.com.It&rsquo;s been a...]]></description>
      <content:encoded><![CDATA[<p>The August 2014 Release (build 15.0.0.1042) is live: <a href="http://mfcmapi.codeplex.com/">http://mfcmapi.codeplex.com</a>.<p>It&rsquo;s been a chaotic half year and I haven&rsquo;t been able to get my builds out as often as I&rsquo;d like, though I did do a ton of work on MFCMAPI. </p><p>This month we get a totally rebuilt MAPI property parsing engine. As it&rsquo;s an engine change, you shouldn&rsquo;t notice much different in MFCMAPI itself, but all of my XML exports get an upgrade.</p><p>Here's a change list - see the <a href="http://mfcmapi.codeplex.com/WorkItem/List.aspx">Issue Tracker</a> and <a href="https://mfcmapi.codeplex.com/SourceControl/list/changesets">ChangeSets</a> on Codeplex for more details:</p><ul>   <li>Property Parsing engine rebuilt</li>    <li>MrMAPI: Fixed malformed XML in profile list when no profiles exist</li>    <li>Adding attachments is now possible</li>    <li>MrMAPI: Can now dump the receive folder table</li>    <li>Export now includes large props by defalt</li>    <li>SmartView: Understands PR_PREDECESSOR_CHANGE_LIST</li> </ul><p>Enjoy.</p></p>
]]></content:encoded>
    </item>
    <item>
      <title>Message Header Analyzer’s Manifest</title>
      <link>https://docs.microsoft.com/archive/blogs/stephen_griffin/message-header-analyzers-manifest</link>
      <pubDate>Fri, 09 May 2014 21:05:30 GMT</pubDate>
      <dc:creator><![CDATA[Stephen Griffin - MSFT]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/stephen_griffin/2014/05/09/message-header-analyzers-manifest/</guid>
      <description><![CDATA[For those of you who know what to do with this, here&rsquo;s the manifest for Message Header...]]></description>
      <content:encoded><![CDATA[<p>For those of you who know what to do with this, here&rsquo;s the manifest for Message Header Analyzer:<p><a title="https://mha.azurewebsites.net/manifest.xml" href="https://mha.azurewebsites.net/manifest.xml">https://mha.azurewebsites.net/manifest.xml</a></p><p>For the rest, I&rsquo;ll put some instructions together later.</p><p>Enjoy!</p></p>
]]></content:encoded>
    </item>
    <item>
      <title>Automated Dump Collection Using Procdump</title>
      <link>https://docs.microsoft.com/archive/blogs/stephen_griffin/automated-dump-collection-using-procdump</link>
      <pubDate>Mon, 05 May 2014 13:05:27 GMT</pubDate>
      <dc:creator><![CDATA[Stephen Griffin - MSFT]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/stephen_griffin/2014/05/05/automated-dump-collection-using-procdump/</guid>
      <description><![CDATA[I thought I’d share a script I’ve been using on some recent cases to generate memory dump files on...]]></description>
      <content:encoded><![CDATA[  <p>I thought I’d share a script I’ve been using on some recent cases to generate memory dump files on multiple machines for intermittent crashes. The scenario this script targets is that you have a process, say Outlook.exe, which is crashing for a number of users, but you haven’t yet narrowed down a repro scenario. You’d like to get memory dumps when the process crashes, and you’d also like to get extra debugging information which may help you hone in on the issue. You'd also like to set all of this up so the user doesn't have to do anything themselves. They just run the process and data is generated automatically for you to collect later.</p>  <p>This script, set through <a href="http://support.microsoft.com/kb/824344">Image File Execution Options</a>, attaches <a href="http://technet.microsoft.com/en-us/sysinternals/dd996900.aspx">Procdump.exe</a> to your process every time it starts, so it can listen for exceptions and write dump files when interesting ones occur. It also captures Procdump’s debug spew in a log file which you can use to identify first chance exceptions that you'd also like to get dumps for. Once enabled, you'll just need to visit the user's machine periodically to collect the dumps and logs for analysis.</p>  <p>To use this script, create a file called DoProcDump.cmd and place it in c:\tools alongside procdump.exe (you can configure these paths differently if you like, but you’ll need to modify the script) and then create an entry under Image File Execution Options. Next time the user starts the process, Procdump will attach and listen for exceptions. There are a number of ways you can change up the data collection, such as enabling first chance exceptions, or getting dumps on process shutdown (useful for silent exits, though <a href="http://msdn.microsoft.com/en-us/library/windows/hardware/jj602791(v=vs.85).aspx">this</a> is even better). Look at the comments in the script to see how to enable and configure these.</p>  <p>To disable this script, just remove the reg key you created under Image File Execution Options.</p>  <p>BTW, I got the unique file name code from here: <a href="http://blogs.msdn.com/b/myocom/archive/2005/06/03/creating-unique-filenames-in-a-batch-file.aspx">http://blogs.msdn.com/b/myocom/archive/2005/06/03/creating-unique-filenames-in-a-batch-file.aspx</a></p>  <p>Enjoy!</p>  <pre class="batchcode"><span class="kwrd">@ECHO</span> off
<span class="rem">REM *****DoProcDump.cmd*****</span>
<span class="rem">REM Configure this in Image File Execution Options like so:</span>
<span class="rem">REM [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\Outlook.exe]</span>
<span class="rem">REM &quot;Debugger&quot;=&quot;cmd /c c:\\tools\\DoProcdump.cmd&quot;</span>
<span class="rem">REM (Double \\ are how \ are represented in .reg files. If setting this value manually, use single \.)</span>

<span class="rem">REM Change these paths to reflect the location of Procdump and the location to which the output files should be written.</span>
<span class="rem">REM Data collection should include .dmp files and all procdumpOutput*.txt files written to the out path.</span>
<span class="kwrd">set</span> PDOutPath=<span class="str">&quot;C:\tools&quot;</span>
<span class="kwrd">set</span> PDExe=<span class="str">&quot;C:\tools\Procdump.exe&quot;</span>

<span class="rem">REM Only enable one of the following.</span>
<span class="rem">REM Use this filter to catch only second chance exceptions.</span>
<span class="kwrd">Set PDFilter=/e</span>
<span class="rem">REM Enable this filter to catch specific first chance exceptions in addition to second chance exceptions.</span>
<span class="rem">REM Set PDFilter=/e 1 /f &quot;System.Threading.ThreadAbortException&quot; /f &quot;System.AccessViolationException&quot;</span>

<span class="rem">REM Configure the maximum number of dumps to gather here.</span>
<span class="kwrd">Set</span> PDNumDumps=5

<span class="rem">REM Enable this also gather dumps on process shutdown.</span>
<span class="rem">REM Set PDTerm=/t</span>

<span class="kwrd">set</span> PDCfg=/ma /n %PDNumDumps% %PDTerm% %PDFilter% /x

<span class="kwrd">@ECHO</span> *************************************************************
<span class="kwrd">@ECHO</span> *                                                           *
<span class="kwrd">@ECHO</span> *               DO NOT CLOSE THIS WINDOW!                   *
<span class="kwrd">@ECHO</span> *                                                           *
<span class="kwrd">@ECHO</span> * This window will close automatically  when Outlook exits. *
<span class="kwrd">@ECHO</span> *                                                           *
<span class="kwrd">@ECHO</span> *************************************************************
<span class="kwrd">@ECHO</span>.
<span class="kwrd">@ECHO</span> Running: %PDExe% %PDCfg% %PDOutPath% %*

<span class="rem">REM This generates a good file name for our log file.</span>
<span class="kwrd">for</span> /f <span class="str">&quot;delims=/ tokens=1-3&quot;</span> %%a <span class="kwrd">in</span> (<span class="str">&quot;%DATE:~4%&quot;</span>) <span class="kwrd">do</span> (
   <span class="kwrd">for</span> /f <span class="str">&quot;delims=:. tokens=1-4&quot;</span> %%m <span class="kwrd">in</span> (<span class="str">&quot;%TIME: =0%&quot;</span>) <span class="kwrd">do</span> (
      <span class="kwrd">set</span> LOGFILE=%PDOutPATH%\procdumpOutput-%username%-%%c-%%b-%%a-%%m%%n%%o%%p.txt
   )
)

<span class="kwrd">@ECHO</span> %* &gt; %LOGFILE%
<span class="kwrd">@ECHO</span> Current time %TIME: =0% &gt;&gt; %LOGFILE%
<span class="kwrd">@ECHO</span> Running: %PDExe% %PDCfg% %PDOutPath% %* &gt;&gt; %LOGFILE%

%PDExe% %PDCfg% %PDOutPath% %* &gt;&gt; %LOGFILE% 2&gt;&amp;1</pre>]]></content:encoded>
    </item>
  </channel>
</rss>