Portierung UNIX->Windwows: symlink

Hi,

ich bin gerade dabei ein C+±Programm von UNIX(Solaris) nach Windows zu portieren. Für Windows soll das Programm mit Microsoft Visual Studio 2005 erzeugt werden. Bisher benutzt das Programm die Funktion symlink(), um symbolische Links zu Dateien zu erzeugen. Weil es unter Windows weder symbolische Links noch die Funktion symlink() gibt, stehe ich vor dem Problem die Benutzung von symlink() irgendwie nach Windows zu portieren. Ich möchte nur äußerst ungern das Programm so umschreiben, dass es ohne symbolische Links auskommt. Meine Fragen deshalb:

  1. Kann ich unter Windows Verknüpfungen anstelle der symbolischen Links benutzen?

  2. Falls ja: Wie erzeuge ich (am besten durch einen einfachen Funktionenaufruf) unter Windows aus einem C+±Programm heraus eine Verknüpfung zu einer Datei?

lieben Gruß

Sarah

Hallo.

ich bin gerade dabei ein C+±Programm von UNIX(Solaris) nach
Windows zu portieren. Für Windows soll das Programm mit
Microsoft Visual Studio 2005 erzeugt werden. Bisher benutzt
das Programm die Funktion symlink(), um symbolische Links zu
Dateien zu erzeugen. Weil es unter Windows weder symbolische
Links noch die Funktion symlink() gibt, stehe ich vor dem
Problem die Benutzung von symlink() irgendwie nach Windows zu
portieren.

Für welche Windows-Version soll das denn sein? Zumindest seit Windows 2000 (eventuell schon in Win NT?) gibt es auf NTFS-Dateisystemen symbolische Links. Hab gerade die Funktion nicht zur Hand, wie man die erstellt, kann ich aber raussuchen.

Sebastian.

Hi Sebastian,

danke für deine Antwort!
ich vermute, dass es sich um WindowsXp Professional handelt

Ciao!

Sarah

Für welche Windows-Version soll das denn sein? Zumindest seit
Windows 2000 (eventuell schon in Win NT?) gibt es auf
NTFS-Dateisystemen symbolische Links. Hab gerade die Funktion
nicht zur Hand, wie man die erstellt, kann ich aber
raussuchen.

Sebastian.

Hallo.

danke für deine Antwort!
ich vermute, dass es sich um WindowsXp Professional handelt

Ich glaube, ich muss mich etwas korrigieren:

Hardlinks auf NTFS-Partitionen kann man mit der Funktion CreateHardLink() erstellen.
Softlinks (also symbolische Links) sind nach dem, was ich gefunden habe, nur auf Verzeichnisse möglich. Bei Microsoft läuft das unter den Namen Junction und Reparse Point. Hier gibt es Code dazu: http://www.codeproject.com/w2k/junctionpoints.asp

Sebastian.