none
IFsiDirectoryItem::AddDirectory liefert zu spät IMAPI_E_IMAGE_SIZE_LIMIT RRS feed

  • Allgemeine Diskussion

  • Hi,

    ich bin gerade dabei, Ordnerstrukturen auf DVD zu brennen.

    m_pIFileSystemImge->get_FreeMediaBlocks(&FreeBlocks); //FreeBlocks==2297888, also 4,38 GB

    // jetzt werden rekursiv Dateien und Verzeichnisse hinzugefügt. Irgendwann

    m_pIFileSystemImge->get_UsedBlocks(&UsedBlocks); // UsedBlocks==2297887
    hr=rootItem.AddDirectory(CComBSTR(CurSubDir)); // hr==S_OK
    m_pIFileSystemImge->get_UsedBlocks(&UsedBlocks); // UsedBlocks==2297891

    AddDirectory hätte also statt S_OK IMAPI_E_IMAGE_SIZE_LIMIT liefern müssen!
    Mein aktueller Gegenbehelf ist dann manuell den Ordner wieder zu entfernen.

    if (UsedBlocks>FreeBlocks)
    {
      hr=rootItem.Remove(CComBSTR(pOrdner->m_SubDir)); // hr==S_OK  m_pIFileSystemImge->get_UsedBlocks(&UsedBlocks);  // UsedBlocks==2297887
    }

    Ist jetzt kein großes Problem. Man muss nur wissen, dass man doch die used blocks manuell prüfen muss.

    Tschüß, Holger.

    Dienstag, 4. August 2015 11:44

Alle Antworten

  • Hallo Holger,

    Wenn ich richtig verstanden habe, bist Du mit dem Gegenbehelf zufrieden. Dann möchte ich Dich bitten, die Beschreibung des Gegenbehelfs in einen separaten Beitrag auszugliedern und diesen als Antwort zu markieren, so dass das Verfahren für künftige Leser des Threads hervorgehoben wird und auch damit sie wissen, dass im Thread eine Lösung gefunden wurde.

    Gruß,
    Dimitar


    Bitte haben Sie Verständnis dafür, dass im Rahmen dieses Forums, welches auf dem Community-Prinzip „IT-Pros helfen IT-Pros“ beruht, kein technischer Support geleistet werden kann oder sonst welche garantierten Maßnahmen seitens Microsoft zugesichert werden können.

    Mittwoch, 5. August 2015 11:23
    Administrator
  • Zu früh gefreut: Zwar ist am Ende UsedBlocks<FreeMediaBlocks, aber die erzeugte ISO wird manchmal zu gross und lässt sich dann doch nicht brennen.

    Ich prüfe jetzt vor jedem AddFile/AddDirectory ob mindestens 1000 Blöcke als Reserve noch frei sind.
    Bei AddFile müssen noch zusätzliche FileSize/1024+1 Blöcke frei sein.

    D.h. ich habe keinen IMAPI_E_IMAGE_SIZE_LIMIT mehr, verschwende aber etwas Platz.

    Tschüß, Holger.

    Freitag, 7. August 2015 09:03