मैं विंडोज़ फ़िल्टरिंग प्लेटफार्म में एक ड्राइवर विकसित कर रहा हूं और मुझे जो करना है उसे करने के लिए मुझे किसी अन्य प्रक्रिया की प्रक्रिया आईडी की आवश्यकता है। मैं केवल उस प्रक्रिया का फ़ाइल नाम जानता हूं (name.exe)।
Win32 में मैं सभी प्रक्रियाओं की सूची प्राप्त करने के लिए CreateToolhelp32Snapshot फ़ंक्शन का उपयोग कर सकता था और मैं वहां पीआईडी खोज सकता था। ( http://msdn.microsoft.com/en- us/लाइब्रेरी/ms684834(VS.85).aspx )
दुर्भाग्य से कर्नेल मोड में यह सामग्री उपलब्ध नहीं है। किसी को पता है कि मैं कर्नेल स्पेस द्वारा केवल बाइनरी नाम जानने वाली प्रक्रिया आईडी कैसे प्राप्त कर सकता हूं?
धन्यवाद, मार्को
1 उत्तर
आप ZwQuerySystemInformation का उपयोग SystemProcessesAndThreadsInformation सूचना वर्ग के साथ कर सकते हैं। यह CreateToolhelp32Snapshot के समान है। हालांकि, कुछ संरचनाएं अनिर्दिष्ट हैं। यहां एक उदाहरण दिया गया है:
http://www.volynkin.com/prosenum.htm
http://msdn.microsoft.com/en-us/library/ms725506.aspx
संबंधित सवाल
नए सवाल
process
यह टैग ऑपरेटिंग सिस्टम प्रक्रियाओं के बारे में है। यह किसी दिए गए प्लेटफ़ॉर्म पर किसी विशिष्ट निर्माण का उल्लेख भी कर सकता है, उदाहरण के लिए, .NET के लिए System.Diagnostics.Process वर्ग।