我在Powershell中有以下内容:
make_reserved
以及C#中的以下内容:
#include <vector>
#include <iostream>
#include <utility>
#include <functional>
template <class T>
std::vector<T> make_reserved(const std::size_t n)
{
std::vector<T> v;
v.reserve(n);
return v;
}
int main()
{
using Q = std::priority_queue<int, std::vector<int>>;
auto q = Q(std::less<int>(), make_reserved<int>(100));
std::cout << q.size() << std::endl;
}
最后一个是:
[System.Collections.ArrayList] $ConfRooms = $Outlook.Session.GetGlobalAddressList().AddressEntries | ?{$_.Name -match "^Conf Room"} | %{$_.Name}
我遇到的问题是它遍历整个地址簿以找到房间。有什么办法可以获得房间清单吗?当直接通过Outlook时,我点击新项目,选择会议,选择计划助理,然后选择“添加房间”,它只给我地址列表中的房间,所以必须有一个标志某处定义地址条目为一个房间(因为它还包括作为财产的能力)。这个弹出窗口是即时的,我希望在我写的程序中实现相同的目标。
答案 0 :(得分:0)
对于一个房间,PR_DISPLAY_TYPE_EX MAPI
属性为DT_ROOM
(您可以在OutlookSpy中看到属性 - 点击IAddrBook按钮并向下钻取到任何房间。)
另请注意,GAL会曝光所有客房&#34;容器(您应该能够通过Namespace.AddressLists
集合访问它)。请注意,可以有多个&#34;所有房间&#34;容器,如果您有多个Exchange帐户并且容器名称已本地化。如果您循环遍历所有地址簿列表,那么&#34;所有房间&#34;的PR_CONTAINER_FLAGS MAPI属性。 list将包含0x00000200位。
如果使用Redemption是一个选项,则会公开RDOExchangeAccount。AllRooms
和RDOAddressBook。AllRooms
属性(返回RDOAddressList对象)。