|
有篇文章(具体原文在那,我找不到了)提到在FLASH驱动中函数
BOOL FMD_OEMIoControl(DWORD dwIoControlCode, PBYTE pInBuf, DWORD nInBufSize, PBYTE pOutBuf, DWORD nOutBufSize, PDWORD pBytesReturned)
{
.........
.........
case 0xff123456:
FMD_ReadSector(..); //调用读Sector函数
break;
case 0xff654321:
FMD_WriteSector(..); //调用写Sector函数
break;
case 0xff123457:
FMD_EraseBlock(..); //调用擦除Block函数
break;
.........
.........
}
应用程序
hFirm = CreateFile(TEXT("DSK1:"), GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, 0, NULL);
if(hFirm == INVALID_HANDLE_VALUE)
{
printf("Open Flash Device Failed");
return 0;
}
iRet = DeviceIoControl(hFirm, 0xff123456, para1, para2, para3, para4, para5, para6); //Read Flash Sector
iRet = DeviceIoControl(hFirm, 0xff654321, para1, para2, para3, para4, para5, para6); //Write Flash Sector
iRet = DeviceIoControl(hFirm, 0xff123457, para1, para2, para3, para4, para5, para6); //Erase Flash Block
在WINCE6.0中不能这么用,为什么?
|
|