コード例 #1
0
        internal void SetDirectoryEntryMetadataValue(FatDirectoryEntryMetadata aEntryMetadata, long aValue)
        {
            //Global.mFileSystemDebugger.SendInternal("-- FatDirectoryEntry.SetDirectoryEntryMetadataValue(ulong) --");
            //Global.mFileSystemDebugger.SendInternal("aValue =");
            //Global.mFileSystemDebugger.SendInternal(aValue);

            if (mParent != null)
            {
                var xData = ((FatDirectoryEntry)mParent).GetDirectoryEntryData();

                if (xData.Length > 0)
                {
                    var xValue = new byte[aEntryMetadata.DataLength];
                    xValue.SetUInt32(0, (uint)aValue);
                    uint offset = mEntryHeaderDataOffset + aEntryMetadata.DataOffset;
                    //Global.mFileSystemDebugger.SendInternal("offset =");
                    //Global.mFileSystemDebugger.SendInternal(offset);
                    Array.Copy(xValue, 0, xData, offset, aEntryMetadata.DataLength);
                    ((FatDirectoryEntry)mParent).SetDirectoryEntryData(xData);
                }
            }
            else
            {
                throw new Exception("Root directory metadata can not be changed using the file stream.");
            }
        }
コード例 #2
0
        internal void SetDirectoryEntryMetadataValue(FatDirectoryEntryMetadata aEntryMetadata, string aValue)
        {
            //Global.mFileSystemDebugger.SendInternal("-- FatDirectoryEntry.SetDirectoryEntryMetadataValue(string) --");
            //Global.mFileSystemDebugger.SendInternal("aValue =");
            //Global.mFileSystemDebugger.SendInternal(aValue);

            var xData = ((FatDirectoryEntry)mParent).GetDirectoryEntryData();

            if (xData.Length > 0)
            {
                var xValue = new byte[aEntryMetadata.DataLength];
                xValue = aValue.GetUtf8Bytes(0, aEntryMetadata.DataLength);

                uint offset = mEntryHeaderDataOffset + aEntryMetadata.DataOffset;
                Array.Copy(xValue, 0, xData, offset, aEntryMetadata.DataLength);

                ((FatDirectoryEntry)mParent).SetDirectoryEntryData(xData);
            }
        }