4-12- Reparse Points
یک Reparse Point مجموعه ای از اطلاعات تعریف شده توسط کاربر [1] است که به یک فایل یا پوشه منتسب می شود. معنی این اطلاعات توسط برنامه ای که آن را تولید کرده و صافی سیستم فایل (file system filter) نصب شده مربوطه فهمیده می شود که وظیفه تفسیر آن و پردازش فایل یا پوشه را بر عهده دارد.
وقتی برنامه ای یک reparse point برای فایل یا پوشه قرار می دهد، اطلاعات مذکور را بعلاوه ی یک Reparse Tag (که برای هر کاربُردی، منحصر به فرد است) ذخیره می کند. وقتی سیستم فایل می خواهد این فایل یا پوشه را باز کند، با توجه به این reparse tag به دنبال صافی مناسب برای تفسیر reparse point می گردد. اگر صافی مناسب پیدا شود، برای استفاده از اطلاعاتِ درون فایل، محتوی فایل ابتدا از صافی عبور داده می شود که آن را با توجه به اطلاعاتی که در reparse point ذخیره شده پردازش کند [2]. اگر صافی مناسب پیدا نشود، سیستم فایل از باز کردن فایل یا پوشه سر باز می زند.
ویژگی reparse point در حقیقت روشی برای توسعه ی قابلیت های بخش I/O (ورودی/خروجی) سیستم است چنانکه reparse point ها برای پیاده سازی برخی ویژگی های سیستم نظیر موارد ذیل بکار رفته اند:
- نقاط انشعاب (در بخش پیوندهای سخت و نقاط انشعاب (Hard Links and Junctions))
- دروازه ها (در بخش پوشه ها دروازه هایی برای سایر درایوها (Directories as Volume Mount Points))
- Removable Storage Management (RSM)
- Remote Storage (سرویسی که برای انتقال فایل های کم کاربرد به منابع ذخیره دراز مدت (long term storage) نظیر نوار (tape) یا CD تنظیم می شود.)
- سیستم فایل رمزشده (در بخش رمزنگاری فایل ها (Encryption))
- فقط پوشه های خالی می توانند reparse point بگیرند.
برای آگاهی از نحوه ی حذف کردن یا پرسش درباره ی reparse point ها به راهنمای ویندوز (برنامه fsutil.exe بخش reparsepoint) مراجعه کنید.
نیز مراجعه کنید به بخش های:
- پیوندهای سخت و نقاط انشعاب (Hard Links and Junctions)
- پوشه ها دروازه هایی برای سایر درایوها (Directories as Volume Mount Points)
- رمزنگاری فایل ها (Encryption)
[1] user-defined data:
این اطلاعات لزوما توسط خود کاربر بطور مستقیم تولید نشده بلکه منظور، اطلاعاتی است که توسط هرچیزی به جز سیستم (یعنی برنامه های کاربردی، کاربران و ...) تعریف شده است.
[2] صافی بسته به هدف تعیین شده اش می تواند اطلاعات را تغییر دهد یا دست نخورده بگذارد؛ سیستم فایل را به جای دیگری هدایت (redirect) کند؛ یا هر کار دیگری انجام دهد.

