internal AttributeMetadata(IntPtr info, bool advanced, DirectoryServer server, Hashtable table) { if (advanced) { DS_REPL_ATTR_META_DATA_2 attrMetaData = new DS_REPL_ATTR_META_DATA_2(); Marshal.PtrToStructure(info, attrMetaData); Debug.Assert(attrMetaData != null); _pszAttributeName = Marshal.PtrToStringUni(attrMetaData.pszAttributeName); _dwVersion = attrMetaData.dwVersion; long ftimeChangeValue = (long)((uint)attrMetaData.ftimeLastOriginatingChange1 + (((long)attrMetaData.ftimeLastOriginatingChange2) << 32)); _ftimeLastOriginatingChange = DateTime.FromFileTime(ftimeChangeValue); _uuidLastOriginatingDsaInvocationID = attrMetaData.uuidLastOriginatingDsaInvocationID; _usnOriginatingChange = attrMetaData.usnOriginatingChange; _usnLocalChange = attrMetaData.usnLocalChange; _pszLastOriginatingDsaDN = Marshal.PtrToStringUni(attrMetaData.pszLastOriginatingDsaDN); } else { DS_REPL_ATTR_META_DATA attrMetaData = new DS_REPL_ATTR_META_DATA(); Marshal.PtrToStructure(info, attrMetaData); Debug.Assert(attrMetaData != null); _pszAttributeName = Marshal.PtrToStringUni(attrMetaData.pszAttributeName); _dwVersion = attrMetaData.dwVersion; long ftimeChangeValue = (long)((uint)attrMetaData.ftimeLastOriginatingChange1 + (((long)attrMetaData.ftimeLastOriginatingChange2) << 32)); _ftimeLastOriginatingChange = DateTime.FromFileTime(ftimeChangeValue); _uuidLastOriginatingDsaInvocationID = attrMetaData.uuidLastOriginatingDsaInvocationID; _usnOriginatingChange = attrMetaData.usnOriginatingChange; _usnLocalChange = attrMetaData.usnLocalChange; } _server = server; _nameTable = table; _advanced = advanced; }
internal AttributeMetadata(IntPtr info, bool advanced, DirectoryServer server, Hashtable table) { if (advanced) { DS_REPL_ATTR_META_DATA_2 structure = new DS_REPL_ATTR_META_DATA_2(); Marshal.PtrToStructure(info, structure); this.pszAttributeName = Marshal.PtrToStringUni(structure.pszAttributeName); this.dwVersion = structure.dwVersion; long fileTime = ((long)((ulong)structure.ftimeLastOriginatingChange1)) + (structure.ftimeLastOriginatingChange2 << 0x20); this.ftimeLastOriginatingChange = DateTime.FromFileTime(fileTime); this.uuidLastOriginatingDsaInvocationID = structure.uuidLastOriginatingDsaInvocationID; this.usnOriginatingChange = structure.usnOriginatingChange; this.usnLocalChange = structure.usnLocalChange; this.pszLastOriginatingDsaDN = Marshal.PtrToStringUni(structure.pszLastOriginatingDsaDN); } else { DS_REPL_ATTR_META_DATA ds_repl_attr_meta_data = new DS_REPL_ATTR_META_DATA(); Marshal.PtrToStructure(info, ds_repl_attr_meta_data); this.pszAttributeName = Marshal.PtrToStringUni(ds_repl_attr_meta_data.pszAttributeName); this.dwVersion = ds_repl_attr_meta_data.dwVersion; long num2 = ((long)((ulong)ds_repl_attr_meta_data.ftimeLastOriginatingChange1)) + (ds_repl_attr_meta_data.ftimeLastOriginatingChange2 << 0x20); this.ftimeLastOriginatingChange = DateTime.FromFileTime(num2); this.uuidLastOriginatingDsaInvocationID = ds_repl_attr_meta_data.uuidLastOriginatingDsaInvocationID; this.usnOriginatingChange = ds_repl_attr_meta_data.usnOriginatingChange; this.usnLocalChange = ds_repl_attr_meta_data.usnLocalChange; } this.server = server; this.nameTable = table; this.advanced = advanced; }
internal AttributeMetadata(IntPtr info, bool advanced, DirectoryServer server, Hashtable table) { if (!advanced) { DS_REPL_ATTR_META_DATA dSREPLATTRMETADATum = new DS_REPL_ATTR_META_DATA(); Marshal.PtrToStructure(info, dSREPLATTRMETADATum); this.pszAttributeName = Marshal.PtrToStringUni(dSREPLATTRMETADATum.pszAttributeName); this.dwVersion = dSREPLATTRMETADATum.dwVersion; long num = (long)dSREPLATTRMETADATum.ftimeLastOriginatingChange1 + ((long)dSREPLATTRMETADATum.ftimeLastOriginatingChange2 << 32); this.ftimeLastOriginatingChange = DateTime.FromFileTime(num); this.uuidLastOriginatingDsaInvocationID = dSREPLATTRMETADATum.uuidLastOriginatingDsaInvocationID; this.usnOriginatingChange = dSREPLATTRMETADATum.usnOriginatingChange; this.usnLocalChange = dSREPLATTRMETADATum.usnLocalChange; } else { DS_REPL_ATTR_META_DATA_2 dSREPLATTRMETADATA2 = new DS_REPL_ATTR_META_DATA_2(); Marshal.PtrToStructure(info, dSREPLATTRMETADATA2); this.pszAttributeName = Marshal.PtrToStringUni(dSREPLATTRMETADATA2.pszAttributeName); this.dwVersion = dSREPLATTRMETADATA2.dwVersion; long num1 = (long)dSREPLATTRMETADATA2.ftimeLastOriginatingChange1 + ((long)dSREPLATTRMETADATA2.ftimeLastOriginatingChange2 << 32); this.ftimeLastOriginatingChange = DateTime.FromFileTime(num1); this.uuidLastOriginatingDsaInvocationID = dSREPLATTRMETADATA2.uuidLastOriginatingDsaInvocationID; this.usnOriginatingChange = dSREPLATTRMETADATA2.usnOriginatingChange; this.usnLocalChange = dSREPLATTRMETADATA2.usnLocalChange; this.pszLastOriginatingDsaDN = Marshal.PtrToStringUni(dSREPLATTRMETADATA2.pszLastOriginatingDsaDN); } this.server = server; this.nameTable = table; this.advanced = advanced; }
internal AttributeMetadata(IntPtr info, bool advanced, DirectoryServer server, Hashtable table) { if (advanced) { DS_REPL_ATTR_META_DATA_2 structure = new DS_REPL_ATTR_META_DATA_2(); Marshal.PtrToStructure(info, structure); this.pszAttributeName = Marshal.PtrToStringUni(structure.pszAttributeName); this.dwVersion = structure.dwVersion; long fileTime = ((long) ((ulong) structure.ftimeLastOriginatingChange1)) + (structure.ftimeLastOriginatingChange2 << 0x20); this.ftimeLastOriginatingChange = DateTime.FromFileTime(fileTime); this.uuidLastOriginatingDsaInvocationID = structure.uuidLastOriginatingDsaInvocationID; this.usnOriginatingChange = structure.usnOriginatingChange; this.usnLocalChange = structure.usnLocalChange; this.pszLastOriginatingDsaDN = Marshal.PtrToStringUni(structure.pszLastOriginatingDsaDN); } else { DS_REPL_ATTR_META_DATA ds_repl_attr_meta_data = new DS_REPL_ATTR_META_DATA(); Marshal.PtrToStructure(info, ds_repl_attr_meta_data); this.pszAttributeName = Marshal.PtrToStringUni(ds_repl_attr_meta_data.pszAttributeName); this.dwVersion = ds_repl_attr_meta_data.dwVersion; long num2 = ((long) ((ulong) ds_repl_attr_meta_data.ftimeLastOriginatingChange1)) + (ds_repl_attr_meta_data.ftimeLastOriginatingChange2 << 0x20); this.ftimeLastOriginatingChange = DateTime.FromFileTime(num2); this.uuidLastOriginatingDsaInvocationID = ds_repl_attr_meta_data.uuidLastOriginatingDsaInvocationID; this.usnOriginatingChange = ds_repl_attr_meta_data.usnOriginatingChange; this.usnLocalChange = ds_repl_attr_meta_data.usnLocalChange; } this.server = server; this.nameTable = table; this.advanced = advanced; }