मैंने विंडोज x64 आर्किटेक्चर पर सुना है, दोनों x86 और x64 एप्लिकेशन को चलाने के लिए समर्थन करने के लिए, विंडोज रजिस्ट्री के दो अलग/अलग सेट हैं - x86 एप्लिकेशन के लिए एक और दूसरा x64 एप्लिकेशन के लिए पहुंच? उदाहरण के लिए, यदि कोई COM रजिस्ट्री के x86 सेट में CLSID पंजीकृत करता है, तो x64 एप्लिकेशन CLSID द्वारा COM घटक तक कभी भी नहीं पहुंच पाएगा, क्योंकि x86/x64 में रजिस्ट्री के अलग-अलग सेट हैं?विंडोज 64-बिट रजिस्ट्री बनाम। 32-बिट रजिस्ट्री
तो, मेरा सवाल यह है कि उपर्युक्त नमूने की मेरी समझ सही है या नहीं? मैं x64 आर्किटेक्चर पर रजिस्ट्री के दो अलग-अलग सेटों के बारे में, इस विषय को जानने के लिए कुछ और दस्तावेज भी प्राप्त करना चाहता हूं। (मैं कुछ खोज किया था, लेकिन किसी भी महत्वपूर्ण जानकारी नहीं मिली।) पहले से
धन्यवाद, जॉर्ज
एक त्वरित प्रश्न, यदि मैं एक COM घटक पंजीकृत करने के लिए regsvr32 का उपयोग कर रहा हूं, तो हम कैसे जानते थे कि हम x86 या x64 रजिस्ट्री के अंतर्गत पंजीकृत हैं या नहीं? मेरा ocnfusion है, यदि x86 रजिस्ट्री के तहत पंजीकृत है, तो x64 एप्लिकेशन COM घटक तक पहुंचने में सक्षम नहीं होगा? – George2
64 बिट मशीन पर regsrv32 के दो संस्करण हैं। एक 64 बिट बाइनरी पंजीकृत करता है और एक Wow6432 नोड में 32 बिट बाइनरी पंजीकृत करता है। यह माइक्रोसॉफ्ट केबी आलेख आपके लिए सहायक हो सकता है: http://support.microsoft.com/kb/282747 –
1. जब हम 32-बिट regsvr32 का उपयोग कर एक नया COM घटक पंजीकृत करते हैं, तो COM घटक x86 के लिए बनाया जाना चाहिए (जब हम 64-बिट regsvr32 का उपयोग कर एक नया COM घटक पंजीकृत करें, COM घटक x64 के लिए बनाया जाना चाहिए) - इसका मतलब है कि हम 64-बिट COM घटक पंजीकृत करने के लिए 32-बिट regsvr32 का उपयोग नहीं कर सकते हैं (या 64-बिट regsvr32 का उपयोग 32-बिट पंजीकृत करने के लिए COM घटक), सही? 2. 64-बिट प्रक्रिया COM CLSID के लिए केवल x64 रजिस्ट्री को प्राप्त कर सकती है, और 32-बिट प्रक्रिया केवल COM CLISD के लिए x86 रजिस्ट्री तक पहुंच सकती है, कोई क्रॉस एक्सेस नहीं। मेरी समझ सही है? – George2