ك درخت را در نظر بگيريد كه از ريشه – تنه – شاخه – برگ – گل – … تشكيل شده است يعني از اگر از ريشه شروع كنيم و همين طور جلو بريم به برگها يا گلها ميرسيم ، ريجستري در ويندوز هم يك ساختار درختي دارد ، البته در نگاه اول ممكنه براي شما عجيب و غير قابل فهم باشد ،اما windows Explorer را در ويندوز در نظر بگيريد كه از My Computer شروع شده بعد به درايوها ميرسيم بعد شاخه ها يعد زير شاخه ها …. تا نهايتا به فايلها ميرسيم ساختار ريجستري نيزدقيقا چنين ساختاري را دارد.
هر شاخه اصلي با آيكون Folder نمايش داده مي شود كه به آنها اصطلاحا Hive نيز گفته مي شود. هر شاخه خود مي تواند شامل زير شاخه هايي باشد تا نهايتا به متغيرها يا مقادير برسند. در متغيرها است كه اطلاعات واقعي رجيستري ذخيره مي شود.
در رجيستري سه نوع متغير وجود دارد كه عبارتند از :String , Binary , Dword كه هر كدام از آنها در شرايط خاصي قابل استفاده مي باشد. به طور شش شاخه اصلي در رجيستري وجود دارند كه هر كدام بخشي از اطلاعات ذخيره شده در رجيستري را نگهداري مي كنند كه در اينجا اشاره اي كوتاه بر هر كدام داريم:
HKEY_CURRENT_USER: اين شاخه به بخشي از اطلاعات شاخه HKEY_USERS اشاره مي كند كه در آن خصوصيات و اطلاعات كاربر فعلي از قبيل نام كاربر، تنظيمات ميز كاري (Desktop) ، تنظيمات منوي شروع (Startmenu) و … در سيستم نگهداري مي شود.
HKEY_CLASS_ROOT: اين شاخه شامل اطلاعاتي از قبيل :نگاشت پيوستگي فايلها براي پشتيباني از ويژگي كشيدن و رها كردن (Drag-and-Drop) ، اطلاعات OLE ، ميانبرهاي ويندوز(Shortcuts) ، و هسته اصلي واسط كاربري ويندوز (User Interface) ميباشد.
HKEY_LOCAL_MACHINE: اين شاخه شامل اطلاعاتي در مورد خصوصيات سيستم كامپيوتر از قبيل سخت افزار ، نرم افزار و ديگر مشخصه هاي كامپيوتر مي باشد، كه ان اطلاعات براي تمام كاربراني كه از سيستم استفاده مي كنند يكسان مي باشد.
HKEY_USERS: اين شاخه محتواي اطلاعات انتخابات و تنظيمات مربوط به هر كاربر مي باشد.هر كاربر يك SID در اين شاخه دارد .
HKEY_CURRENT_CONFIG: اين شاخه نيز به شاخه LOCAL_MACHINE اشاره ميكند و در ارتباط ميباشد و شامل پيكربندي سخت افزار سيستم مي باشد.
HKEY_DYN_DATA: اين شاخه نيز به شاخه HKEY_LOCAL_MACHINE اشاره مي كند و براي استفاده از خاصيت PLUG & PLAY در ويندوز مي باشد . اين بخش پويا مي باشد يعني بر اساس هر وسيله يا دستگاه جانبي كه به سيستم متصل مي شود تغيير مي كند.
پنج نوع متغير نيز وجود دارد كه هر كدام در زير شرح داده شده اند:
REG_BINARY : اين نوع متغير داده نوع باينري خام را ذخيره مي كند.اكثرا اطلاعات سخت افزار و اجزاء در اين نوع متغير ذخيره مي شود و همچنين در ويرايشگر رجيستري ويندوز قابليت نمايش اين نوع متغير به صورت هگزا دسيمال نيز وجود دارد.
REG_DWORD : اين نوع متغير براي نمايش داده هاي 4 بايتي و همچنين براي ذخيره كردن مقادير منطقي درست يا غلط(TRUE OR FALSE) به كار ميروند.بدين ترتيب كه براي نمايش غلط ار عدد “0” و براي نمايش درست از “1” استفاده ميشود . علاوه بر اين براي نگهداري پارامترهاي گرداننده ددستگاهها و سرويس دهنده ها از اسن نوع پارامتر لستفاده مي كنند.و در REGEDT32 قابليت نمايش به صورت باينري ،هگزا و دسيمال را دارد.
REG_EXPAND_SZ : اين يك نوع متغيررشته اي فابل گسترش مي باشد كه نرم افزار ها جهت بعضي اعمال خود از اين متغير استفاده مي كنند.براي مثال در ويندوز 2000 ياNT به جاي عبارت %SYSTEM ROOT% با مقدار واقعي خود يعني مسير نصب ويندوز (مثلا C:WINDOWS) جايگزين مي شود. بايد توجه داشته باشيد كه اين نوع متغير فقط در ويرايشگرهاي پيشرفته رجيستري از قبيل REGEDT32 قابل استفاده است.
REG_MULTI_SZ : اين نوع متغير رشته اي چند گانه مي باشد كه براي مقاديري كه شامل يك ليست يا چندين مقدار ميباشد به كار مي رود كه هر مقدار با كاراكتر NULL از بقيه جدا مي شود. بايد توجه داشته باشيد كه اين نوع متغير فقط در ويرايشگرهاي پيشرفته رجيستري از قبيل REGEDT32 قابل استفاده است.
REG_SZ : اين نوع متغير رشته اي استاندارد مي باشد كه براي ذخيره كردن متن قابل خواندن توسط كاربر استفاده مي شود.
انواع ديگر نوع داده كه در ويرايشگرهاي استاندارد قابل استفاده نيستند عبارتند از :
REG_DWORD_LITTLE_ENDIAN : كه يك عدد 32 بيتي از نوع LITTLE_ENDIAN را مي توانند در خود ذخيره كنند.
REG_DWORD_BIG_ENDIAN : كه يك عدد 32 بيتي از نوع BIG_ENDIAN را مي توانند در خود ذخيره كنند.
REG_LINK : كه يك پيوند نماد ين يونيكد مي باشد و به طور داخلي استفاده ميشود و نرم افزارها قادر به استفاده كردن از آن نمي باشند.
REG_NONE : كه نوع خاصي براي آن تعريف نشده است.
REG_QWORD : اين نوع متغير مي تواند يك عدد 64 بيتي را در خود ذخيره كند.
REG_QWORD_LITTLE_ENDIAN : اين نوع متغير نيز مي تواند يك عدد 64 بيتي با فرمت LITTLE_ENDIAN را در خود ذخيره كند .
REG_RESOURCE_LIST : ليست منبع گرداننده هاي دستگاه ها مي باشد