Einzelnen Beitrag anzeigen

Olli
(Gast)

n/a Beiträge
 
#1

Alternative zu CreateHardlink() (auch NT4-kompatibel!)

  Alt 30. Okt 2005, 18:47
In dem Beitrag "CreateHardLinkW ... aber auch für WinNT4 ..." habe ich bereits vor langer Zeit eine Version der Funktion MSDN-Library durchsuchenCreateHardLink() vorgestellt, die voll mit Windows NT 4.0 kompatibel ist. Heute möchte ich in Kürze eine Alternative vorstellen: MSDN-Library durchsuchenMoveFileEx(). Microsoft behauptet zwar bei MOVEFILE_CREATE_HARDLINK, daß es nur reserviert ist ("Reserved for future use."), aber die Funktionalität existiert bereits und funktioniert auch hervorragend!

Code:
MoveFileEx('[color=gray]<Hier den Pfad zur existierenden Datei>[/color]', '[color=gray]<Hier den Pfad zum zu erstellenden Hardlink!>[/color]', MOVEFILE_CREATE_HARDLINK);
Und jetzt kommt die positive Überraschung: dies funktioniert bereits ab Windows NT 4.0 (ohne SP) - nicht jedoch auf Windows NT 3.51 (SP3).

Vorteile hat dies insofern, weil man keine Kopfstände machen muß wie ich sie in der Funktion im o.g. Beitrag gemacht habe. Stattdessen kann man bequem schon in Windows NT 4.0 Hardlinks erstellen

ACHTUNG: das o.g. Flag scheint sich nicht mit MOVEFILE_DELAY_UNTIL_REBOOT zu vertragen.

PS: Eigentlich logisch, diese Funktionen zu kombinieren, wenn man sich anschaut, daß in der Native API die Strukturen ("Records") für das Umbenennen ("Verschieben") und das Verlinken von Dateien identisch sind und sich nur die InformationClass unterscheidet.
  Mit Zitat antworten Zitat