예제 #1
0
        public DynamicDiskPartitionerResumeRecord(byte[] buffer)
        {
            Signature      = ByteReader.ReadAnsiString(buffer, 0, 8);
            RecordRevision = ByteReader.ReadByte(buffer, 8);
            Operation      = (DynamicDiskPartitionerOperation)BigEndianConverter.ToUInt16(buffer, 9);

            ReadOperationParameters(buffer, 16);
        }
예제 #2
0
        public static DynamicDiskPartitionerResumeRecord FromBytes(byte[] buffer)
        {
            string signature      = ByteReader.ReadAnsiString(buffer, 0, 8);
            byte   recordRevision = ByteReader.ReadByte(buffer, 8);
            DynamicDiskPartitionerOperation operation = (DynamicDiskPartitionerOperation)BigEndianConverter.ToUInt16(buffer, 9);

            if (signature == ValidSignature && recordRevision == 1)
            {
                if (operation == DynamicDiskPartitionerOperation.AddDiskToArray)
                {
                    return(new AddDiskOperationResumeRecord(buffer));
                }
                else if (operation == DynamicDiskPartitionerOperation.MoveExtent)
                {
                    return(new MoveExtentOperationResumeRecord(buffer));
                }
            }
            return(null);
        }