Announcement

Collapse
No announcement yet.

Datei-Info auslesen mit Hilfe von StgOpenStorage

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Datei-Info auslesen mit Hilfe von StgOpenStorage

    Ich sollte ziemlich dringend eine Lösung zum Auslesen der Datei-Infos aus einer beliebigen Datei haben. Ich habe schon das Delphi-Beispiel von Anreas Kosch auf C++ umgebaut. Allerdings funktioniert es bei mir nicht. Irgendwie scheint es nach einem Probleme mit dem IStorage aus.
    ->OLE-Fehler 80050030

    CODE:

    HResult hr = S_OK;
    IStorage *pRoot = NULL;
    IPropertySetStorage *pPropSet = NULL;
    IPropertyStorage *pPropStor = NULL;

    if (!StgIsStorageFileL"C:\\Temp\\test.txt")
    {
    ShowMessage("Error beim Laden!");
    }
    StgOpenStorage(L"C:\\Temp\\test.txt", NULL, STGM_READWRITE | STGM_SHARE_EXCLUSIVE| STGM_DIRECT, NULL, 0, &pRoot);

    pPropSet = (IPropertySetStorage*)pRoot;

    OleCheck(pPropSet->Open(FMTID_SummaryInformation, STGM_READ | STGM_SHARE_EXCLUSIVE, &pPropStor));
    ...

    Wäre für eine rasche Hilfe sehr dankbar.

  • #2
    WIN 32 API:

    CreateFile

    GetFileInformationByHandle

    CloseFil
    Christian

    Comment


    • #3
      Falls es noch jemand braucht:

      OLE-Fehler 80050030 wird dann ausgelöst, wenn man eine Nicht-Verbunddatei mit StgOpenStorage() zu öffnen versucht. Deshalb

      if (!StgIsStorageFileL"C:\\Temp\\test.txt")

      durch

      HRESULT hr = StgIsStorageFile("C:\\Temp\\test.txt);
      if(rc != S_OK) return;

      ersetzen.

      Wird bei einer Textdatei je nicht gehen, da die Textdateien keine OLE-Dokumente sind ;-)

      Grüße
      Deni

      Comment


      • #4
        Ahaa? Das Ergebnis steht in hr; geprüft wird mit rc?
        Christian

        Comment


        • #5
          Entschuldigung, mein Fehler. Es muss natürlich mit hr geprüft werden.

          Grüß

          Comment

          Working...
          X