انواع داده ها در رجیستری ویندوز
بخش رجسیتری ویندوز، مثل قلب ویندوز است. اطلاعات مهم و حیاتی و تنظیمات مربوط به نحوه کارکرد نرم افزارها و سخت افزارها، در رجیستری ذخیره میشوند.
اگر با ویرایشگر رجیستری ویندوز کار کرده باشید، یا حداقل یک بار آن را باز کرده باشید، حتما دیده اید که اطلاعات در رجیستری به صورت رشته های متنی ذخیره می شوند.
این رشته های متنی دارای فرمت های مختلفی هستند. که ما در اینجا، به آنها "انواع داده ها" می گوییم.
(ویرایشگر رجسیتری با اجرای فرمان regedit از طریق پنجره Run قابل دسترسی است)
انواع داده های رجیستری عبارتند از:
• REG_SZ :
واژه SZ به معنای رشته ای است که به صفر (تهی) ختم میشود. این رشته، رشته ای با طول متغیر است که علاوه بر کاراکترهای اسکی می تواند حاوی یونیکد باشد.
وقتی یک مقدار REG-SZ را وارد کنید یا تغییر دهید، ویراستار رجیستری در انتهای آن بایت 00 را قرار می دهد. با نگاهی سریع به REG_SZ متوجه میشوید که REG_SZ یکی از متداولترین نوع داده ای است که برای داده های عددی و متنی به کار میرود. برای مثال مسیر HKCU/Control Panel/Desktop را ببینید. مقادیر پیش فرض اغلب کلیدها از نوع REG_SZ است.
• REG_MULTI_SZ :
این نوع داده شامل گروهی از رشته هایی است که به صفر ختم شده اند و به یک مقدار نسبت داده شده اند.
• REG_EXPAND_SZ :
این نوع داده، رشته ای است که به صفر ختم شده است و حاوی متغیر محیطی مثل %SystemRoot% است. اگر لازم است کلیدی ایجاد کنید که حاوی نام متغیر باشد، از این نوع داده ای استفاده کنید و نه از نوع REG_SZ .
• REG_BINARY :
این نوع داده حاوی مقادیر دودویی (0و1) است. (باینری)
• REG_DWORD :
این نوع داده، یک کلمه مضاعف (مقدار عددی 32 بیتی) است. گرچه می تواند مقادیر 0 تا 232 را نگهداری کند، اما رجیستری از آن برای مقادیر بولین ساده (0 یا 1) نیز استفاده میکند. علتش این است که رجیستری فاقد نوع بولین است.
• REG_LINK :
این نوع داده به بخش دیگری از رجیستری اشاره می کند. به عنوان مثال، کلید ریشه HKCU متشکل از REG_LINK هایی به داده خاصی است که زیر شاخه HKU قرار دارند.
وقتی کاربری وارد سیستم میشود، HKCU طوری نگاشت میشود که به اطلاعات خاصی در HKU اشاره کند. در ویراستار رجیستری نمی توانید مقادیر REG_LINK را ایجاد کنید و این کار فقط از طریق واسط برنامه نویسی رجیستری (API) امکان پذیر است.
• REG_NONE :
این نوع داده در شرایط غیرمعمول مورد استفاده قرار می گیرد که وجود یا عدم وجود یک مقدار، ارزشمند است ولی مقدار داده مهم نیست.
• REG_FULL_RESOURCE_DESCRIPTOR
• REG_RESOURCE_LIST
• REG_RESOURCE_REQUIREMENTS_LIST
این سه نوع داده، اطلاعاتی راجع به منابع مورد استفاده یا مورد نیاز قطعات مختلف سیستم فراهم میکنند.