2010-09-01 10 views
7

C'è CreateHardLink funzione per creare link hard. (Dal Win2000)
e c'è CreateSymbolicLink funzione poiché Vista è stato rilasciato.Come creare un punto di congiunzione con WinApi?

Ma perché non c'è un CreateJunction?

Come fa mklink fare un incrocio?
E come si scrivono i codici per realizzare la giunzione nella mia app?

risposta

6

Sono punti di analisi, quindi FSCTL_SET_REPARSE_POINT è il magico FSCTL. Ecco un esempio, mai provato, ma sembra giusto:

http://www.flexhex.com/docs/articles/hard-links.phtml

-Scott

+0

Si noti che, a partire da Windows Vista/Server 2008, è possibile utilizzare anche la funzione [CreateSymbolicLink] (http://msdn.microsoft.com/en-us/library/aa363866.aspx). – efotinis

3

Non ci sono ancora incorporata singola funzione per la creazione di incroci che ci sia per i collegamenti simbolici o hard link. Come ha detto snoone, è un punto di analisi, quindi è necessario utilizzare DeviceIoControl per interagire con esso. Se ricordo bene, la fonte che ha collegato è la stessa fonte con cui ho giocato quando stavo cercando di capirlo, e non credo di aver avuto problemi con esso.

In alternativa, se non si è contro l'utilizzo di una libreria esterna nell'applicazione e si avrà bisogno di funzionalità per la lettura/controllo/eliminazione di giunzioni, si potrebbe voler esaminare reparselib, che è una libreria abbastanza decente avvolgimento di giunzioni, collegamenti simbolici, punti di montaggio e punti di analisi personalizzati.

Problemi correlati