亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? ch375hft.c

?? ch375通信程序頭文件
?? C
?? 第 1 頁 / 共 3 頁
字號:
        }

        i = CH375FileOpen();                // 打開上級目錄
        if( i == ERR_OPEN_DIR )
        {
            while( 1 )                      // 循環填寫 直到完成
            {
                mCmdParam.Locate.mSectorOffset = Secoffset;
                i = CH375FileLocate( );
                if( i == ERR_SUCCESS )
                {
                    if( Fbit )             // 第二次進入次寫扇區
                    {
                        if( mCmdParam.Locate.mSectorOffset != 0x0FFFFFFFF )
                        {
                            BackFdtSector = mCmdParam.Locate.mSectorOffset;
                            Backoffset = 0;
                        }
                        else
                        {
                            for( i=0; i!=MAX_PATH_LEN; i++ )// 還原文件路徑
                                mCmdParam.Open.mPathName[i] = BackPathBuf[i];
                            i = CH375FileCreate( );         // 進行空間擴展
                            if( i != ERR_SUCCESS )
                                return i;
                            CH375FileErase( );
                            goto P_RETRY;                   // 重新打開上級目錄
                        }
                    }

                    if( BackFdtSector == mCmdParam.Locate.mSectorOffset )
                    {
                        mCmdParam.ReadX.mSectorCount = 1;   // 讀一個扇區到磁盤緩沖區
                        mCmdParam.ReadX.mDataBuffer = &DISK_BASE_BUF[0];
                        i = CH375FileReadX( );
                        CH375DirtyBuffer( );                // 清除磁盤緩沖區
                        if( i!= ERR_SUCCESS )
                            return i;

                        i = ( CH375vSectorSize - Backoffset ) / 32;
                        if( Mult > i )
                            Mult = Mult - i;                // 剩余的倍數
                        else
                        {
                            i = Mult;
                            Mult = 0;
                        }

                        for( len=i; len!=0; len-- )
                        {
                            indexBak -= 26;
                            index = indexBak;
                            for( i=0; i!=5; i++)            // 長文件名的1-5個字符
                            {                               // 在磁盤上UNICODE用小端方式存放
                                #if UNICODE_ENDIAN == 1
                                DISK_BASE_BUF[Backoffset + i*2 + 2 ] =
                                    LongNameBuf[index++];
                                DISK_BASE_BUF[Backoffset + i*2 + 1 ] =
                                    LongNameBuf[index++];
                                #else
                                DISK_BASE_BUF[Backoffset + i*2 + 1 ] =
                                    LongNameBuf[index++];
                                DISK_BASE_BUF[Backoffset + i*2 + 2 ] =
                                    LongNameBuf[index++];
                                #endif
                            }

                            for( i =0; i!=6; i++)           // 長文件名的6-11個字符
                            {
                                #if UNICODE_ENDIAN == 1
                                DISK_BASE_BUF[Backoffset + 14 + i*2 + 1 ] =
                                    LongNameBuf[index++];
                                DISK_BASE_BUF[Backoffset + 14 + i*2 ] =
                                    LongNameBuf[index++];
                                #else
                                DISK_BASE_BUF[Backoffset + 14 + i*2 ] =
                                    LongNameBuf[index++];
                                DISK_BASE_BUF[Backoffset + 14 + i*2 + 1 ] =
                                    LongNameBuf[index++];
                                #endif
                            }

                            for( i=0; i!=2; i++)            // 長文件名的12-13個字符
                            {
                                #if UNICODE_ENDIAN == 1
                                DISK_BASE_BUF[Backoffset + 28 + i*2 + 1 ] =
                                    LongNameBuf[index++];
                                DISK_BASE_BUF[Backoffset + 28 + i*2 ] =
                                    LongNameBuf[index++];
                                #else
                                DISK_BASE_BUF[Backoffset + 28 + i*2 ] =
                                    LongNameBuf[index++];
                                DISK_BASE_BUF[Backoffset + 28 + i*2 + 1 ] =
                                    LongNameBuf[index++];
                                #endif
                            }

                            DISK_BASE_BUF[Backoffset + 0x0b] = 0x0f;
                            DISK_BASE_BUF[Backoffset + 0x0c] = 0x00;
                            DISK_BASE_BUF[Backoffset + 0x0d] = sum;
                            DISK_BASE_BUF[Backoffset + 0x1a] = 0x00;
                            DISK_BASE_BUF[Backoffset + 0x1b] = 0x00;
                            DISK_BASE_BUF[Backoffset] = MultBak--;
                            Backoffset += 32;
                        }

                        if( !Fbit )
                        {
                            Fbit = TRUE;
                            DISK_BASE_BUF[ BackoffsetBak ] |= 0x40;
                        }

                        mCmdParam.WriteB.mLbaCount = 1;
                        mCmdParam.WriteB.mLbaStart = BackFdtSector;
                        mCmdParam.WriteB.mDataBuffer = DISK_BASE_BUF;
                        i = CH375WriteBlock();
                        if( i!= ERR_SUCCESS )
                            return i;

                        if( Mult==0 )
                        {                               // 還原文件路徑
                            for( i=0; i!=MAX_PATH_LEN; i++ )
                                mCmdParam.Open.mPathName[i] = BackPathBuf[i];
                            i = CH375FileCreate( );
                            return i;
                        }
                    }
                }
                else
                    return i;
                Secoffset++;
            }
        }
    }
    return i;
}

/*==============================================================================

函數名: GetUpSectorData

函數作用: 由當前扇區得到上一個扇區的數據,放在磁盤緩沖區

==============================================================================*/
UINT8 GetUpSectorData( UINT32 *NowSector )
{
UINT8  i;
UINT8  len;             // 存放路徑的長度
UINT32 index;           // 目錄扇區偏移扇區數

    index = 0;
    for(len=0; len!=MAX_PATH_LEN; len++)
    {
        if(mCmdParam.Open.mPathName[len] == 0)          // 得到字符串長度
            break;
    }

    for(i=len-1; i!=0xff; i--)                          // 得到上級目錄位置
    {
        if((mCmdParam.Open.mPathName[i] == '\\') || (mCmdParam.Open.mPathName[i] == '/'))
            break;
    }
    mCmdParam.Open.mPathName[i] = 0x00;

    if( i==0 )  // 打開一級目錄注意:處在根目錄開始的特殊情況
    {
        mCmdParam.Open.mPathName[0] = '/';
        mCmdParam.Open.mPathName[1] = 0;
        i = CH375FileOpen();
        if ( i == ERR_OPEN_DIR )
            goto P_NEXT0;
    }
    else
    {
        i = CH375FileOpen();
        if ( i == ERR_OPEN_DIR )
        {
            while( 1 )
            {
                P_NEXT0:
                mCmdParam.Locate.mSectorOffset = index;
                i = CH375FileLocate( );
                if( i == ERR_SUCCESS )
                {
                    if( *NowSector == mCmdParam.Locate.mSectorOffset )
                    {
                        if( index==0 )                          // 處于根目錄扇區的開始
                            return ERR_NO_NAME;
                        mCmdParam.Locate.mSectorOffset = --index;
                        i = CH375FileLocate( );                 // 讀上一個扇區的數據
                        if( i == ERR_SUCCESS )
                        {                                       // 以下保存當前所在扇區數
                            *NowSector = mCmdParam.Locate.mSectorOffset;
                            mCmdParam.ReadX.mSectorCount = 1;   // 讀一個扇區到磁盤緩沖區
                            mCmdParam.ReadX.mDataBuffer = &DISK_BASE_BUF[0];
                            i = CH375FileReadX( );
                            CH375DirtyBuffer( );                // 清除磁盤緩沖區
                            return i;
                        }
                        else
                            return i;
                    }
                }
                else
                    return i;
                index++;
            }
        }
    }
    return i;
}

/*==============================================================================

函數名: CH375GetLongName

函數作用: 由完整短文件名路徑(可以是文件或文件夾)得到相應的長文件名

==============================================================================*/
UINT8 CH375GetLongName( void )
{
// 需要變量扇區大小
// 第一步:打開文件是否找到文件,分析文件是否存在,并得到FDT在此扇區的偏移和所在扇區
// 第二步:分析上面的信息看是否有長文件名存在,是否處于目錄的第一個扇區的開始
// 第三步:實現向后偏移一個扇區?讀取長文件名(扇區512字節的U盤)
UINT8   i;
UINT16  index;          // 在長文件名緩沖區內的索引
UINT32  BackFdtSector;  // 保寸偏移上一個扇區
UINT8   sum;            // 保存長文件名的校驗和
UINT16  Backoffset;     // 保存文件偏移備份
UINT16  offset;         // 扇區內文件偏移32倍數
UINT8   FirstBit;       // 長文件名跨越兩個扇區標志位
UINT8   xdata BackPathBuf[MAX_PATH_LEN]; // 保存文件路徑

    i = CH375FileOpen( );
    if( ( i == ERR_SUCCESS ) || ( i == ERR_OPEN_DIR ) )
    {
        for( i=0; i!=MAX_PATH_LEN; i++ )
            BackPathBuf[i] = mCmdParam.Open.mPathName[i];
        // 以上完成對路徑的備份

        sum = CheckNameSum( &DISK_BASE_BUF[CH375vFdtOffset] );
        index = 0;
        FirstBit = FALSE;
        Backoffset = CH375vFdtOffset;
        BackFdtSector = CH375vFdtLba;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产中文字幕一区| 日韩亚洲电影在线| 中文字幕欧美日本乱码一线二线| 国产精品无遮挡| 在线亚洲欧美专区二区| 亚洲三级电影网站| 粉嫩一区二区三区性色av| 国产成人在线观看免费网站| 亚洲成av人片观看| 亚洲成人免费视| 一区二区三区波多野结衣在线观看 | 精品区一区二区| 5858s免费视频成人| 色欧美片视频在线观看在线视频| 国产精品欧美综合在线| 捆绑变态av一区二区三区| 色嗨嗨av一区二区三区| 欧美在线免费播放| 亚洲综合视频网| 激情久久五月天| 成人性生交大合| 色狠狠色噜噜噜综合网| 丰满亚洲少妇av| 亚洲欧美二区三区| 一区二区三区中文在线观看| 国产精品国产三级国产aⅴ原创 | 国产精品一区二区在线观看网站 | 亚洲一二三级电影| 黑人巨大精品欧美一区| 成人福利视频在线| 欧美一区二区日韩| 亚洲欧美一区二区久久 | 一区二区三区在线观看视频| 麻豆国产精品一区二区三区| 在线区一区二视频| 国产欧美一区二区精品仙草咪| 91丨九色porny丨蝌蚪| 国产精品久久福利| 色综合久久久久综合体| 日韩高清不卡在线| 久久影院视频免费| 国产精品一区二区不卡| 成人精品国产福利| 亚洲电影一区二区| 欧美精品777| 激情六月婷婷综合| 精品电影一区二区| 蜜桃精品视频在线观看| 欧美日韩精品电影| 欧美视频一区在线观看| 国产精品免费观看视频| 99精品黄色片免费大全| 精品第一国产综合精品aⅴ| 亚洲欧洲国产日韩| 成人精品免费视频| 日本一区二区三级电影在线观看| 18欧美乱大交hd1984| 精品国产乱码久久久久久久| 色噜噜狠狠色综合中国| 天天亚洲美女在线视频| 欧美日韩视频专区在线播放| 亚洲chinese男男1069| 欧美色视频一区| 人人狠狠综合久久亚洲| 天堂影院一区二区| 国产一区二区免费看| 国产风韵犹存在线视精品| 中文字幕中文字幕中文字幕亚洲无线| 在线不卡a资源高清| 日韩av二区在线播放| 精品粉嫩aⅴ一区二区三区四区| 久久精品av麻豆的观看方式| 99在线热播精品免费| 成人午夜碰碰视频| 精品无人区卡一卡二卡三乱码免费卡 | 国产欧美日韩一区二区三区在线观看| 欧美精品成人一区二区三区四区| av在线一区二区| 8x8x8国产精品| 国产成人综合在线| 欧美在线你懂的| 国产乱码精品一区二区三区五月婷| 伊人开心综合网| 久久久午夜精品| 久久99久久精品| 99国产一区二区三精品乱码| 成人av午夜影院| 一区二区三区四区激情| 欧美大白屁股肥臀xxxxxx| 成人激情校园春色| 激情图片小说一区| 777奇米成人网| 91精品国产91久久久久久最新毛片| 日韩一级视频免费观看在线| 91国偷自产一区二区三区观看| 久久精品夜色噜噜亚洲a∨| 欧美精品色综合| 91黄色激情网站| 国产成人亚洲综合色影视| 91精品国产综合久久精品性色| 91精品婷婷国产综合久久竹菊| 日韩国产欧美视频| 国内精品久久久久影院薰衣草| 一区二区日韩电影| 天使萌一区二区三区免费观看| 国产尤物一区二区| 日韩vs国产vs欧美| 亚洲视频电影在线| 国产精品五月天| 亚洲国产一区二区视频| 日韩和欧美一区二区| 日韩精品影音先锋| 欧美在线制服丝袜| 一区二区三区精品| 国产精品嫩草影院av蜜臀| 久久久91精品国产一区二区精品| 黄色精品一二区| 2021国产精品久久精品| 欧美激情一区二区三区在线| 韩国视频一区二区| 欧美丝袜丝交足nylons| 国产无人区一区二区三区| 亚洲柠檬福利资源导航| 欧美成人午夜电影| 精品久久久久久久久久久久包黑料 | 欧美一区日韩一区| 男人的天堂久久精品| 粉嫩高潮美女一区二区三区 | 麻豆精品视频在线观看| 欧美精品一二三四| 欧美二区乱c少妇| 国产成人高清在线| 九一九一国产精品| 国产精品一线二线三线精华| 亚洲无线码一区二区三区| 日韩三级av在线播放| zzijzzij亚洲日本少妇熟睡| 日韩精品专区在线影院观看 | 亚洲一二三四区| 中文字幕一区二区三区四区| 亚洲一区二区综合| 婷婷六月综合亚洲| 亚洲人亚洲人成电影网站色| 99久久久精品免费观看国产蜜| 中文字幕一区二区三区乱码在线| 91网站最新地址| 欧美日韩视频一区二区| 综合精品久久久| 日韩精品一二三四| www.亚洲国产| 欧美综合久久久| 91美女片黄在线观看91美女| 久久久久久久久久电影| 国产精品中文字幕一区二区三区| 美女网站在线免费欧美精品| 一道本成人在线| 中文字幕欧美日韩一区| 日韩黄色小视频| 欧美性xxxxx极品少妇| 99re这里只有精品6| 精品国产伦一区二区三区免费| 欧美午夜片在线观看| 国产电影一区在线| 国产偷v国产偷v亚洲高清| 蜜臀a∨国产成人精品| 日韩一区二区影院| 亚洲大型综合色站| 在线成人av网站| 蜜臀av在线播放一区二区三区| 久久精品视频网| 91麻豆自制传媒国产之光| 一区二区日韩电影| 欧美videossexotv100| 色综合视频在线观看| 亚洲一区二区三区四区中文字幕| 日韩一级黄色片| 狠狠色狠狠色综合系列| 日本一区二区久久| 成人性生交大片免费看中文网站| 亚洲一区在线观看视频| 亚洲精品一区二区三区在线观看 | 成人va在线观看| 久久99精品国产麻豆不卡| 中文字幕一区二区三区在线观看 | 久久精品亚洲精品国产欧美kt∨ | 亚洲第一成年网| 国产清纯在线一区二区www| 欧美激情在线看| 91偷拍与自偷拍精品| 欧美精品一卡二卡| 97精品超碰一区二区三区| 老司机精品视频在线| 亚洲美女一区二区三区| 欧美国产97人人爽人人喊| 日韩欧美一卡二卡| 在线观看亚洲a| 91黄视频在线观看| 91丨九色丨蝌蚪丨老版| 国产伦精品一区二区三区免费| 亚洲成av人片一区二区梦乃|