2009-07-08 34 views
22

Estoy tratando de crear una unidad de Windows Virtual (como c: \) para mapear un almacenamiento remoto. El objetivo principal es hacerlo de forma clara para el usuario. Por lo tanto, el usuario no sabría que está escribiendo/leyendo desde otro sitio.Cómo crear una unidad de Windows virtual

Estaba buscando productos disponibles, y me parece que FUSE no es una opción en Windows y WebDAV asigna directamente el disco, y me gustaría construir una capa intermedia entre Windows y almacenamiento remoto para implementar algún tipo de servicios. Existen otras alternativas, como Dokan, que es muy caro, y el espacio de nombres System.IO.IsolatedStorage, que no parece crear explícitamente una nueva unidad de Windows.

Probablemente pismo (http://www.pismotechnic.com/) es lo que más coincide con mis requisitos, pero yo sabría si existe otra alternativa, incluida alguna API nativa de Windows (C++ o .NET) para hacer eso.

Gracias por leer :)

Respuesta

19

Como veo, hay varias opciones para implementar esto.

El "nativo" está creando un controlador personalizado (archivo .sys) que intercepta las operaciones de E/S. Microsoft lo llama MiniFilter. Esta opción es la más difícil pero le permite un control total.

de los cobardes; opcional) es el uso de una biblioteca existente para ello, ejemplos de esto son Dokan, GPL (dokan-dev.net/en), Pismo, (Sistema www.pismotechnic.com) o Devolución de llamada gratis Archivo (www.eldos.com).

Sin embargo, si no tiene Windows como objetivo principal, puede usar FUSE, que es una muy buena opción.

+1

Hiciste un tipo en la URL de pismo. Es http://www.pismotechnic.com/ – Foole

+0

¡Gracias! Eres una estrella del rock. –

+1

Veo que es una pregunta muy antigua, pero ¿qué enfoque eligió y qué tan útil era? ¡Gracias! – tonek

1

a utilizar el comando SUBST en un script puesto en marcha por su aplicación podría ser una opción.

+0

No por control remoto * * Almacenamiento – Blorgbeard

+0

subst es una buena opción, pero siempre y me gustaría poner en práctica una especie de capa intermedia, me gustaría "atrapar" eventos de lectura y escritura. Creo que con Subst no puedo implementar eso. Tal vez pueda hacer un programa "daemon" que monitoree continuamente la carpeta "substituido", pero prefiero otra opción. – HyLian

0

Se podría escribir un espacio de nombres de extensión de Shell, lo que le permite representar nada como una unidad (con subcarpetas, archivos, menús personalizados y otras cosas), pero tendría que crear toda la funcionalidad desde cero. Lo bueno es que hay muchas muestras en la red, como this.

+2

Sin embargo, estos objetos solo existen a nivel de Shell (Explorer). No puede usarlos en llamadas a CreateFile(). – MSalters

0

Nuestra Callback File System, como se mencionó anteriormente, es un producto compatible con un completo conjunto de características, muestras y soporte. También ofrecemos licencias gratuitas no comerciales.

+10

Desafortunadamente es una caja negra y cuesta dinero. –

+0

Esta no es una plataforma de marketing. Divulgue que trabaja para la compañía antes de sugerirlo. Fomenta la transparencia y la confianza – geekonedge

+0

@Bozzy Preste atención a la fecha de la respuesta al comentar. Las reglas eran diferentes ese día. También ser cortés no duele (una pista amigable para ti). –

Cuestiones relacionadas