Модераторы: Snowy, bartram, MetalFan, bems, Poseidon, Riply
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Не читается винт посекторно, в WinME 
:(
    Опции темы
CDEater
Дата 7.12.2006, 10:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 29.7.2006

Репутация: нет
Всего: 1



От программы требуется работоспособность на Win98/ME, должна читать диски посекторно.  Делаю всё как указано в msdn, читать секторы флопов и флешек получается, а вот харддисков - почему-то нет.  Пробовал и через VWIN32_DIOC_DOS_INT13, и через VWIN32_DIOC_DOS_INT25 - в обоих случаях возвращается флаг CF=1.  Объясните, в чём грабли.
Замечу, что из DOS-окна INT 13 и INT 25 работают нормально, а вот как прочитать из Win32-приложения ?

P.S.  Даже залоченный диск (LockLevel=3) всё равно не читается.  Хелп !

Это сообщение отредактировал(а) CDEater - 7.12.2006, 10:27
PM MAIL   Вверх
drkot
Дата 8.12.2006, 10:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ищущий
***


Профиль
Группа: Завсегдатай
Сообщений: 1042
Регистрация: 5.5.2006

Репутация: нет
Всего: 8



Цитата(CDEater @  7.12.2006,  10:18 Найти цитируемый пост)
Замечу, что из DOS-окна INT 13 и INT 25 работают нормально, а вот как прочитать из Win32-приложения ?

а что мешает использовать прерывания  биос в винде? все равно ос дос.


--------------------
Ошибка не становится истиной по причине широкого распространения,
как и Истина не становится Ошибкой из-за того, что никто её не видит.
PM   Вверх
drkot
Дата 8.12.2006, 15:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ищущий
***


Профиль
Группа: Завсегдатай
Сообщений: 1042
Регистрация: 5.5.2006

Репутация: нет
Всего: 8



IO.SYS - досовское однозадачное ядро (7.20 если не ошибаюсь)
win95/98/Me всеголишь оболочки (shell) и в априоре назвать их операционными системами нельзя. Это только надстройка которая немного разширяет функциональность ядра.



--------------------
Ошибка не становится истиной по причине широкого распространения,
как и Истина не становится Ошибкой из-за того, что никто её не видит.
PM   Вверх
ArtemRubtsov
Дата 8.12.2006, 17:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 12.11.2006

Репутация: нет
Всего: нет



Используйте ReadFile
PM MAIL   Вверх
CDEater
Дата 9.12.2006, 21:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 29.7.2006

Репутация: нет
Всего: 1



drkot, Вопрос был: как из Win32-приложения прочитать диск посекторно.
А что ты предлагаешь ?
Загрузить "Command Prompt Only" и работать как в DOSе ?

Добавлено @ 21:24 
Цитата(drkot @  8.12.2006,  15:39 Найти цитируемый пост)
Это только надстройка которая немного разширяет функциональность ядра.

Эта надстройка по причине бага не умеет передавать в ДОС запросы по харддрайвам из Win32-приложений.
Как мне сказали,  нужно писать 16-битную DLL-ку и вызывать её из 32-битного приложения, чтобы этот баг обойти.
Короче, проще и правда написать программу в DOS-окне smile
PM MAIL   Вверх
drkot
Дата 11.12.2006, 12:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ищущий
***


Профиль
Группа: Завсегдатай
Сообщений: 1042
Регистрация: 5.5.2006

Репутация: нет
Всего: 8



Цитата(CDEater @  9.12.2006,  21:21 Найти цитируемый пост)
Загрузить "Command Prompt Only" и работать как в DOSе ?

Единственное что я предлагаю это читать книжки с целью расширения своих знаний. И если Вы чегото не знаете, то нестоит упорствовать в своих ошибках.

Врядли API в Win32 перекрывают функциональность BIOS скорее они просто его используют. Поэтому int 10h (если не ошибся) в руки и читай сколько шочеш.

PS: это мое последний пост в теме, тк считаю что ничего более дельного посоветовать несмогу.


--------------------
Ошибка не становится истиной по причине широкого распространения,
как и Истина не становится Ошибкой из-за того, что никто её не видит.
PM   Вверх
CDEater
Дата 15.12.2006, 13:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 29.7.2006

Репутация: нет
Всего: 1



Цитата(drkot @  11.12.2006,  12:48 Найти цитируемый пост)
что ничего более дельного посоветовать несмогу. 

а разве вы посоветовали что-то дельное ?  smile

Случай клинический - человек думает, что из Win32-приложения можно напрямую вызывать сервисы БИОС  smile  smile  smile
PM MAIL   Вверх
drkot
Дата 15.12.2006, 16:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ищущий
***


Профиль
Группа: Завсегдатай
Сообщений: 1042
Регистрация: 5.5.2006

Репутация: нет
Всего: 8



CDEater, 
Код

mov ah, 01
mov al, 00
int 16h

если эта конструкция не выполнится под win98 я признаю свою ошибку и буду поклонятся Вам как великому программеру. Но если она выполнится то будьте добры взять свои слова назад и вдальнейшем вести себя скромнее.


--------------------
Ошибка не становится истиной по причине широкого распространения,
как и Истина не становится Ошибкой из-за того, что никто её не видит.
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: WinAPI и системное программирование"
Snowybartram
MetalFanbems
PoseidonRrader
Riply

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Delphi обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • 99% ответов по WinAPI можно найти в MSDN Library, оставшиеся 1% здесь

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, bartram, MetalFan, bems, Poseidon, Rrader, Riply.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: WinAPI и системное программирование | Следующая тема »


 




[ Время генерации скрипта: 0.1095 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.