IMAPIv2 begrenzt die Größe der Datei auf einer ISO9660-kompatiblen Disc auf 2 GB.
Um Dateien mit mehr als 2GB zu brennen, müssen Sie ein UDF-Dateisystem einrichten.
HRESULT hr = FileSystemImage->put_FileSystemsToCreate(FsiFileSystemUDF);
Die FsiFileSystems Aufzählung definiert die Werte für anerkannte Dateisysteme:
typedef enum FsiFileSystems {
FsiFileSystemNone = 0,
FsiFileSystemISO9660 = 1,
FsiFileSystemJoliet = 2,
FsiFileSystemUDF = 4,
FsiFileSystemUnknown = 0x40000000
} FsiFileSystems;
- FsiFileSystemNone Die Scheibe nicht erkanntes Dateisystem enthält.
- FsiFileSystemISO9660 Standard-CD-Dateisystem.
- FsiFileSystemJoliet Joliet Dateisystem.
- UDF-Dateisystem FsiFileSystemUDF.
- FsiFileSystemUnknown Die Disc scheint ein Dateisystem zu haben, aber das Layout stimmt mit keinem der erkannten Typen überein.
UDF nativ unterstützt viele moderne Dateisysteme Features:
- Große Partitionsgröße (maximal 2 TB mit 512B Blockgröße oder 8 TB mit einer Größe von 2 KB-Block) 64-Bit-Dateigröße
- Erweiterte Attribute (z. B. benannte Datenströme oder Gabeln) ohne Größenbeschränkung
- Lange Dateinamen (maximal 254 Byte, ein beliebiges Zeichen kann im Namen vorkommen)
- Unicode-Codierung von Dateinamen
- Sparse-Datei
- Hardlinks
- Symbolische Links
- Metadaten Prüfsumme
Einschränkungen:
- Begrenzte Partitionsgröße. 32-Bit-Blocknummer begrenzt die Partitionsgröße auf 2 TB für 512 Sektorgröße.
- Unterstützt keine komprimierten/verschlüsselten Dateien und Verzeichnisse.
Wenn Sie größere Dateien schreiben müssen, könnten Sie immer ein Archivierungsprogramm verwenden, um es zuerst in Stücke zu teilen. Wenn es keine direkte Lösung gibt, gehen Sie herum. –
Ich kann meinen eigenen IStream implementieren und AddFile anstelle von AddTree verwenden. Es ist eine bessere Problemumgehung. Ich frage mich, ob ich das wirklich tun muss. –