Test Foro de elhacker.net SMF 2.1

Programación => Programación C/C++ => Mensaje iniciado por: wachi en 5 Enero 2012, 05:59 AM

Título: disco virtual
Publicado por: wachi en 5 Enero 2012, 05:59 AM
hola a todos ...
quisiera saber como puedo crear un a unidad de disco virtual en c++ ,sin tener que utilizar comandos del dos como subst ,quiero saber si existen apis especificas paar esto...

gracias de antemano.
Título: Re: disco virtual
Publicado por: BlackZeroX en 5 Enero 2012, 07:10 AM
Ommm hace rato esto se pregunto en VB6 y te repondo lo mismo...

Debes usar DefineDosDevice y apra cambiarle el "Nombre" usa SetVolumeLabel.



#include <windows.h>

...
    DefineDosDeviceA(0x0, "X:", "E:\\Mi música" );  //  Agrega el DiscoVirtual...
    getchar();
    DefineDosDeviceA(DDD_REMOVE_DEFINITION, "X:", "E:\\Mi música");  //  Remueve el disco virtual...
...



Dulces Lunas!¡.
Título: Re: disco virtual
Publicado por: wachi en 10 Enero 2012, 08:54 AM
Cita de: BlackZeroX (Astaroth) en  5 Enero 2012, 07:10 AM
Ommm hace rato esto se pregunto en VB6 y te repondo lo mismo...

Debes usar DefineDosDevice y apra cambiarle el "Nombre" usa SetVolumeLabel.



#include <windows.h>

...
    DefineDosDeviceA(0x0, "X:", "E:\\Mi música" );  //  Agrega el DiscoVirtual...
    getchar();
    DefineDosDeviceA(DDD_REMOVE_DEFINITION, "X:", "E:\\Mi música");  //  Remueve el disco virtual...
...



Dulces Lunas!¡.


este code lo probe y funciona pero eso hace lo mismo que subst del dos ,crea  un disco virtuakl a partir de una carpeta,y trate de cambiarle el nombre con SetVolumeLabel y no hay manera que me funcione,no hay otra forma de crear un
disco  virtual que no sea a partir de una carpeta????
Título: Re: disco virtual
Publicado por: BlackZeroX en 10 Enero 2012, 09:26 AM
Solo que particiones el disco duro, eso quieres?... este proceso conlleva muchos pasos y si lo haces mal te puedes llevar entre las patas la información guardada... investiga sobre las estructuras de un HD y como puedes acceder a lugares espesificos... seguro usaras ASM.

Dulces Lunas!¡.
Título: Re: disco virtual
Publicado por: Eternal Idol en 10 Enero 2012, 10:51 AM
No, si particionas el disco no veo que puede tener esto de virtual, simplemente sera un disco con mas de una particion y en S.O.s modernos no hay necesidad de usar ASM para casi ninguna tarea.

Tal vez buscas un RAM DISK ... da un ejemplo o describi exactamente lo que queres hacer.

PD. Lo del ejemplo no es un disco virtual, es un enlace simbolico de una unidad a un directorio.
Título: Re: disco virtual
Publicado por: wachi en 11 Enero 2012, 04:13 AM
bueno en realidad lo que quiero es crear una unidad  disco virtual,para después desde un driver que también quiero programar acceder a dicha unidad y realizar operaciones de escritura y lectura.
Título: Re: disco virtual
Publicado por: Eternal Idol en 11 Enero 2012, 10:14 AM
Bueno en el WDK tenes el codigo fuente de un RAM DISK, ahi se hace todo lo que queres.
Título: Re: disco virtual
Publicado por: wachi en 11 Enero 2012, 18:48 PM
muchas gracias por todo,ya encontré en ejemplo del WDK ,voy a estudiarlome detalladamente,pero por casualidad sabrán donde encontrar algún manual o algo que muestre  cuales son los pasos para crear un ram disk,preferentemente en español,porque la verdad es que el ejemplo esta fuerte,me disculpan que moleste tanto pero como comprenderán soy novato en todo esto y realmente me gustaría aprender.

muchas gracias nuevamente.
Título: Re: disco virtual
Publicado por: Eternal Idol en 11 Enero 2012, 18:51 PM
No pero el codigo de ejemplo esta ampliamente comentado.
Título: Re: disco virtual
Publicado por: wachi en 12 Enero 2012, 05:23 AM
si es verdad que esta bien comentado,pero como te dije quería ver algo en español porke mi ingles no es muy bueno...
pero bueno no importa ,gracias por todos sus mensajes, me has sido de inmensa ayuda....
Título: Re: disco virtual
Publicado por: Eternal Idol en 12 Enero 2012, 09:01 AM
De nada.
Título: Re: disco virtual
Publicado por: Hasseds en 15 Enero 2012, 00:39 AM
Hola, no pude encuentrar el ejemplo al que se refieren, me pueden facilitar el link, gracias y saludos.



Título: Re: disco virtual
Publicado por: Eternal Idol en 15 Enero 2012, 01:16 AM
Como decia antes esta en el WDK, buscalo en Google, bajalo y selecciona los "samples" al instalar.
Título: Re: disco virtual
Publicado por: wachi en 20 Enero 2012, 07:07 AM
hola
como dice el amigo Eternal Idol  este ejemplo se encuentra en el WDK ,pero si quieres mira este link ,también tiene un ejemplo un poco mas sencillo (creo yo)que el del WDK.

http://support.microsoft.com/kb/257405
o este
http://code.msdn.microsoft.com/windowshardware/WDKRamDisk-c3322885
Título: Re: disco virtual
Publicado por: Eternal Idol en 20 Enero 2012, 10:14 AM
Cita de: wachi en 20 Enero 2012, 07:07 AM
hola
como dice el amigo Eternal Idol  este ejemplo se encuentra en el WDK ,pero si quieres mira este link ,también tiene un ejemplo un poco mas sencillo (creo yo)que el del WDK.

http://support.microsoft.com/kb/257405
o este
http://code.msdn.microsoft.com/windowshardware/WDKRamDisk-c3322885

Los dos son lo mismo solo que uno es la version antigua (de cuando se llamaba DDK en lugar de WDK).
Título: Re: disco virtual
Publicado por: wachi en 21 Enero 2012, 03:16 AM
si ya me di cuenta, pero los estudiaré a ambos ,están muy buenos........

UNA PREGUNTICA:

alguien sabe  si el libro "Programming the windows driver model"  tiene alguna edicion en español ???? o si existe algun libro de programacion de driver en español ???
Título: Re: disco virtual
Publicado por: Eternal Idol en 21 Enero 2012, 09:43 AM
No que yo sepa, todo esta en ingles, hay que aprenderlo.
Título: Re: disco virtual
Publicado por: Hasseds en 21 Enero 2012, 10:53 AM

Cita de: Eternal Idol en 15 Enero 2012, 01:16 AM
Como decia antes esta en el WDK, buscalo en Google, bajalo y selecciona los "samples" al instalar.


Cita de: wachi en 20 Enero 2012, 07:07 AM

hola
como dice el amigo Eternal Idol  este ejemplo se encuentra en el WDK ,pero si quieres mira este link ,también tiene un ejemplo un poco mas sencillo (creo yo)que el del WDK.


http://support.microsoft.com/kb/257405
o este
http://code.msdn.microsoft.com/windowshardware/WDKRamDisk-c3322885



Gracias nuevamente, recien me inicio con este tema, peden ayudar las "APIs del Setup" para facilitar el trabajo ?


http://translate.google.com.ar/translate?hl=es&sl=en&u=http://msdn.microsoft.com/en-us/library/windows/hardware/ff544717(v%3Dvs.85).aspx&ei=Q4kaT8PTGcPg0QG094jGCw&sa=X&oi=translate&ct=result&resnum=1&sqi=2&ved=0CCIQ7gEwAA&prev=/search%3Fq%3Ddiinstalldriver%26hl%3Des%26biw%3D1024%26bih%3D600%26prmd%3Dimvnsfd (http://translate.google.com.ar/translate?hl=es&sl=en&u=http://msdn.microsoft.com/en-us/library/windows/hardware/ff544717(v%3Dvs.85).aspx&ei=Q4kaT8PTGcPg0QG094jGCw&sa=X&oi=translate&ct=result&resnum=1&sqi=2&ved=0CCIQ7gEwAA&prev=/search%3Fq%3Ddiinstalldriver%26hl%3Des%26biw%3D1024%26bih%3D600%26prmd%3Dimvnsfd)


Título: Re: disco virtual
Publicado por: Eternal Idol en 21 Enero 2012, 11:19 AM
No realmente, el codigo que gestiona el RAM DISK es de modo Kernel y esa API es de modo Usuario.
Título: Re: disco virtual
Publicado por: wachi en 21 Enero 2012, 20:30 PM
hola
si como dice Eternal Idol el ramdisk funciona en modo kernel ,si quieres iniciarte en el mundo de los drivers (en el cual me estoy iniciando también) te recomiendo estos links

http://foro.elhacker.net/programacion_cc/principios_basicos_de_desarrollo_de_drivers_en_windows_lenguaje_c-t307017.0.html

http://foro.elhacker.net/analisis_y_diseno_de_malware/introduccion_a_la_programacion_de_drivers_en_windows-t231193.0.html

ahí hay varias cosas que deberías saber para adentrarte en este fantástico mundo...

saludos desde Cuba....
Título: Re: disco virtual
Publicado por: wachi en 27 Enero 2012, 08:22 AM
hola a todos ...
disculpen que vuelva con lo mismo pero es tengo otra duda relacionada con los ramdisk ,el problema es que cogí el ejemplo de ramdisk que trae el WDK y lo compile e hice todos los pasos necesarios para instalar dicho ramdisk y no me resulta de ninguna manera ,sin embargo baje este otro ejemplo http://code.msdn.microsoft.com/windowshardware/WDKRamDisk-c3322885  que viene siendo casi lo mismo,pero este ultimo cuando lo instalo con los pasos me pide esta WdfCoInstaller01009.dll y el otro no ,me pregunta es porke este ultimo me pide esa dll ??? con la cual me funciona a la perfección y el que trae el WDK no ,el cual no me funciona de ninguna manera....


gracias de antemano...

saludos.