Active Directory 架构属性(例如 lastLogon)使用 LargeInteger 语法类型。有关 lastLogon 属性或 LargeInteger 语法类型的更多信息,请参见 MSDN Library(网址为 http://msdn.microsoft.com/library)中的 lastLogon 或 LargeInteger。
如果此类型的属性是通过 Properties 属性获取的,则此数据类型表示为可以被强制转换为 IADsLargeInteger 的 COM 对象。有关 IADsLargeInteger 类型的更多信息,请参见 MSDN Library(网址为 http://msdn.microsoft.com/library)中的 IADsLargeInteger。
如果此类型的属性是从 ResultPropertyValueCollection 获取的,则此数据类型表示为 Int64 结构。
{
//
// Convert large integer to int64 value
//
long int64Value = (long)((uint)largeIntValue.LowPart +
(((long)largeIntValue.HighPart) << 32 ));
//
// Return the DateTime in utc
//
return DateTime.FromFileTimeUtc(int64Value);
}
下面的示例说明如何从 DateTime 格式转换为 IADsLargeInteger。
public static IADsLargeInteger GetLargeIntegerFromDateTime(DateTime dateTimeValue)
{
//
// Convert DateTime value to utc file time
//
Int64 int64Value = dateTimeValue.ToFileTimeUtc();
//
// convert to large integer
//
IADsLargeInteger largeIntValue =
IADsLargeInteger) new LargeInteger();
largeIntValue.HighPart = (int) (int64Value >> 32);
largeIntValue.LowPart = (int) (int64Value & 0xFFFFFFFF);
return largeIntValue;
}
引文来源 大整数属性类型