একটি OST ফাইল কি?
OST বা অফলাইন স্টোরেজ ফাইলগুলি মাইক্রোসফ্ট আউটলুক ব্যবহার করে এক্সচেঞ্জ সার্ভারের সাথে নিবন্ধনের পরে স্থানীয় মেশিনে অফলাইন মোডে ব্যবহারকারীর মেলবক্স ডেটা উপস্থাপন করে। এটি সার্ভারের সাথে সংযোগের পরে Microsoft Outlook এর প্রথম ব্যবহারে স্বয়ংক্রিয়ভাবে তৈরি হয়। ফাইলটি তৈরি হয়ে গেলে, ডেটা ইমেল সার্ভারের সাথে সিঙ্ক্রোনাইজ করা হয় যাতে এটি অফলাইনে পাওয়া যায় এবং ইমেল সার্ভার থেকে সংযোগ বিচ্ছিন্ন হওয়ার ক্ষেত্রেও। OST ফাইলগুলি ব্যবহারকারীর মেলবক্স আইটেম যেমন ইমেল, পরিচিতি, ক্যালেন্ডার তথ্য, নোট, কাজ এবং অন্যান্য অনুরূপ ডেটা ব্যবহার করতে পারে। ব্যবহারকারীরা সার্ভারের সাথে সংযোগের অনুপস্থিতিতেও OST ফাইলে ইমেল এবং অন্যান্য ডেটা আইটেম তৈরি করতে পারে, তবে এগুলি সার্ভারের সাথে সিঙ্ক্রোনাইজ করা হবে না। একবার সংযোগ স্থাপন হয়ে গেলে, স্থানীয় ফাইলটি আবার সার্ভারের সাথে সিঙ্ক্রোনাইজ করা হয় যাতে সার্ভার এবং স্থানীয় অনুলিপি উভয়ই তথ্যের একই স্তরে থাকে।
OST ফাইল ফরম্যাট
The OST (Offline Storage Table) and PST (Personal Storage Table) file format consist of the Personal Folder File (PFF) format that corresponds to storing user’s emails, contacts and appointments. Data in a PFF file is stored in little-endian with all dates and times represented as FILETIME in UTC. [MS-PST] defines two types of PFF:
32-বিট ANSI ফরম্যাট
64-বিট ইউনিকোড ফরম্যাট
PST ফাইল ফরম্যাট specifications, যেমন Microsoft থেকে পাওয়া যায়, OST ফাইল ফরম্যাটে ওপেন স্পেসিফিকেশন প্রতিশ্রুতির মাধ্যমে বিনামূল্যে এবং অপরিবর্তনীয় পেটেন্ট লাইসেন্স হিসাবে প্রযোজ্য। এটি নিম্নলিখিত স্বতন্ত্র উপাদানগুলি নিয়ে গঠিত:
ফ্লে হেডার
ফাইল হেডার ডেটা
সূচক শাখা নোড
সূচী পাতার নোড
(ফাইল) অফসেট সূচক
(আইটেম) বর্ণনাকারী সূচক
স্থানীয় বর্ণনাকারী
আইটেম টেবিলের ধরন
হেডারের তথ্য
OST ফাইলের HEADER স্ট্রাকচার ফাইলের একদম শুরুতে 0 অফসেটে অবস্থিত। এটিতে OST ফাইল সম্পর্কে মেটাডেটা তথ্য এবং উপরে বর্ণিত NDB লেয়ার ডেটা স্ট্রাকচার অ্যাক্সেস করার জন্য রুট তথ্য রয়েছে। OST ফাইল ফরম্যাটের ইউনিকোড এবং ANSI সংস্করণের জন্য HEADER গঠন ভিন্ন।
শিরোনামটি একটি 4-বাইট জাদু শব্দ দিয়ে শুরু হয় !BDN বাইট (0x21, 0x42, 0x44, 0x4E) দ্বারা উপস্থাপিত। আরেকটি 2-বাইট ম্যাজিক নম্বর, SM (0x53, 0x4D), ফাইলের শুরু থেকে অফসেট 8 এ অবস্থিত। সংস্করণ তথ্য (ANSI বা ইউনিকোড) ফাইলের শুরু থেকে 10 এর অফসেটে রয়েছে। হেক্স মান (0x17) ইউনিকোড OST ফাইলকে নির্দিষ্ট করে যখন 0x0E বা 0x0F ANSI ফাইল বিন্যাস উপস্থাপন করে।
ক্ষেত্র | বর্ণনা |
---|---|
dwMagic (4 বাইট) | { 0x21, 0x42, 0x44, 0x4E } (!BDN) হতে হবে |
dwCRCPartial (4 বাইট) | wMagicClient (0ffset 0x0008) থেকে শুরু হওয়া 471 বাইট ডেটার 32-বিট CRC মান |
wMagicClient (2 বাইট) | { 0x53, 0x4D } হতে হবে। |
wVer (2 বাইট) | ফাইল ফরম্যাট সংস্করণ। ফাইলটি একটি ANSI PST ফাইল হলে এই মানটি 14 বা 15 হতে হবে এবং ফাইলটি একটি ইউনিকোড PST ফাইল হলে 23 হতে হবে৷ |
wVerClient (2 bytes) | Client file format version. The version that corresponds to the format described in this document is 19. এই নথির উপর ভিত্তি করে একটি নতুন PST ফাইলের নির্মাতাদের এই মানটি 19-এ শুরু করা উচিত। |
bPlatformCreate (1 বাইট) | এই মানটি 0x01 এ সেট করা আবশ্যক। |
bPlatformAccess (1 বাইট) | এই মানটি 0x01 এ সেট করা আবশ্যক। |
dwReserved (8 বাইট) | |
bidUused (শুধুমাত্র 8 বাইট ইউনিকোড) | ইউনিকোড PST ফাইল বিন্যাস তৈরি করার সময় অব্যবহৃত প্যাডিং যোগ করা হয়েছে। |
bidNextP (ইউনিকোড: 8 বাইট; ANSI: 4 বাইট) | পরবর্তী পৃষ্ঠা বিআইডি। বিড ইনডেক্স মান বরাদ্দ করার জন্য পৃষ্ঠাগুলির একটি বিশেষ কাউন্টার রয়েছে। পৃষ্ঠাগুলির জন্য বিআইডিগুলির জন্য বিডইনডেক্সের মান এই কাউন্টার থেকে বরাদ্দ করা হয়। |
bidNextB (4 bytes ANSI only): | Next BID. This value is the monotonic counter that indicates the BID to be assigned for the next allocated block. BID values advance in increments of 4. আরো বিস্তারিত জানার জন্য, বিভাগ 2.2.2.2 দেখুন। |
dwUnique (4 বাইট) | এটি একটি একঘেয়ে-বর্ধমান মান যা প্রতিবার PST ফাইলের HEADER কাঠামো পরিবর্তন করা হয়। এই মানের কাজটি হল একটি অনন্য মান প্রদান করা এবং প্রতিটি শিরোনাম পরিবর্তনের পরে HEADER CRCগুলি আলাদা তা নিশ্চিত করা। |
rgnid[] (128 বাইট) | 32টি NID-এর একটি নির্দিষ্ট অ্যারে, প্রতিটি সম্ভাব্য 32টি NID_TYPEগুলির একটির সাথে সম্পর্কিত |
qwUnused (8 বাইট) | অব্যবহৃত স্থান; শূন্য সেট করা আবশ্যক. শুধুমাত্র ইউনিকোড PST ফাইল ফরম্যাট। |
রুট (ইউনিকোড: 72 বাইট; ANSI: 40 বাইট) | একটি রুট গঠন (বিভাগ 2.2.2.5)। |
dwAlign (4 বাইট) | অব্যবহৃত প্রান্তিককরণ বাইট; শূন্য সেট করা আবশ্যক. শুধুমাত্র ইউনিকোড PST ফাইল ফরম্যাট। |
rgbFM (128 বাইট) | অপ্রচলিত FMap. এটি আর ব্যবহার করা হয় না এবং 0xFF দিয়ে পূরণ করা আবশ্যক৷ পাঠকদের এই বাইটের মান উপেক্ষা করা উচিত। |
rgbFP (128 বাইট) | অপ্রচলিত FPMap। এটি আর ব্যবহার করা হয় না এবং অবশ্যই 0xFF দিয়ে পূরণ করতে হবে। পাঠকদের এই বাইটের মান উপেক্ষা করা উচিত। |
bSentinel (1 বাইট) | অবশ্যই 0x80 এ সেট করতে হবে। |
bCryptMethod (1 বাইট) | পিএসটি ফাইলের মধ্যে ডেটা কীভাবে এনকোড করা হয় তা নির্দেশ করে। পূর্ব-নির্ধারিত মানগুলির একটিতে সেট করা আবশ্যক (NDB_CRYPT_NONE, NDB_CRYPT_PERMUTE, NDB_CRYPT_CYCLIC)৷ |
rgb সংরক্ষিত (2 বাইট) | সংরক্ষিত; শূন্য সেট করা আবশ্যক. |
bidNextB (8 বাইট) | পরবর্তী উপলব্ধ BID মান নির্দেশ করে। শুধুমাত্র ইউনিকোড PST ফাইল ফরম্যাট। |
bidNextB (Unicode ONLY: 8 bytes) | Next BID. This value is the monotonic counter that indicates the BID to be assigned for the next allocated block. BID values advance in increments of 4. আরো বিস্তারিত জানার জন্য, বিভাগ 2.2.2.2 দেখুন। |
dwCRCFull (4 বাইট) | wMagicClient থেকে শুরু করে bidNextB পর্যন্ত 516 বাইট ডেটার 32-বিট CRC মান, অন্তর্ভুক্ত। শুধুমাত্র ইউনিকোড PST ফাইল ফরম্যাট। |
ullReserved (8 বাইট) | সংরক্ষিত; শূন্য সেট করা আবশ্যক. শুধুমাত্র ANSI PST ফাইল ফরম্যাট। |
dwReserved (4 বাইট) | সংরক্ষিত; শূন্য সেট করা আবশ্যক. শুধুমাত্র ANSI PST ফাইল ফরম্যাট। |
rgbReserved2 (3 বাইট) | |
b সংরক্ষিত (1 বাইট) | |
rgbReserved3 (32 বাইট) |