Einzelnen Beitrag anzeigen

Benutzerbild von nicodex
nicodex

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

Re: Auf Dateien zugreifen die gerade in Gebracuh sind (?)

  Alt 14. Nov 2008, 13:05
Zitat von 0xF30FC7:
Wenn Du NtQueryObject in einem Thread ausführst, besteht weiterhin die Möglichkeit den Thread wenn er hängt zu terminieren. Einige "LSOF" Implementierungen, die ich gesehen habe, benutzen diesen Weg. Wenn der Thread der NtQueryObject aufgerufen hat in 50ms nicht beendet ist, wird er platt gemacht. Wahrscheinlich auch keine 100% saubere Möglichkeit, aber durchaus machbar.
Einige (Filter-)Treiber mögen das gar nicht Ganz davon abgesehen ist TerminateThread schlecht für das "Certified for Windows Vista"-Logo-Programm.
Unter Vista kann man wenigstens CancelIoEx() verwenden, um die Anfrage abzubrechen.

Zitat von 0xF30FC7:
Ich sag ja auch nicht das ein Treiber die schlechtere Alternative wäre, aber wenn man keine Alternative hat (Privatperson und Code Signing Certificates z.B.), ist es durchaus ein praktikabler Weg. Ein wenig unschön evtl. aber praktikabel.
Wir sind da offensichtlich einer Meinung. Ich habe nichts gegen "Umwege", solange es keinen anderen Weg gibt
Auf einem frischen System gibt es selten Probleme. Die kommen erst, wenn man es mit vielen Kundensystemen zu tun hat. Und dann kommt man um eine "saubere" Lösung nicht herum... (finde ich ).

off-topic: Der wievielte Thread zu "offenen Dateihandles" ist das eigentlich ?-)
  Mit Zitat antworten Zitat