正在加载图片...
DISK CLOSE:关闭驱动器(移除驱动程序) DISK CREATE BOOT SECTOR:重建引导扇区 DⅠ SK READ SECTOR:读扇区 DISK WRITE SECTOR:写扇区 *输出: DISK READ OK 区完成 DISK READ NOT OK:读扇区失败 DISK WRITE OK:写扇区完成 DISK WRITE NOT OK:写扇区失败 DISK INIT OK:初始化完成 DISK INIT NOT OK:初始化失败 BAD DISK COMMAND:无效的命令 *调用模块:无 uint16 CFCammand(uint& Cammand, void*Parameter) uint16 rt: Disk_ RW_Parameter* Dp; switch( Cammand case DISK INIT: /设备初始化* rt= DISK INIT NOT OK, if(ATA[O). ATAIsOK== TRUE) (1) DiskInfo= Get Empty DiskInfoAddrO DiskInfo->RsvdForlow= Get Volume FirstSect(O) rt= DISK INIT OK. break: DISK CLOSE. case disK REAd Sector:/读扇区* rt= DISK READ NOT OK. if(ATA ReadSector(o, (uint16")Dp->Buf, Dp->SectorIndex Dp->RsvdForLow, 1))(3)** DISK_CLOSE:关闭驱动器(移除驱动程序) ** DISK_CREATE_BOOT_SECTOR:重建引导扇区 ** DISK_READ_SECTOR:读扇区 ** DISK_WRITE_SECTOR:写扇区 ** Parameter:剩余参数 ** 输 出: DISK_READ_OK:读扇区完成 ** DISK_READ_NOT_OK:读扇区失败 ** DISK_WRITE_OK:写扇区完成 ** DISK_WRITE_NOT_OK:写扇区失败 ** DISK_INIT_OK:初始化完成 ** DISK_INIT_NOT_OK:初始化失败 ** BAD_DISK_COMMAND:无效的命令 ** 全局变量: 无 ** 调用模块: 无 ******************************************************************************************/ uint16 CFCammand(uint8 Cammand, void *Parameter) { uint16 rt; Disk_RW_Parameter * Dp; Disk_Info *DiskInfo; Dp = (Disk_RW_Parameter *)Parameter; switch (Cammand) { case DISK_INIT: /*设备初始化*/ rt = DISK_INIT_NOT_OK; if(ATA[0].ATAIsOK == TRUE) (1) { DiskInfo = GetEmptyDiskInfoAddr(); if (DiskInfo != NULL) { DiskInfo->DiakCommand = CFCammand; DiskInfo->RsvdForLow = GetVolumeFirstSect(0); (2) rt = DISK_INIT_OK; } } break; case DISK_CLOSE: rt = RETURN_OK; break; case DISK_READ_SECTOR: /*读扇区*/ rt = DISK_READ_NOT_OK; if(ATA_ReadSector(0,(uint16*)Dp->Buf, Dp->SectorIndex + Dp->RsvdForLow,1)) (3) {
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有