2017-05-30 10 views
0

私は、DAVサーバー(Exchangeの代用として機能する)と連絡先を同期するOutlookプラグイン(Visual C++で書かれています)を持っています。個人的な連絡先は問題ありませんが、グローバルアドレス一覧(GAL)の動作を模倣する方法はわかりません。Outlookでプログラムでグローバルアドレス一覧フォルダを作成する方法は?

理想的には、OutlookがExchangeに接続されているときと同じようにユーザーが検索できるGALフォルダを作成したいと考えています。まったく可能ですか?おそらく、Outlook Object Modelでは不可能ですが、MAPIでは可能ですか?誰かがどのように開始する方法について正しい方向に私を指すことができますか?

私はOutlook 2007+をサポートする必要がありますが、この特定の機能の最新バージョンのみをサポートすることもオプションです。

元々、GALフォルダ全体を同期して読み取り専用にしていたため、OutlookはGAL全体のローカルコピーを保存していました。 GALサイズが何千ものレコードに及ぶ場合、これはうまくいきません。

+0

私はあなたの質問を理解しているかどうかわかりません - 何が問題になっていますか? GALから何千ものエントリを取得するパフォーマンスですか? –

+0

@DmitryStreblechenko大企業は、GAL(DAVサーバー上)に500Kのエントリがあるとします。私はDAVサーバーからOutlookのローカルデータベースにすべての500Kエントリを読み込むことはできません。どちらのOutlookもExchange上ではこれを行いません。むしろGALから何かが必要なときに毎回Exchangeサーバーに照会することができます。すべてのエントリを取得することはありませんが、特定の検索クエリなどを実行することができます。私は同じことをする必要があります。 OutlookでGALフォルダを作成します。ユーザーがGAL検索フィールドに何かを入力すると、この文字列がDAVサーバーに送信され、与えられた条件に一致するエントリのみが返されます。 – Alex

答えて

1

これはできません。アドレス帳の提供者は検索を許可するだけで、コンテナの実際の内容は表示しないようにOutlookに指示できます。

独自のMAPIストアプロバイダを作成しない限り、Outlookフォルダではその操作を行うことはできません。ユーザーが行っている操作に応じて任意のデータを返すことができます。

+0

これは、少なくともMAPIプロバイダを作成する必要があることを示しています。それがスタートです。ありがとう! – Alex

+0

MAPIの経験がある場合でも、プロバイダを作成することは、午後のプロジェクトからは遠いです... –

+0

私は理解しています。しかし、今私は少なくともクライアントにどのオプションがあるかを伝えることができます。再度、感謝します。 – Alex

関連する問題