· Начало · Отвђтить · Статистика · Поиск · FAQ · Правила · Установки · Язык · Выход · WASM.RU · Noir.Ru ·

 WASM Phorum —› WASM.WIN32 —› Форматирование флоппи из-под Win98

Посл.отвђт Сообщенiе


Дата: Июн 29, 2004 13:30:08 · Поправил: bazed

Подскажите, пожалуйста, каким способом можно из-под Win API форматировать, записывать и читать нестандартные дорожки дискеты?
Соответствующая DOS-программа работать не хочет (первая же функция int 13h возвращается с кодом "неправильный формат команды", хотя в чистом DOS все работает нормально).
Если данное действие можно выполнить через VxD, подскажите, какими функциями можно воспользоваться.


Дата: Июн 29, 2004 14:54:13

ну если хочешь через int 13, то до него можно дотянуться через DMPI
push di
mov  ax, 0300h         ; DPMI Simulate Real Mode Interrupt
mov  bl, bIntNum       ; Number of the interrupt to simulate
mov  bh, 01h           ; Bit 0 = 1; all other bits must be 0
xor  cx, cx            ; No words to copy from PM to RM stack
les  di, lpCallStruct  ; Real mode call structure
int  31h               ; Call DPMI
jc   END1              ; CF set if error occurred


Дата: Июн 29, 2004 22:18:43

Если из Win API, то ищи вызов через DeviceIoControl. Самому VxD писать не надо. Ниже я прицепил пример того, как я читал сектора винта подобным образом + поищи на форуме, вроде была тема и про дискеты...

1674256552__Sectors.asm


Дата: Июн 30, 2004 15:49:43

kaspersky
_Chingachguk_
Спасибо огромное за подсказку !!! Попробую и так, и так...


Дата: Июл 2, 2004 09:08:27

значительную часть кода можно выбросить, если юзать Kenel32!ordinal0001/


Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.046