Господа, будьте снисходительны, не бросайтесь сразу штрафовать за, как вам кажется, глупые вопросы - beginners на то и beginners.
кто такой LDM?? и кстати, то,что прописывается в инфах никакого отношения к volume name не имеет15.01.05 16:48 Число просмотров: 1830 Автор: zelych Статус: Member
> Есть такая штука SetVolumeMountPoint, имея volume name > девайса в виде "\\?\Volume{GUID}\", можно примонтировать > его в некоторую папку.. > > Вопрос. Есть девайс, к нему пишется драйвер.. Как бы этому > девайсу назначить volume name, так чтобы его потом можно > было монтировать.. > > Или может какие другие методы есть?? Думаю стоит начать с MSDN-а:
Если я правильно тебя понял - ты хочешь назначить своему девайсу 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 файле? Корневой вопрос по сути был: как написать драйвер файловой системы?
В обычном DDK для этого нет ни хедеров ни хелпа. Поможет только IFSDK. Говорю как краевед :-)
Ну а в IFSDK по идее должны быть примеры файловых систем.
никакого желания пользоваться ifs`ом нету.. он денег стоит..15.01.05 16:49 Автор: zelych Статус: Member Отредактировано 15.01.05 16:52 Количество правок: 1
> и вообще, он вроде тут не к месту.. по идее 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
> Я так понимаю тебе нужно какое-то пространство имен, > связанное с этим девайсом, которое бы отображалось на > файловую систему (типа /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
В смысле
- Тебе нужен драйвер файловой системы (именно для этого и нужен 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 хелпов, к сожалению, не прилагается..