Τι είναι ένα αρχείο OST;
Το OST ή τα αρχεία αποθήκευσης εκτός σύνδεσης αντιπροσωπεύουν τα δεδομένα γραμματοκιβωτίου του χρήστη σε λειτουργία εκτός σύνδεσης σε τοπικό μηχάνημα κατά την εγγραφή στον Exchange Server χρησιμοποιώντας το Microsoft Outlook. Δημιουργείται αυτόματα κατά την πρώτη χρήση του Microsoft Outlook κατά τη σύνδεση με διακομιστή. Μόλις δημιουργηθεί το αρχείο, τα δεδομένα συγχρονίζονται με τον διακομιστή email, ώστε να είναι διαθέσιμα και εκτός σύνδεσης σε περίπτωση αποσύνδεσης από τον διακομιστή email. Τα αρχεία OST μπορούν να χρησιμοποιούν στοιχεία γραμματοκιβωτίου, όπως μηνύματα ηλεκτρονικού ταχυδρομείου, επαφές, πληροφορίες ημερολογίου, σημειώσεις, εργασίες και άλλα παρόμοια δεδομένα. Οι χρήστες μπορούν να δημιουργήσουν email και άλλα στοιχεία δεδομένων στο αρχείο OST ακόμη και αν δεν έχουν σύνδεση με τον διακομιστή, αλλά αυτά δεν θα συγχρονιστούν με τον διακομιστή. Μόλις δημιουργηθεί η σύνδεση, το τοπικό αρχείο συγχρονίζεται ξανά με τον διακομιστή, έτσι ώστε τόσο ο διακομιστής όσο και το τοπικό αντίγραφο να βρίσκονται στο ίδιο επίπεδο πληροφοριών.
Μορφή αρχείου OST
Η μορφή αρχείου OST (Πίνακας αποθήκευσης εκτός σύνδεσης) και PST (Personal Storage Table) αποτελείται από τη μορφή αρχείου προσωπικού φακέλου (PFF) που αντιστοιχεί στην αποθήκευση των email, των επαφών και των συναντήσεων του χρήστη. Τα δεδομένα σε ένα αρχείο PFF αποθηκεύονται σε μικρή γλώσσα με όλες τις ημερομηνίες και τις ώρες να αντιπροσωπεύονται ως FILETIME σε UTC. Το [MS-PST] ορίζει δύο τύπους PFF:
- Μορφή ANSI 32-bit
- Μορφή Unicode 64-bit
Η μορφή αρχείου PST προδιαγραφές, όπως διατίθεται από τη Microsoft, ισχύουν επίσης για τη μορφή αρχείου OST ως δωρεάν και αμετάκλητη άδεια χρήσης διπλωμάτων ευρεσιτεχνίας μέσω της υπόσχεσης Open Specification. Αποτελείται από τα ακόλουθα διακριτά στοιχεία:
- Κεφαλίδα φυγής
- Δεδομένα κεφαλίδας αρχείου
- Κόμβος διακλάδωσης ευρετηρίου
- Κόμβος φύλλου ευρετηρίου
- (Αρχείο) ευρετήριο μετατόπισης
- Ευρετήριο περιγραφέα (στοιχείο).
- Τοπικοί περιγραφείς
- Τύπος πίνακα ειδών
Πληροφορίες κεφαλίδας
Η δομή HEADER του αρχείου OST βρίσκεται στην αρχή του αρχείου με μετατόπιση 0. Περιέχει πληροφορίες μεταδεδομένων σχετικά με το αρχείο OST και πληροφορίες ROOT για πρόσβαση στις δομές δεδομένων του επιπέδου NDB που περιγράφονται παραπάνω. Η δομή HEADER διαφέρει για τις εκδόσεις Unicode και ANSI της μορφής αρχείου OST.
Η κεφαλίδα ξεκινά με μια μαγική λέξη 4 byte !BDN που αντιπροσωπεύεται από byte (0x21, 0x42, 0x44, 0x4E). Ένας άλλος μαγικός αριθμός 2 byte, SM (0x53, 0x4D), βρίσκεται στη μετατόπιση 8 από την αρχή του αρχείου. Οι πληροφορίες έκδοσης (ANSI ή Unicode) βρίσκονται σε μετατόπιση 10 από την αρχή του αρχείου. Η τιμή Hex (0x17) καθορίζει το αρχείο Unicode OST ενώ το 0x0E ή το 0x0F αντιπροσωπεύει τη μορφή αρχείου ANSI.
Πεδίο | Περιγραφή |
---|---|
dwMagic (4 byte) | ΠΡΕΠΕΙ να είναι “{ 0x21, 0x42, 0x44, 0x4E } ("!BDN”)" |
dwCRCPpartial (4 byte) | Η τιμή CRC 32-bit των 471 byte δεδομένων ξεκινώντας από το wMagicClient (0ffset 0x0008) |
wMagicClient (2 byte) | ΠΡΕΠΕΙ να είναι “{ 0x53, 0x4D }”. |
wVer (2 byte) | Έκδοση μορφής αρχείου. Αυτή η τιμή ΠΡΕΠΕΙ να είναι 14 ή 15 εάν το αρχείο είναι αρχείο ANSI PST και ΠΡΕΠΕΙ να είναι 23 εάν το αρχείο είναι αρχείο Unicode PST. |
wVerClient (2 byte) | Έκδοση μορφής αρχείου πελάτη. Η έκδοση που αντιστοιχεί στη μορφή που περιγράφεται σε αυτό το έγγραφο είναι 19. Οι δημιουργοί ενός νέου αρχείου PST που βασίζεται σε αυτό το έγγραφο ΠΡΕΠΕΙ να αρχικοποιήσουν αυτήν την τιμή σε 19. |
bPlatformCreate (1 byte) | Αυτή η τιμή ΠΡΕΠΕΙ να οριστεί σε 0x01. |
bPlatformAccess (1 byte) | Αυτή η τιμή ΠΡΕΠΕΙ να οριστεί σε 0x01. |
dwReserved (8 byte) | |
bidUnused (8 byte μόνο Unicode) | Προστέθηκε μη χρησιμοποιημένο padding όταν δημιουργήθηκε η μορφή αρχείου Unicode PST. |
bidNextP (Unicode: 8 byte; ANSI: 4 byte) | BID επόμενης σελίδας. Οι σελίδες διαθέτουν ειδικό μετρητή για την εκχώρηση τιμών bidIndex. Η τιμή του bidIndex για BID για σελίδες εκχωρείται από αυτόν τον μετρητή. |
bidNextB (μόνο 4 byte ANSI): | Επόμενη BID. Αυτή η τιμή είναι ο μονοτονικός μετρητής που υποδεικνύει το BID που θα εκχωρηθεί για το επόμενο εκχωρημένο μπλοκ. Οι τιμές BID προχωρούν σε προσαυξήσεις των 4. Για περισσότερες λεπτομέρειες, δείτε την ενότητα 2.2.2.2. |
dwUnique (4 byte) | Πρόκειται για μια μονότονα αυξανόμενη τιμή που τροποποιείται κάθε φορά που τροποποιείται η δομή HEADER του αρχείου PST. Η λειτουργία αυτής της τιμής είναι να παρέχει μια μοναδική τιμή και να διασφαλίζει ότι τα HEADER CRC είναι διαφορετικά μετά από κάθε τροποποίηση κεφαλίδας. |
rgnid[] (128 byte) | Μια σταθερή συστοιχία 32 NID, το καθένα αντιστοιχεί σε ένα από τα 32 πιθανά NID_TYPE (NID_TYPE, NID_TYPE_NORMAL_FOLDER, NID_TYPE_SEARCH_FOLDER, NID_TYPE_NORMAL_MESSAGE_MESSAGE_MESSAGE,NID_TYPE) |
qwUnused (8 byte) | Χώρος που δεν χρησιμοποιείται; ΠΡΕΠΕΙ να οριστεί στο μηδέν. Μόνο μορφή αρχείου Unicode PST. |
root (Unicode: 72 byte; ANSI: 40 bytes) | Δομή ROOT (ενότητα 2.2.2.5). |
dwAlign (4 byte) | Αχρησιμοποίητα byte ευθυγράμμισης. ΠΡΕΠΕΙ να οριστεί στο μηδέν. Μόνο μορφή αρχείου Unicode PST. |
rgbFM (128 byte) | Καταργήθηκε το FMap. Αυτό δεν χρησιμοποιείται πλέον και ΠΡΕΠΕΙ να συμπληρωθεί με 0xFF. Οι αναγνώστες ΠΡΕΠΕΙ να αγνοούν την τιμή αυτών των byte. |
rgbFP (128 byte) | Καταργήθηκε το FPMap. Αυτό δεν χρησιμοποιείται πλέον και ΠΡΕΠΕΙ να συμπληρωθεί με 0xFF. Οι αναγνώστες ΠΡΕΠΕΙ να αγνοούν την τιμή αυτών των byte. |
bSentinel (1 byte) | ΠΡΕΠΕΙ να οριστεί σε 0x80. |
bCryptMethod (1 byte) | Δηλώνει πώς κωδικοποιούνται τα δεδομένα μέσα στο αρχείο PST. ΠΡΕΠΕΙ να οριστεί σε μία από τις προκαθορισμένες τιμές (NDB_CRYPT_NONE, NDB_CRYPT_PERMUTE, NDB_CRYPT_CYCLIC). |
rgbΔέσμευση (2 byte) | Κατοχυρωμένα; ΠΡΕΠΕΙ να οριστεί στο μηδέν. |
bidNextB (8 byte) | Δηλώνει την επόμενη διαθέσιμη τιμή BID. Μόνο μορφή αρχείου Unicode PST. |
bidNextB (ΜΟΝΟ Unicode: 8 byte) | Επόμενη ΠΡΟΣΦΟΡΑ. Αυτή η τιμή είναι ο μονοτονικός μετρητής που υποδεικνύει το BID που θα εκχωρηθεί για το επόμενο εκχωρημένο μπλοκ. Οι τιμές BID προχωρούν σε προσαυξήσεις των 4. Για περισσότερες λεπτομέρειες, δείτε την ενότητα 2.2.2.2. |
dwCRCFull (4 byte) | Η τιμή CRC 32-bit των 516 byte δεδομένων ξεκινώντας από το wMagicClient έως το bidNextB, συμπεριλαμβανομένου. Μόνο μορφή αρχείου Unicode PST. |
ullReserved (8 byte) | Δεσμευμένο; ΠΡΕΠΕΙ να οριστεί στο μηδέν. Μόνο μορφή αρχείου ANSI PST. |
dwReserved (4 byte) | Δεσμευμένο; ΠΡΕΠΕΙ να οριστεί στο μηδέν. Μόνο μορφή αρχείου ANSI PST. |
rgbReserved2 (3 byte) | |
bΔέσμευση (1 byte) | |
rgbReserved3 (32 byte) |