Exemplo n.º 1
0
        internal VolumeInformation(byte[] AttrBytes, string AttrName)
        {
            ATTR_VOLUME_INFORMATION volInfo = new ATTR_VOLUME_INFORMATION(AttrBytes);

            Name        = Enum.GetName(typeof(ATTR_TYPE), volInfo.header.commonHeader.ATTRType);
            NameString  = AttrName;
            NonResident = volInfo.header.commonHeader.NonResident;
            AttributeId = volInfo.header.commonHeader.Id;
            Major       = volInfo.MajorVersion;
            Minor       = volInfo.MinorVersion;
            Flags       = ((ATTR_VOLINFO)volInfo.Flags).ToString();
        }
Exemplo n.º 2
0
        internal VolumeInformation(byte[] AttrBytes, string AttrName)
        {
            ATTR_VOLUME_INFORMATION volInfo = new ATTR_VOLUME_INFORMATION(AttrBytes);

            Int16 flags = BitConverter.ToInt16(volInfo.Flags, 0);

            #region volInfoFlags

            StringBuilder volumeFlags = new StringBuilder();
            if (flags != 0)
            {
                if ((flags & (int)ATTR_VOLINFO.FLAG_DIRTY) == (int)ATTR_VOLINFO.FLAG_DIRTY)
                {
                    volumeFlags.Append("Dirty, ");
                }
                if ((flags & (int)ATTR_VOLINFO.FLAG_RLF) == (int)ATTR_VOLINFO.FLAG_RLF)
                {
                    volumeFlags.Append("Resize Logfile, ");
                }
                if ((flags & (int)ATTR_VOLINFO.FLAG_UOM) == (int)ATTR_VOLINFO.FLAG_UOM)
                {
                    volumeFlags.Append("Upgrade on Mount, ");
                }
                if ((flags & (int)ATTR_VOLINFO.FLAG_MONT) == (int)ATTR_VOLINFO.FLAG_MONT)
                {
                    volumeFlags.Append("Mounted on NT4, ");
                }
                if ((flags & (int)ATTR_VOLINFO.FLAG_DUSN) == (int)ATTR_VOLINFO.FLAG_DUSN)
                {
                    volumeFlags.Append("Delete USN Underway, ");
                }
                if ((flags & (int)ATTR_VOLINFO.FLAG_ROI) == (int)ATTR_VOLINFO.FLAG_ROI)
                {
                    volumeFlags.Append("Repair Object Ids, ");
                }
                if ((flags & (int)ATTR_VOLINFO.FLAG_MBC) == (int)ATTR_VOLINFO.FLAG_MBC)
                {
                    volumeFlags.Append("Modified By ChkDisk, ");
                }
                volumeFlags.Length -= 2;
            }

            #endregion volInfoFlags

            Name        = Enum.GetName(typeof(ATTR_TYPE), volInfo.header.commonHeader.ATTRType);
            NameString  = AttrName;
            NonResident = volInfo.header.commonHeader.NonResident;
            AttributeId = volInfo.header.commonHeader.Id;
            Major       = volInfo.MajorVersion;
            Minor       = volInfo.MinorVersion;
            Flags       = volumeFlags.ToString();
        }