2009-07-08 8 views
22

Sto provando a creare un'unità virtuale di Windows (come c: \) per mappare una memoria remota. Lo scopo principale è quello di farlo in modo chiaro all'utente. Pertanto l'utente non saprebbe che sta scrivendo/leggendo da un altro sito.Come creare un'unità Windows virtuale

Ero alla ricerca di prodotti disponibili, e trovo che FUSE non è un'opzione in Windows e le mappe WebDAV direttamente sull'unità, e mi piacerebbe costruire un livello intermedio tra Windows e lo storage remoto per implementare alcuni tipi di servizi. Esistono altre alternative, come Dokan, che è molto costoso, e Spazio dei nomi System.IO.IsolatedStorage, che non sembra creare esplicitamente una nuova unità Windows.

Probabilmente pismo (http://www.pismotechnic.com/) è la cosa che corrisponde maggiormente alle mie esigenze ma vorrei sapere se esiste un'altra alternativa, tra cui alcune API native di Windows (C++ o .NET) per farlo.

Grazie per la lettura :)

risposta

19

Come vedo, ci sono diverse opzioni per implementarlo.

Quello "nativo" sta creando un driver personalizzato (file .sys) che intercetta le operazioni di I/O. Microsoft lo chiama MiniFilter. Questa opzione è la più dura ma ti consente il pieno controllo.

del vigliacco; opzionale) è quello di utilizzare una libreria esistente per fare questo, esempi di questo sono Dokan, GPL (dokan-dev.net/en), Pismo, libero (www.pismotechnic.com) o Callback File System (www.eldos.com).

Tuttavia, se non si dispone di Windows come destinazione principale, è possibile utilizzare FUSE, che è un'opzione piuttosto buona.

+1

Hai creato un tipo nell'URL di pismo. È http://www.pismotechnic.com/ – Foole

+0

Grazie! Sei una rock star. –

+1

Vedo che è una domanda molto vecchia, ma quale approccio hai scelto e in che modo è stato utilizzabile? Grazie! – tonek

1

di utilizzare il comando SUBST in uno script lanciato dalla vostra applicazione potrebbe essere un'opzione.

+0

Non per * * distanza di stoccaggio – Blorgbeard

+0

sost è una buona opzione, ma come tempo avrei da implementare una sorta di livello intermedio, mi piacerebbe "catturare" leggere e scrivere eventi. Penso che con subst non posso implementarlo. Forse posso fare un programma "daemon" che monitora continuamente la cartella "sostituita", ma preferisco un'altra opzione. – HyLian

0

Si potrebbe scrivere un namespace Shell Extension, che consente di rappresentare nulla come unità (con sottocartelle, file, menu personalizzati e quant'altro), ma dovresti creare tutte le funzionalità da zero. Il lato positivo è che ci sono molti campioni sulla rete, come lo this.

+2

Tuttavia, questi oggetti esistono solo a livello di shell (Explorer). Non è possibile utilizzarli nelle chiamate CreateFile(). – MSalters

0

Il nostro , come menzionato sopra, è un prodotto supportato con una serie completa di funzioni, campioni e supporto. Offriamo anche licenze gratuite non commerciali.

+10

Purtroppo è una scatola nera e costa denaro. –

+0

Questa non è una piattaforma di marketing. Informati che lavori per la compagnia prima di suggerirla. Favorisce la trasparenza e la fiducia – geekonedge

+0

@Bozzy Si prega di prestare attenzione alla data della risposta quando si commenta. Le regole erano diverse quel giorno. Anche essere educato non fa male (un suggerimento amichevole per te). –

Problemi correlati