Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
Господа, будьте снисходительны, не бросайтесь сразу штрафовать за, как вам кажется, глупые вопросы - beginners на то и beginners.
| | | | | | |
всё значительно проще 21.01.05 13:11 Число просмотров: 1820
Автор: zelych Статус: Member
|
ifs неприемлем с идеологической точки зрения
> Я так понимаю тебе нужно какое-то пространство имен, > связанное с этим девайсом, которое бы отображалось на > файловую систему (типа /proc в линухе). Если так, то без > IFSDK не обойтись. А если этот девайс является mass storage > девайсом, то винда вроде сама должна понять, что к чему - > его только отформатить останется и отмепить.
достаточно создать девайс типа FILE_DEVICE_DISK_FILE_SYSTEM, затем при вызове SetVolumeMountPoint или DefineDosDevice драйверу посылается IRP_MJ_FILE_SYSTEM_CONTROL -> IRP_MN_ MOUNT_VOLUME, дальше драйвер подключается в стек над драйвером диска и всё работает..
а вот кто volume name создаёт, так и не понятно..
|
<beginners>
|
монтирование девайсов в ntfs папки 13.01.05 15:40 [Garick]
Автор: zelych Статус: Member
|
Есть такая штука SetVolumeMountPoint, имея volume name девайса в виде "\\?\Volume{GUID}\", можно примонтировать его в некоторую папку..
Вопрос. Есть девайс, к нему пишется драйвер.. Как бы этому девайсу назначить volume name, так чтобы его потом можно было монтировать..
Или может какие другие методы есть??
|
|
А что говорит DDK? 13.01.05 16:02
Автор: NKritsky <Nickolay A. Kritsky> Статус: Elderman
|
Если я правильно тебя понял - ты хочешь назначить своему девайсу GUID и спрашиваешь как это делается. Я думаю это описано в DDK - к сожалению сейчас у меня его нет под рукой. Ты смотрел там?
|
| |
А ничего не говорит :-) 13.01.05 16:08
Автор: amirul <Serge> Статус: The Elderman
|
> Если я правильно тебя понял - ты хочешь назначить своему > девайсу GUID и спрашиваешь как это делается. Я думаю это > описано в DDK - к сожалению сейчас у меня его нет под > рукой. Ты смотрел там? SetVolumeMountPoint это чистой воды ring3 функция и никакого отношения к драйверам не имеет. Если же смотреть на ее реализацию, то она использует FSCTL_SET_REPARSE_POINT, которого тоже нет в DDK. Он есть в IFSDK (Installable FileSystem Development Kit).
|
| | |
Есть подозрение, что эти гуиды раздаёт LDM. Или они... 13.01.05 18:10
Автор: NKritsky <Nickolay A. Kritsky> Статус: Elderman
|
Есть подозрение, что эти гуиды раздаёт LDM. Или они прописаны в .inf файле?
|
| | | |
кто такой LDM?? и кстати, то,что прописывается в инфах никакого отношения к volume name не имеет 15.01.05 16:48
Автор: zelych Статус: Member
|
|
| | | | |
LDM - logical disk manager - менеджер логических дисков 17.01.05 12:29
Автор: amirul <Serge> Статус: The Elderman
|
|
| | | |
Собственно по фигу, кто его раздает 13.01.05 18:55
Автор: amirul <Serge> Статус: The Elderman
|
> Есть подозрение, что эти гуиды раздаёт LDM. Или они > прописаны в .inf файле? Корневой вопрос по сути был: как написать драйвер файловой системы?
В обычном DDK для этого нет ни хедеров ни хелпа. Поможет только IFSDK. Говорю как краевед :-)
Ну а в IFSDK по идее должны быть примеры файловых систем.
|
| | | | |
никакого желания пользоваться ifs`ом нету.. он денег стоит.. 15.01.05 16:49
Автор: zelych Статус: Member Отредактировано 15.01.05 16:52 Количество правок: 1
|
и вообще, он вроде тут не к месту.. по идее volume name должен раздаваться mount manager`ом.. или что-то в этом роде..
|
| | | | | |
"Вопрос. Есть девайс, к нему пишется драйвер.. Как бы... 17.01.05 12:30
Автор: amirul <Serge> Статус: The Elderman
|
> и вообще, он вроде тут не к месту.. по идее volume name > должен раздаваться mount manager`ом.. или что-то в этом > роде..
"Вопрос. Есть девайс, к нему пишется драйвер.. Как бы этому девайсу назначить volume name, так чтобы его потом можно было монтировать.."
Я так понимаю тебе нужно какое-то пространство имен, связанное с этим девайсом, которое бы отображалось на файловую систему (типа /proc в линухе). Если так, то без IFSDK не обойтись. А если этот девайс является mass storage девайсом, то винда вроде сама должна понять, что к чему - его только отформатить останется и отмепить.
А что до цены... Дык винда тоже денег стоит, и что? Вот линк для затравки ed2k://|file|[MICROSOFT.WINDOWS.SERVER.2003.IFS.DDK].MICROSOFT.WINDOWS.SERVER.V2003.IFS.DDK-ISO.LeDreactor.bin|218879472|19A30309C3FD2CB77311E66794E2DC32
200 метров
|
| | | | | | |
всё значительно проще 21.01.05 13:11
Автор: zelych Статус: Member
|
ifs неприемлем с идеологической точки зрения
> Я так понимаю тебе нужно какое-то пространство имен, > связанное с этим девайсом, которое бы отображалось на > файловую систему (типа /proc в линухе). Если так, то без > IFSDK не обойтись. А если этот девайс является mass storage > девайсом, то винда вроде сама должна понять, что к чему - > его только отформатить останется и отмепить.
достаточно создать девайс типа FILE_DEVICE_DISK_FILE_SYSTEM, затем при вызове SetVolumeMountPoint или DefineDosDevice драйверу посылается IRP_MJ_FILE_SYSTEM_CONTROL -> IRP_MN_ MOUNT_VOLUME, дальше драйвер подключается в стек над драйвером диска и всё работает..
а вот кто volume name создаёт, так и не понятно..
|
| | | | | | | |
"Ты на рыбалку?" "Нет, я на рыбалку" 21.01.05 14:35
Автор: amirul <Serge> Статус: The Elderman
|
> ifs неприемлем с идеологической точки зрения
В смысле
- Тебе нужен драйвер файловой системы (именно для этого и нужен IFSKIT)
- Нет, мне нужен драйвер файловой системы.
> достаточно создать девайс типа > FILE_DEVICE_DISK_FILE_SYSTEM, затем при вызове > SetVolumeMountPoint или DefineDosDevice драйверу посылается > IRP_MJ_FILE_SYSTEM_CONTROL -> IRP_MN_ MOUNT_VOLUME, > дальше драйвер подключается в стек над драйвером диска и > всё работает..
Одним IRP_MN_MOUNT_VOLUME не обойдется. Как минимум надо будет еще обрабатывать IRP_MN_QUERY_DIRECTORY для того же IRP_MJ_FILE_SYSTEM_CONTROL
> а вот кто volume name создаёт, так и не понятно..
Говорю же, ЭТО делается при помощи IFSDDK и именно в нем описано, как писать файловые системы. Ладно, у меня дома он есть - поковыряюсь в хелпе, если не забуду
|
| | | | | | | | |
вместо IFS я, по идеологическим соображениям, использую гнушный ntifs.h.. 21.01.05 14:57
Автор: zelych Статус: Member
|
> Говорю же, ЭТО делается при помощи IFSDDK и именно в нем описано, > как писать файловые системы. Ладно, у меня дома он есть - поковыряюсь > в хелпе, если не забуду
Если не забудешь, тогда Спасибо.. а то к ntifs.h хелпов, к сожалению, не прилагается..
|
|
|