Searching Outlook Global Address List
<p>I'm pulling up the Global Address List from Outlook like so...</p>

<pre><code> Microsoft.Office.Interop.Outlook.Application oApp = new Microsoft.Office.Interop.Outlook.Application();
 AddressList gal = oApp.Session.GetGlobalAddressList();
</code></pre>

<p>...with the aim of eventually being able to search through this in my own application to retrieve contact information which I can then supply to a method that squirrels off an email. Unfortunately given that my own GAL has about 20K entries in (the customers much more) using a foreach or something simply doesn't work in an acceptable timeframe.</p>

<p>I want to pass a string like "Tom" to a method and have it return a list of possible contacts. Is this possible outside of actually opening up Outlook and creating the mail there?</p>

<p>Note: There are a couple of other questions similar to this but most seem to have no good answer. I'm hoping I have more luck.</p>
