В XP cчитать образ дискеты и записать его в файл очень просто: ___start: invoke VirtualAlloc,0,512*80*18*2,MEM_COMMIT,PAGE_READWRITE ; буфер обязательно должен быть выравнен на 512 mov hmem,eax invoke CreateFile,offset device,GENERIC_READ,FILE_SHARE_READ,0,OPEN_EXISTING,FILE_ATTRIBUTE_NOR MAL,0 invoke ReadFile,eax,hmem,512*80*18*2,offset trash,0 invoke CreateFile,offset outfile,GENERIC_WRITE,FILE_SHARE_WRITE,0,CREATE_ALWAYS,FILE_ATTRIBUTE_ NORMAL,0 invoke WriteFile,eax,hmem,512*80*18*2,offset trash,0 invoke ExitProcess,0 end ___start А вот записать файл образа на дискету не получается. Этот код не работает: invoke CreateFile,offset device,GENERIC_WRITE,0,0,CREATE_NEW,FILE_ATTRIBUTE_NORMAL,0 invoke WriteFile,eax,hmem,512*80*18*2,offset trash,0 Может всезнающий ALL подскажет где грабли?
в аттаче прога я писал чтоб занулить дискеты под НТ. надо захвитить девайс.. if(DeviceIoControl(hDisk,FSCTL_LOCK_VOLUME,NULL,NULL,NULL,NULL,&bytes,NULL)) записать а потом освободить.. DeviceIoControl(hDisk,FSCTL_UNLOCK_VOLUME,NULL,NULL,NULL,NULL,&bytes,NULL); _1841817105__zlop_v1.0.zip