mCmdParam.ByteLocate.mByteOffset =0xffffffff; i = ExecCommand( CMD_ByteLocate, 4); cmd_bytelocate后面那個(gè)參數(shù)有何用途,麻煩解釋一下。
表示CMD_ByteLocate命令有個(gè)4字節(jié)大小的參數(shù):mByteOffset(unsigned long),表示字節(jié)偏移量
mCmdParam.Modify.mFileSize 獲得的值得大小的單位是byte還是kb
單位是byte
mCmdParam.Modify.mFileSize = 0xffffffff; i = ExecCommand( CMD_FileModify, 1 ); (mCmdParam.Modify.mFileSize l = (int )(mCmdParam.Modify.mFileSize/u); u為512,我可以通過(guò)l的值來(lái)判斷占的扇區(qū)數(shù)嗎?
可以 注:用CMD_FileModify僅查詢(xún)文件信息時(shí),其參數(shù)均要為0xFFFFFFFF,否則會(huì)修改原文件的屬性,且命令執(zhí)行方式應(yīng)如下: mCmdParam.Modify.mFileSize = 0xFFFFFFFF; /* 不修改 */ mCmdParam.Modify.mFileDate = 0xFFFF; /* 不修改 */ mCmdParam.Modify.mFileTime = 0xFFFF; /* 不修改 */ mCmdParam.Modify.mFileAttr = 0xFF; /* 不修改 */ i=ExecCommand( CMD_FileModify, 4+2+2+1 );
mCmdParam.Modify.mFileDate = ( (2008-1980)<<9 ) + ( 12<<12) + 18; 2008-1980)<<9 )是不是代表1989-2017
(1)計(jì)算文件日期的表達(dá)式錯(cuò)誤,應(yīng)是: mCmdParam.Modify.mFileDate = ( ( 2008 - 1980 ) << 9 ) + ( 12 << 5 ) + 18; 頭文件中有計(jì)算方法:MAKE_FILE_DATE (2)代表年份是:2008