ساختار رجیستری
هر شاخه اصلی ( که با یک آیکون پوشه از بقیه مجزا شده است ) کندو (Hive) نامیده می شود و هر کندو نیز دربردارنده کلید هاست (Keys) . هر کلید شامل کلید های دیگر ( گاهی اوقات نیز خود آنها دارای زیر کلیدهای دیگری است ) و به همین ترتیب آن هم شامل مقادیر دیگری است.مقادیر در بردارنده اطلاعات حقیقی است که در رجیستری باقی می ماند. بسته به نوع مفاهیمی که مورد استفاده قرار می گیرند ، سه نوع مقدار وجود دارد : String, Binary وDWORD
6 شاخه اصلی که بخش های مختلف اطلاعات را در رجیستری ذخیره می کنند عبارتند از :
HKEY_CLASSES_ROOT :این شاخه شامل تمام فایل نقشه برداری ضمیمه سازی برای پشتیبانی از ویژگی کشیدن و رها کردن(drag-and-drop) ، اطلاعات مربوط بهOLE، کلیدهای میانبر ویندوز و هر جزء اصلی مربوط به رابط های کاربری ویندوز را در خود جای داده است .
HKEY_CURRENT_USER: این شاخه به بخشی ازHKEY_USERS مربوط به کاربری که در سیستمLogin کرده است لینک شده و پیوند برقرار می کند و دربردارنده اطلاعاتی همانند نام های Logon، تنظیمات مربوط بهDesktopو نیز تنظیماتStart menuمی باشد.
HKEY_LOCAL_MACHINE :این شاخه دربردارنده اطلاعات خاص کامپیوتر درباره نوع قطعات سخت افزاری ، نرم افزاری است که برای تمامی کاربرانی که در آن سیستمLoginنمایند مورد استفاده قرار می گیرد.
HKEY_USERS : این شاخه شامل تنظیمات منحصر به فرد ای است که برای هر یک از کاربران مورد استفاده قرار می گیرد و از کاربری به کاربر دیگر متفاوت است. هر کاربر نیز با یک رابط جانبی همانندs-1-5-18از بقیه جدا می شود.
HKEY_CURRENT_CONFIG :این شاخه به بخشی ازHKEY_LOCAL_MACHINE که مربوط به ساختار بندی سخت افزار هاست لینک می شود .
هر مقدار رجیستری به یکی از 5 حالت زیر ذخیره می شود:
REG_BINARY :در این شیوه مقادیر بصورت ردیف داده های باینری ذخیره می شوند. اغلب اطلاعات اجزاء سخت افزار ها بصورت داده های باینری ذخیره شده و در یک ویرایشگر بصورت قالب بندیhexadecimal دیده می شوند.
REG_DWORD :این حالت برای داده های 4 بایتی که معمولا مقادیر boolean، همانند "0" برای غیر فعال کردن و "1" برای فعال کردن . از دیگر موارد این حالات راه انداز دستگاه و سرویس هایی از این نوع هستند . و در REGEDT32 با قالب بندی های binary،hexadecimal وdecimal و در REGEDIT نیز در قالب بندی های hexadecimalو decimal نشان داده می شوند .
REG_EXPAND_SZ : این حالت رشته داده ای قابل توسعه ای هستند و بصورت رشته ای شامل یک متغیر است که در هنگام فراخوانی توسط یک برنامه کاربردی جایگزین آن می شوند برای مثال ، در مقادیر زیر :
رشته "%SystemRoot%" با موقعیت واقعی دایرکتوری که دربردارنده فایل های سیستمیWindows NT است ، جایگزین می شود.
REG_MULTI_SZ : این حالت درواقع بصورت چند رشته ای است و برای نمایش مقادیری که دربردارنده لیست ها و یا مقادیر چند تایی هستند بکار می رود، و هر عضو بوسیله یک کاراکترNULL از بقیه جدا می شود .البته این حالت از مقادیر تنها در موارد پیشرفته رجیستری همانند REGEDT32 مورد استفاده قرار می گیرد.
REG_SZ : این حالت نیز یک رشته استاندارد است که برای نمایش مقادیر متنی است که برای خواندن و استفاده افراد بکار می رود.
مواردی از حالات داده ها که بوسیله ویرایشگر های استاندارد رجیستری در دسترس نیستند عبارتند از :
REG_DWORD_LITTLE_ENDIAN
REG_DWORD_BIG_ENDIAN
REG_LINK
REG_NONE
REG_QWORD
REG_QWORD_LITTLE_ENDIAN
REG_RESOURCE_LIST