Lync の連絡先はグループに編成されるため、グループ レベルから開始する必要があります。グループを取得したら、その連絡先を列挙できます
foreach(var group in _client.ContactManager.Groups)
{
foreach (var contact in group)
{
MessageBox.Show(contact.Uri);
}
}
この記事は、バックグラウンドとより高度な機能に適しています
編集:具体的には、配布グループの拡張に関する質問については、ここのサンプルに欠陥があると思います.
BeginExpand を呼び出して WaitHandle を待機する代わりに、Expand コールバックを処理するコールバック メソッドを提供します。したがって、代わりに:
asyncOpResult = DGGroup.BeginExpand(null, null);
asyncOpResult.AsyncWaitHandle.WaitOne();
DGGroup.EndExpand(asyncOpResult);
これを試して:
...
asyncOpResult = DGGroup.BeginExpand(ExpandCallback, DGGroup);
...
public void ExpandCallback(IAsyncResult ar)
{
DistributionGroup DGGroup = (DistributionGroup)ar.AsyncState;
DGGroup.EndExpand(ar);
etc...
}
これは私にとって完璧に機能します。