Ich schreibe CD/DVD mit IMAPI mit C# .NET Windows-Anwendung. Die Daten, die ich auf CD schreibe, enthalten eine ausführbare Datei (test.exe), die ebenfalls mit C# .NET und virtualisiert (Sandobx) mit Turbo Virtualization Studio entwickelt wurde. Alle Daten, die auf CD geschrieben werden sollen, werden in einem Ordner (Quellpfad) auf Laufwerk C abgelegt.IMAPI: COMException Interner Dateisystemfehler ist aufgetreten [-1062555360]
Nach kleinem Code-Schnipsel ist: -
IStream stream = null;
try
{
System.Diagnostics.Debug.Print("Adding - " + thisFileItem.SourcePath);
if (thisFileItem.SourcePath != null)
Win32.SHCreateStreamOnFile(thisFileItem.SourcePath, Win32.STGM_READ | Win32.STGM_SHARE_DENY_WRITE, ref stream);
if (stream != null)
{
fileSystemImage.Root.AddFile(thisFileItem.DestPath + thisFileItem.DisplayName, stream);
}
}
finally
{
if (stream != null)
{
Marshal.FinalReleaseComObject(stream);
}
}
Aufruf zur "fileSystemImage.Root.AddFile" Verfahren unter Zugabe von test.exe wirft COMException -1062555360 "Internal aufgetreten Dateisystemfehler." Alle anderen Dateien fügen hinzu und schreiben richtig.
Ausnahmedetails: -
COMException -1062555360
Internal file system error occurred.
at ImapiInterop.IFsiDirectoryItem.AddFile(String path, IStream fileData)
at ImapiImplementation.CDWriter.objBackgroundWorker_DoWork(Object sender, DoWorkEventArgs e) in C:\.........\CDWriter.cs:line 405
Wenn ich meine Quellordner geschehen, ohne auf einem anderen Ort (Desktop-oder D-Laufwerk), alle Schreibprozess (einschließlich test.exe) Fehler in Ordnung bringen.
Ich vermute, dass das Problem aufgrund Virutalisierung aber nicht sicher ist. Bitte helfen.
-1062555360 == 0xC0AAB120 == IMAPI_E_IMAGE_SIZE_LIMIT == "Das Hinzufügen von 'Dateiname' würde dazu führen, dass ein Ergebnisbild größer als der aktuell konfigurierte Grenzwert ist". IMAPI weiß natürlich nichts darüber, wo die Datei herkommt. –