2012-01-05 4 views
6

RawDisk website से:क्या मुझे उपयोगकर्ता मोड में Vista और Windows 7 के तहत कच्चे डिस्क सेक्टर तक पहुंच पहुंच मिल सकती है?

Windows Vista के नए सुरक्षा मॉडल उपयोगकर्ता मोड में निष्पादित आवेदनों पर तंग प्रतिबंध डालता है। यहां तक ​​कि उन्नत प्रशासनिक अधिकारों के साथ, एप्लिकेशन को कच्चे डिस्क क्षेत्रों में लेखन पहुंच नहीं मिल सकती है।

क्या यह सच है?

From the Microsoft doc:

फाइल सिस्टम के लिए और भंडारण ढेर को बदलता है लागू नहीं है अगर मात्रा घुड़सवार या नहीं है, तो मात्रा कोई फाइल सिस्टम है।

कृपया देना

  • या तो आधिकारिक माइक्रोसॉफ्ट दस्तावेज़ RawDisk वेबसाइट
  • या एक काम कोड उदाहरण इस बात की पुष्टि के लिए एक लिंक। (मैं स्पष्ट रूप से एक बनाने के लिए विफल रहा है, CreateFile() कॉल के साथ ERROR_ACCESS_DENIED अगर GENERIC_WRITE सेट किया गया है विफल रहता है।)

अन्य प्रासंगिक माइक्रोसॉफ्ट डॉक्स है कि मैं अब तक पाया है:

+0

जब आप कोशिश करते हैं (कोर्स की बलिदान मात्रा के साथ) क्या होता है? – Richard

+0

@ रिचर्ड मुझे 'ERROR_ACCESS_DENIED' (0x5) मिलता है। मैं कच्चे एसडी कार्ड पर परीक्षण कर रहा हूं। – Ali

+0

तो यह आपका जवाब है। – Richard

उत्तर

1

हां। पहला लेख आप अपवाद की एक लंबी सूची प्रदान करता है से लिंक:

  • अगर फाइल सिस्टम माउंट नहीं किया गया
  • अगर फाइल सिस्टम बंद कर दिया गया है।
  • यदि क्षेत्रों को बाहरी फ़ाइल सिस्टम स्पेस के अंदर रहने के लिए लिखा जा रहा है (इसमें बूट सेक्टर, और "कोई फ़ाइल सिस्टम" केस नहीं है, जहां स्पष्ट रूप से सभी सेक्टर सिस्टम सिस्टम के बाहर हैं)
  • यदि लेखन अनुरोध द्वारा ध्वजांकित किया गया है कर्नेल-मोड ड्राइवर।

जाहिर है, अंतिम अपवाद आपके लिए अप्रासंगिक है। उपयोगकर्ता मोड कर्नेल मोड के विपरीत है। अन्य अपवाद अभी भी लागू होते हैं।

+0

'CreateFile()' 'GENERIC_WRITE' के लिए विफल रहता है। ** ** ** ** डिवाइस IoControl()' और समस्या को कॉल करने के लिए हैंडल नहीं है 'FSCTL_ALLOW_EXTENDED_DASD_IO'। यदि अन्य अपवाद अभी भी लागू होते हैं तो मुझे 'CreateFile()' को कैसे कॉल करना चाहिए ताकि मुझे' ERROR_ACCESS_DENIED' प्राप्त न हो? प्रक्रिया ठीक से बढ़ी है। कृपया एक कार्य कोड उदाहरण दें। – Ali

+0

ठीक है, यह एक असंबंधित है वैसे भी। आपके पास उस समय सेक्टर नंबर नहीं है, इसलिए सेक्टर-आधारित प्रतिबंध अभी तक कोई फर्क नहीं पड़ता। आप _Did_ दोनों 'OPEN_EXISTING' और 'FILE_SHARE_WRITE' निर्दिष्ट करते हैं, है ना? और आप वॉल्यूम खोल रहे हैं (' \\। \ X: '), इसकी एफ नहीं आईइल सिस्टम ('\\। \ X: \')? – MSalters

+0

हाँ, मैं वही करता हूं। मुझे नहीं पता कि सुरक्षा गुण क्या हैं, मैं सिर्फ शून्य पास करता हूं। – Ali

संबंधित मुद्दे