Erlang 21

win32reg




erlang

win32reg

मॉड्यूल

win32reg

मॉड्यूल सारांश

विंडोज पर रजिस्ट्री तक पहुंच प्रदान करता है।

विवरण

यह मॉड्यूल विंडोज पर रजिस्ट्री तक पहुंच को पढ़ने और लिखने की सुविधा प्रदान करता है। यह अनिवार्य रूप से एक पोर्ट ड्राइवर है जो रजिस्ट्री तक पहुंचने के लिए Win32 एपीआई कॉल के चारों ओर लिपटा है।

रजिस्ट्री एक पदानुक्रमित डेटाबेस है, जिसका उपयोग विंडोज में विभिन्न सिस्टम और सॉफ़्टवेयर जानकारी को संग्रहीत करने के लिए किया जाता है। इसमें इंस्टॉलेशन डेटा शामिल है, और इंस्टॉलर और सिस्टम प्रोग्राम द्वारा अपडेट किया जाता है। एर्लैंग इंस्टॉलर उस डेटा को जोड़कर रजिस्ट्री को अपडेट करता है जिसकी एर्लैंग को जरूरत है।

रजिस्ट्री में कुंजियाँ और मान सम्‍मिलित हैं। कुंजी एक फ़ाइल सिस्टम में निर्देशिकाओं की तरह हैं, वे एक पदानुक्रम बनाते हैं। मान फ़ाइलों की तरह हैं, उनका एक नाम और एक मूल्य है, और एक प्रकार भी है।

कुंजियों के पथ को दाईं ओर छोड़ दिया जाता है, उपकुंजियों के साथ दाएं और कुंजियों के बीच पीछे। (याद रखें कि एर्लांग स्ट्रिंग्स में बैकस्लैश दोगुना होना चाहिए।) मामला संरक्षित है लेकिन महत्वपूर्ण नहीं है।

उदाहरण के लिए, "\\hkey_local_machine\\software\\Ericsson\\Erlang\\5.0" नवीनतम Erlang रिलीज के लिए स्थापना डेटा के लिए महत्वपूर्ण है।

विंडोज रजिस्ट्री में छह प्रवेश बिंदु हैं, शीर्ष-स्तर की चाबियाँ। उन्हें इस मॉड्यूल में संक्षिप्त किया जा सकता है:

Abbreviation     Registry key
============     ============
hkcr             HKEY_CLASSES_ROOT
current_user     HKEY_CURRENT_USER
hkcu             HKEY_CURRENT_USER
local_machine    HKEY_LOCAL_MACHINE
hklm             HKEY_LOCAL_MACHINE
users            HKEY_USERS
hku              HKEY_USERS
current_config   HKEY_CURRENT_CONFIG
hkcc             HKEY_CURRENT_CONFIG
dyn_data         HKEY_DYN_DATA
hkdd             HKEY_DYN_DATA

उपरोक्त कुंजी को "\\hklm\\software\\ericsson\\erlang\\5.0" रूप में लिखा जा सकता है।

यह मॉड्यूल वर्तमान कुंजी का उपयोग करता है। यह वर्तमान निर्देशिका की तरह बहुत काम करता है। वर्तमान कुंजी से, मूल्यों को प्राप्त किया जा सकता है, उपकुंजियों को सूचीबद्ध किया जा सकता है, और इसी तरह।

एक कुंजी के तहत, नामित मूल्यों की किसी भी संख्या को संग्रहीत किया जा सकता है। उनके नाम, प्रकार और डेटा हैं।

win32reg निम्नलिखित प्रकारों के भंडारण का समर्थन करता है:

  • REG_DWORD , जो एक पूर्णांक है
  • REG_SZ , जो एक स्ट्रिंग है
  • REG_BINARY , जो एक बाइनरी है

अन्य प्रकारों को पढ़ा जा सकता है, और उन्हें बायनेरिज़ के रूप में लौटाया जाता है।

एक "डिफ़ॉल्ट" मान भी है, जिसमें नाम के रूप में खाली स्ट्रिंग है। यह नाम के बजाय परमाणु default साथ पढ़ा और लिखा गया है।

कुछ रजिस्ट्री मान पर्यावरण चर के संदर्भ के साथ तार के रूप में संग्रहीत किए जाते हैं, उदाहरण के लिए, %SystemRoot%Windows SystemRoot एक पर्यावरण चर है, और इसके मूल्य के साथ प्रतिस्थापित किया जाना है। फ़ंक्शन expand/1 प्रदान किया जाता है ताकि % घिरे पर्यावरण चर को उनके मूल्यों तक विस्तारित किया जा सके।

विंडोज रजिस्ट्री पर अधिक जानकारी के लिए, Win32 प्रोग्रामर के संदर्भ से परामर्श करें।

जानकारी का प्रकार

reg_handle()

के रूप में open/1 द्वारा लौट आए।

name() = string() | default
value() = string() | integer() | binary()

निर्यात

change_key (RegHandle, कुंजी) -> ReturnValue

प्रकार

वर्तमान कुंजी को दूसरी कुंजी में बदलता है। cd तरह काम करता है। कुंजी को रिश्तेदार पथ के रूप में या निरपेक्ष पथ के रूप में निर्दिष्ट किया जा सकता है, \. साथ शुरू होता है \.

change_key_create (RegHandle, Key) -> रिटर्नवैल्यू

प्रकार

एक कुंजी बनाता है, या बस इसे बदल देता है, अगर यह पहले से ही है। mkdir और cd संयोजन की तरह काम करता है। Win32 API फ़ंक्शन RegCreateKeyEx() कॉल करता है।

रजिस्ट्री को लिखित मोड में खोला जाना चाहिए था।

करीब (RegHandle) -> ठीक है

प्रकार

रजिस्ट्री बंद कर देता है। उसके बाद, RegHandle उपयोग नहीं किया जा सकता है।

current_key (RegHandle) -> रिटर्नवैल्यू

प्रकार

वर्तमान कुंजी के लिए पथ देता है। यह pwd के बराबर है।

ध्यान दें कि ड्राइवर में वर्तमान कुंजी संग्रहीत है, और अमान्य हो सकता है (उदाहरण के लिए, यदि कुंजी हटा दी गई है)।

delete_key (RegHandle) -> रिटर्नवैल्यू

प्रकार

वर्तमान कुंजी को हटाता है, यदि यह मान्य है। Win32 API फ़ंक्शन RegDeleteKey() कॉल करता है। ध्यान दें कि यह कॉल वर्तमान कुंजी को नहीं बदलती ( change_key_create/2 विपरीत)। इसका मतलब है कि कॉल के बाद, वर्तमान कुंजी अमान्य है।

delete_value (RegHandle, नाम) -> रिटर्नवैल्यू

प्रकार

वर्तमान कुंजी पर एक नामित मान हटाता है। परमाणु default का उपयोग डिफ़ॉल्ट मान के लिए किया जाता है।

रजिस्ट्री को लिखित मोड में खोला जाना चाहिए था।

Expand (स्ट्रिंग) -> ExpandedString

प्रकार

प्रतिशत वर्णों के बीच परिवेश चर युक्त स्ट्रिंग का विस्तार करता है। दो % बीच कुछ भी एक पर्यावरण चर के लिए लिया जाता है, और मूल्य द्वारा प्रतिस्थापित किया जाता है। दो लगातार % को एक % बदल दिया जाता है।

एक चर नाम जो वातावरण में नहीं होता है एक त्रुटि होती है।

format_error (ErrorId) -> ErrorString

प्रकार

एक स्ट्रिंग के लिए एक POSIX त्रुटि कोड देता है ( erl_posix_msg:message/1 कॉल erl_posix_msg:message/1 )।

open (ओपनमॉडलिस्ट) -> रिटर्नवैल्यू

प्रकार

पढ़ने या लिखने के लिए रजिस्ट्री खोलता है। वर्तमान कुंजी रूट ( HKEY_CLASSES_ROOT ) है। मोड सूची में read गया ध्वज छोड़ा जा सकता है।

open/1 बाद एक पूर्ण पथ के साथ change_key/2 उपयोग करें।

set_value (RegHandle, नाम, मान) -> ReturnValue

प्रकार

मूल्य के लिए नामित (या डिफ़ॉल्ट) मान सेट करता है। Win32 API फ़ंक्शन RegSetValueEx() कॉल करता है। मान तीन प्रकार का हो सकता है, और संबंधित रजिस्ट्री प्रकार का उपयोग किया जाता है। समर्थित प्रकार निम्नलिखित हैं:

  • पूर्णांक के लिए REG_DWORD
  • स्ट्रिंग के लिए REG_SZ
  • बायनेरिज़ के लिए REG_BINARY

अन्य प्रकारों को जोड़ा या बदला नहीं जा सकता है।

रजिस्ट्री को लिखित मोड में खोला जाना चाहिए था।

sub_keys (RegHandle) -> रिटर्नवैल्यू

प्रकार

वर्तमान कुंजी के लिए उपकुंजियों की एक सूची देता है। Win32 API फ़ंक्शन EnumRegKeysEx() कॉल करता है।

इसे रूट कीज़ पर कॉल करने से बचें, क्योंकि यह धीमा हो सकता है।

मान (RegHandle, नाम) -> ReturnValue

प्रकार

वर्तमान कुंजी पर नामित मान (या डिफ़ॉल्ट) को पुनर्प्राप्त करता है। REG_SZ प्रकार के रजिस्ट्री मान स्ट्रिंग के रूप में दिए गए हैं। प्रकार REG_DWORD मान पूर्णांक के रूप में दिए गए हैं। अन्य सभी प्रकार को बायनेरिज़ के रूप में लौटाया जाता है।

मान (RegHandle) -> रिटर्नवैल्यू

प्रकार

वर्तमान कुंजी पर सभी मानों की एक सूची प्राप्त करता है। मान में रजिस्ट्री प्रकार के प्रकार होते हैं, value/2 । Win32 API फ़ंक्शन EnumRegValuesEx() कॉल करता है।

यह भी देखें

erl_posix_msg , Windows 95 रजिस्ट्री (ओ'रिली से पुस्तक), Win32 प्रोग्रामर का संदर्भ (Microsoft से)