मैं एक ही लड़ी कार्यक्रम (सी ++, Win32, NTFS) जो पहले एक काफी लंबा अस्थायी फ़ाइल बनाता है, जिसे बंद कर देता है, पढ़ने के लिए खोलता है, पढ़ता है, फिर से बंद कर देता है और DeleteFile()
का उपयोग कर नष्ट करने के लिए कोशिश करता है है।DeleteFile पर विफल रहता है हाल ही में बंद फ़ाइल
आमतौर पर यह आसानी से चला जाता है, लेकिन कभी-कभी DeleteFile(
) विफल रहता है, और GetLastError()
ERROR_ACCESS_DENIED लौटाता है। फ़ाइल केवल पढ़ने के लिए ही पढ़ा नहीं जाता है। यह किसी भी आकार की फाइलों पर होता है, लेकिन संभावना फ़ाइल के आकार के साथ बढ़ती है।
कोई भी विचार क्या फ़ाइल ताला लगा जा सकता है? मैंने WinInternals टूल्स को जांचने और कुछ भी संदिग्ध नहीं पाया।
क्या आप वाकई यह हटाने का प्रयास करने से पहले फ़ाइल ठीक से बंद कर रहे हैं कर रहे हैं? क्या आपने किसी हैंडल को याद किया? – RageZ
जैसा कि मैंने कहा, मैंने WinInternals टूल के साथ भी जांच की है। सभी खुलने को बंद कर दिया जाता है, लेकिन हटाना विफल रहता है। और 1 सेकंड के लिए सोते हुए समस्या को हल करता है। –
यह खिड़कियां छोटी हो सकती हैं लेकिन मैं उस पर संदिग्ध हूं। यदि 'नींद' जोड़ना यह काम ठीक होना चाहिए ^^ – RageZ