2010-01-28 9 views
6

क्या माउंटपॉइंट (एक वॉल्यूम जो ड्राइव सिस्टम पर घुड़सवार की बजाय फ़ाइल सिस्टम में घुड़सवार है) और उसके संबंधित भौतिक डिस्क ड्राइव (W) के बीच कनेक्शन पुनर्प्राप्त करने का कोई तरीका है?WMI क्वेरी के साथ माउंट पॉइंट्स के संबंधित भौतिक डिस्क ड्राइव प्राप्त करें?

उदाहरण के लिए मुझे एक डब्ल्यू 2 के 8 सर्वर पर वॉल्यूम माउंट पॉइंट मिला है जिसे "सी: \ डेटा \" पर रखा गया है और माउंटपॉइंट सर्वर के भौतिक डिस्क ड्राइव 2, 4, और 5 पर फैला हुआ है (डेटा प्रबंधन सर्वर मैनेजर का दिखाता है कि) लेकिन मुझे डब्लूएमआई का उपयोग करके इसे जानने के लिए कोई रास्ता नहीं मिल रहा है।

वॉल्यूम जो ड्राइव अक्षर मिल गया है WMI-वर्ग के साथ जोड़ा जा सकता है Win32_DiskDrive -> Win32_DiskDriveToDiskPartition -> Win32_DiskPartition -> Win32_LogicalDiskToPartition -> Win32_LogicalDisk - लेकिन समस्या यह है कि मात्रा mountpoints में सूचीबद्ध नहीं हैं है कक्षा Win32_LogicalDisk, वे केवल Win32_Volume में सूचीबद्ध हैं। और मुझे कक्षा Win32_Volume क्लास Win32_DiskDrive के साथ जोड़ने का कोई तरीका नहीं मिला - कुछ लिंकिंग क्लासेस गायब हैं।

क्या कोई समाधान ढूंढता है?

उत्तर

2

मुझे पता है कि एकमात्र तरीका Win32 API का उपयोग करने में मदद कर रहा है।

Win32_Volume का उपयोग कर वॉल्यूम पर। डेविसिस, थोड़ा संशोधित। आप मात्रा प्रारूप का उपयोग करने के लिए एक संभाल खोल सकते हैं:

\\.\Volume{[GUID]} 

फिर आप एक VOLUME_DISK_EXTENTS संरचना को पुनः प्राप्त करने के लिए खुला हैंडल पर IOCTL_VOLUME_GET_VOLUME_DISK_EXTENTS जारी करने की जरूरत है। इस संरचना में वॉल्यूम के लिए भौतिक डिस्क आईडी की एक सूची होगी।

इन डिस्क आईडी का उपयोग करके आप Win32_DiskDrive पर WMI क्वेरी कर सकते हैं INDex मिलान डिस्क प्राप्त करने के लिए।

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