2008-10-24 14 views
5

Come si procede alla creazione di un driver di CD virtuale su Mac OS X in modo programmatico?Come creare un'unità CD virtuale su Mac OS X

Non riesco a trovare alcuna API Cocoa pertinente o alcuna soluzione C BSD pura.

Qualsiasi aiuto o informazione è apprezzato.

+0

@Aumano Il progetto MacFUSE è praticamente morto. Il proprietario ha lasciato il progetto diversi anni fa. Invece MacFUSE dovrebbe usare [fuse4x] (http://fuse4x.org) (fork di macfuse). – user576557

+0

@ user576557 questa domanda è stata posta diversi anni fa :-P –

+0

mi ha aiutato - Future Man – Colin

risposta

1

Se stai semplicemente cercando di montare un ISO o qualcosa del genere, è possibile farlo attraverso l'Utility Disco, semplicemente trascinalo nella barra laterale e poi selezionalo e scegli mount.

Se si desidera eseguirlo dal codice, è possibile eseguire il comando hdiutil, come mostrato in here. Non sono sicuro se c'è una chiamata API per farlo, ma ottenere quel comando per fare il lavoro è abbastanza indolore.

0

Il modo più semplice per montare un volume personalizzato è MacFUSE. Gestisce i dettagli IOKit per te e ti consente di scrivere l'implementazione nello spazio utente. Tuttavia, non penso che tu possa far sembrare un MacFUSE un CD; dovresti modificare FUSE per farlo.

2

Ci sono diverse risposte diverse che le persone hanno proposto qui. Il problema a portata di mano è ciò che stai cercando di realizzare. Se vuoi veramente emulare un CD ROM (fino al set di comandi) dovrai scrivere un driver di dispositivo. Se il tuo obiettivo è semplicemente quello di emulare un dispositivo a blocchi con contenuti simili a un CD, puoi creare un'immagine del disco usando l'utilità del disco e lasciare che il driver dell'immagine del disco integrato gestisca per te.

MacFUSE è utile se si desidera presentare una sorta di funzionalità del filesystem personalizzato, ma se ciò che si sta cercando è qualcosa che ha la stessa semantica di un disco ottico (che sia e sia a livello di blocco che di comando) è lo strumento sbagliato