Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Поучение геометрии флоппи диска.


Страницы:   1 2

Riply ©   (2007-05-28 08:31:00) 

Здравствуйте !
Пытаюсь использовать DeviceIoControl(..., IOCTL_DISK_GET_DRIVE_GEOMETRY_EX,...
для поучение геометрии флоппика. Но DeviceIoControl возвращает ошибку: ERROR_INVALID_FUNCTION.
В чем может быть причина ?
P.S.
Ошибка с GEOMETRY_EX возникает только для флоппи.
Если использовать IOCTL_DISK_GET_DRIVE_GEOMETRY, то все работает,
но очень не хотелось бы так поступать, т.к. в Help-е сказано,
что IOCTL_DISK_GET_DRIVE_GEOMETRY - устарела.
(Только не говорите, что сам флоппик устарел. Он еще долго будет с нами :)


Сергей М.   (2007-05-28 14:08:00) [21]


> Riply ©   (28.05.07 13:58) [17]


Приведи код в максимально упрощенном функциональном фарианте - я попробую у себя его протестировать ..


Riply   (2007-05-28 13:58:00) [22]

> [16] Сергей М. ©   (28.05.07 13:51)
>Ты бы хоть ОС свою обозначила  ..
WinXP SP2

>[15] Riply ©   (28.05.07 13:47)
Забыла главное написать:
Очень хочется понять причину этого, чтобы не напороться в другом месте.
Может я его неправильно открываю ?
CreateFileA('\\.\A:',....


Сергей М.   (2007-05-28 13:51:00) [23]


> Riply ©   (28.05.07 13:47) [15]


Ты бы хоть ОС свою обозначила  ..


Riply   (2007-05-28 13:47:00) [24]

> [14] Сергей М. ©   (28.05.07 13:37)
>Но с учетом "не считаю, что Vista - это модно" волноваться за "устарелость" пока нет повода)
Есть еще один момент:
Со всеми (кроме флоппика) я работаю с "EX - кодами".
Написала несколько "универсальных" процедур для работы.
А DRIVE_GEOMETRY в эту стройную картинку никак не вписывается. Не очень хочется делать так:
Если флоопик, то это, иначе то :)
И еще: случай с ним означает, что не исключены варианты подобных ошибок и с другими Device-ми


Сергей М.   (2007-05-28 13:37:00) [25]


> Riply ©   (28.05.07 13:32) [13]


> Как просил, тыкаю


Уткнулся, вижу)

Но с учетом "не считаю, что Vista - это модно" волноваться за "устарелость" пока нет повода)


Riply   (2007-05-28 13:32:00) [26]

>[10] Сергей М. ©   (28.05.07 13:22)
>Вот оригинал:
> http://msdn2.microsoft.com/en-us/library/aa365169.aspx
>Где там слово "obsolete" ? Ткни меня носом ...
Как просил, тыкаю :) http://msdn2.microsoft.com/en-us/library/aa363979.aspx

>[12] Сергей М. ©   (28.05.07 13:25)
>А не ты ли, барышня, не так давно жаловалась, что до Висты и ДлинногоРога пока не доросла ?)
Во-первых: не все сразу. Стараюсь расти :)
Во-вторых, я не считаю, что Vista - это модно :)


Сергей М.   (2007-05-28 13:25:00) [27]


> Riply ©   (28.05.07 13:23) [11]


> Зато - модница !


А не ты ли, барышня, не так давно жаловалась, что до Висты и ДлинногоРога пока не доросла ?)


Riply   (2007-05-28 13:23:00) [28]

>[9] clickmaker ©   (28.05.07 13:16)
>судя по анкете, ты вовсе не пацан. Так что можно )
Зато - модница ! Разве я могу одеть(исползовать) то, что уже вышло из моды ? :)


Сергей М.   (2007-05-28 13:22:00) [29]


> Riply ©   (28.05.07 13:14) [8]


Вот оригинал:

http://msdn2.microsoft.com/en-us/library/aa365169.aspx

Где там слово "obsolete" ? Ткни меня носом ...

Может поэтому ИШ порекомендовал "забыть" такой help, который по сути дублируя оригинал существенно искажает его содержимое ?


clickmaker   (2007-05-28 13:16:00) [30]


> Реальные пацаны ее уже не используют :)

судя по анкете, ты вовсе не пацан. Так что можно )


Riply   (2007-05-28 13:14:00) [31]

> [7] Сергей М. ©   (28.05.07 12:59)
>Ну и где тут про "устарела" ?
The following are obsolete control codes.
IOCTL_DISK_GET_DRIVE_GEOMETRY

obsolete [ ] 1) устарелый; вышедший из употребления; старомодный
Т.е. Не в моде :) Реальные пацаны ее уже не используют :)


Сергей М.   (2007-05-28 12:59:00) [32]


> Riply ©   (28.05.07 12:50) [6]


Ну и где тут про "устарела" ?

IOCTL_DISK_GET_DRIVE_GEOMETRY, согласно msdn, "живет" на всех системах, кроме маздая, в то время как заменяющая (но не отменяющая !!) ее EX-версия "живет" только на ХР/Vista/Longhorn/2003.


Riply   (2007-05-28 12:50:00) [33]

> [5] Сергей М. ©   (28.05.07 12:36)
>Где такой help живет ?
:)
Такой неправильный Help живет в BDS 2006 :)

The IOCTL_DISK_GET_DRIVE_GEOMETRY control code retrieves information about the physical disk's geometry:
type, number of cylinders, tracks per cylinder, sectors per track, and bytes per sector.
 Note IOCTL_DISK_GET_DRIVE_GEOMETRY has been superseded by IOCTL_DISK_GET_DRIVE_GEOMETRY_EX,
 which retrieves additional information.
..........
..........
The following are obsolete control codes.
IOCTL_DISK_GET_DRIVE_GEOMETRY
IOCTL_DISK_GET_DRIVE_LAYOUT
IOCTL_DISK_GET_PARTITION_INFO
IOCTL_DISK_SET_DRIVE_LAYOUT
IOCTL_DISK_SET_PARTITION_INFO

Platform SDK Release: February 2003


Сергей М.   (2007-05-28 12:36:00) [34]


> в Help-е сказано,
> что IOCTL_DISK_GET_DRIVE_GEOMETRY - устарела


Где такой help живет ?
В D7 никакая "устарелость" по этому поводу не фигурирует ..


Riply   (2007-05-28 11:16:00) [35]

> [3] Игорь Шевченко ©   (28.05.07 11:13)
> Забудь про HELP
"Это как-это, это как-это ?" (с) Чья - не помню :)
Кому же, тогда, верить ?


Игорь Шевченко   (2007-05-28 11:13:00) [36]


> Если использовать IOCTL_DISK_GET_DRIVE_GEOMETRY, то все
> работает,
> но очень не хотелось бы так поступать, т.к. в Help-е сказано,
>  
> что IOCTL_DISK_GET_DRIVE_GEOMETRY - устарела.


Забудь про HELP


Riply   (2007-05-28 11:09:00) [37]

> [1] DrPass ©   (28.05.07 10:46)
>А операционка какая?
XP SP2
>кстати, а стоит ли сейчас писать программу, уже на работающую на Вынь2000?
А эту фразу не поняла. Поясни, пожалуйста.


DrPass   (2007-05-28 10:46:00) [38]

А операционка какая? Этот код AFAIK только на ХР и старше работает (кстати, а стоит ли сейчас писать программу, уже на работающую на Вынь2000?)


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо