(1) Следующая ссылка дает метод чтения msRTCSIP-UserPolicy с использованием VB или Pearl.Однако когда я попытался использовать этот метод в C #, он не работал.Я должен упомянуть, что я не знаю VB, и я мог сделать что-то не так.http://www.itadmintools.com/2010/07/msrtcsip-userpolicy-heres-how-to-read.html#comment-form
(2) Мне удалось выяснить решение для msExchRecepientTypeDetails, и я даю код ниже, если кому-то интересно.*
String m_ReturnValue = m_Test.ToString();
public static long LongFromLargeInteger (объект largeInteger)
{
System.Type type = largeInteger.GetType();
int highPart = (int)type.InvokeMember("HighPart", BindingFlags.GetProperty, null, largeInteger, null);
int lowPart = (int)type.InvokeMember("LowPart", BindingFlags.GetProperty, null, largeInteger, null);
return (long)highPart << 32 | (uint)lowPart;
}//end of method LongFromLargeInteger
ОК.Наконец, сегодня я смог найти решение для чтения msRTCSIP-UserPolicy.Код приведен ниже:
ActiveDs.IADsDNWithBinary dnWithBinary;dnWithBinary = (ActiveDs.IADsDNWithBinary) p_InputValue;
String m_PolicyDN = dnWithBinary.DNString;
Byte[] m_BinaryArray = (byte[]) dnWithBinary.BinaryValue;
String m_Value1 =String.Empty;
string hexString = string.Empty;
//Convert the ByteArray to Hex
for (int i = 0; i < m_BinaryArray.Length; i++)
{
hexString += m_BinaryArra[i].ToString("X2");
}//end of loop
строка m_ReturnValue = "B: 8:" + hexString + ":" + m_PolicyDN;