AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Dateiname aus Dateihandle ermitteln

Ein Thema von Luckie · begonnen am 3. Sep 2008 · letzter Beitrag vom 3. Sep 2008
Antwort Antwort
Benutzerbild von nicodex
nicodex

Registriert seit: 2. Jan 2008
Ort: Darmstadt
286 Beiträge
 
Delphi 2007 Professional
 
#1

Re: Dateiname aus Dateihandle ermitteln

  Alt 3. Sep 2008, 12:22
Dein Code ist nicht falsch, er kehrt nur nie zurück, da die Objekte auf die Abfrage nicht anworten bzw. nicht/nie bereit sind, um die Anfrage abzuarbeiten.

Da ganze in Threads auszulagern verschiebt nur das Problem (da hilft auch kein CancelIoEx). Wenn du den Thread beendest und die Anfrage doch noch zurückkehrt, dann zeigen die Pointer auf einen nicht mehr gültigen Speicherbereich. Eigentlich sollte das kein Problem sein - aber in der Praxis kommt es zu Problemen mit Kernel-Komponenten (Treiber, Filter, Viren-Scanner), was im schlimmsten Fall zu BSODs führt.

Zudem ist es in der Praxis schwierig, _jedes_ "Datei"-Handle abzufragen. Durch die Anfrage werden Pipes/Mailslots/etc "ausgelöst", was dazu führt, dass Wait- und Read-Funktionen zurückkehren - natürlich ohne Daten zur Verfügung zu haben. Wenn die Programme mit diesem Fall nicht umgehen können (nur ein Beispiel von vielen: Tobit David’s interne Inter-Prozess-Kommunikation), dann kommt es zu Fehlern und Zugriffsverletzungen in den entsprechenden Programmen.

Eine saubere Lösung für den Benutzermodus kenne ich nicht.
  Mit Zitat antworten Zitat
Antwort Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:38 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz