aspose.info
PL

OST — format pliku pamięci programu Outlook

Zaktualizowano

Co to jest plik OST?

Pliki OST lub Offline Storage reprezentują dane skrzynki pocztowej użytkownika w trybie offline na komputerze lokalnym po rejestracji na serwerze Exchange przy użyciu programu Microsoft Outlook. Jest tworzony automatycznie przy pierwszym użyciu programu Microsoft Outlook po nawiązaniu połączenia z serwerem. Po utworzeniu pliku dane są synchronizowane z serwerem pocztowym, dzięki czemu są dostępne również w trybie offline w przypadku rozłączenia z serwerem pocztowym. Pliki OST mogą zawierać elementy skrzynki pocztowej użytkownika, takie jak e-maile, kontakty, informacje z kalendarza, notatki, zadania i inne podobne dane. Użytkownicy mogą tworzyć wiadomości e-mail i inne elementy danych w pliku OST nawet w przypadku braku połączenia z serwerem, ale nie będą one synchronizowane z serwerem. Po nawiązaniu połączenia plik lokalny jest ponownie synchronizowany z serwerem, dzięki czemu zarówno serwer, jak i kopia lokalna mają ten sam poziom informacji.

Format pliku OST

Format plików OST (Offline Storage Table) i PST (Personal Storage Table) składa się z formatu pliku folderów osobistych (PFF), który odpowiada przechowywaniu wiadomości e-mail, kontaktów i spotkań użytkownika. Dane w pliku PFF są przechowywane w little-endian, a wszystkie daty i godziny są reprezentowane jako FILETIME w UTC. [MS-PST] definiuje dwa typy PFF:

  • 32-bitowy format ANSI
  • 64-bitowy format Unicode

Format pliku PST specyfikacje, udostępniony przez firmę Microsoft, ma również zastosowanie do formatu pliku OST jako bezpłatny i nieodwołalne licencjonowanie patentów w ramach Obietnicy Otwartej Specyfikacji. Składa się z następujących wyróżniających się elementów:

  • Uciekaj nagłówek
  • Dane nagłówka pliku
  • Węzeł gałęzi indeksu
  • Węzeł liścia indeksu
  • (Plik) indeks przesunięcia
  • (Pozycja) indeks deskryptora
  • Lokalne deskryptory
  • Typ tabeli pozycji

Informacje nagłówka

Struktura HEADER pliku OST znajduje się na samym początku pliku z przesunięciem 0. Zawiera metadane dotyczące pliku OST i informacje ROOT umożliwiające dostęp do opisanych powyżej struktur danych warstwy NDB. Struktura HEADER różni się dla wersji Unicode i ANSI formatu plików OST.

Nagłówek zaczyna się od 4-bajtowego magicznego słowa !BDN reprezentowanego przez bajty (0x21, 0x42, 0x44, 0x4E). Kolejna 2-bajtowa magiczna liczba, SM (0x53, 0x4D), znajduje się na przesunięciu 8 od początku pliku. Informacje o wersji (ANSI lub Unicode) są przesunięte o 10 od początku pliku. Wartość szesnastkowa (0x17) określa plik Unicode OST, podczas gdy 0x0E lub 0x0F reprezentuje format pliku ANSI.

PoleOpis
dwMagic (4 bajty)MUSI być “{ 0x21, 0x42, 0x44, 0x4E } ("!BDN”)"
dwCRCPartial (4 bajty)32-bitowa wartość CRC 471 bajtów danych, począwszy od wMagicClient (0ffset 0x0008)
wMagicClient (2 bajty)MUSI mieć wartość „{ 0x53, 0x4D }”.
wVer (2 bajty)Wersja formatu pliku. Ta wartość MUSI wynosić 14 lub 15, jeśli plik jest plikiem ANSI PST, i MUSI wynosić 23, jeśli plik jest plikiem PST Unicode.
wVerClient (2 bajty)Wersja formatu pliku klienta. Wersja odpowiadająca formatowi opisanemu w tym dokumencie to 19. Twórcy nowego pliku PST opartego na tym dokumencie POWINNI zainicjować tę wartość na 19.
bPlatformCreate (1 bajt)Ta wartość MUSI być ustawiona na 0x01.
bPlatformAccess (1 bajt)Ta wartość MUSI być ustawiona na 0x01.
dwReserved (8 bajtów)
bidUnused (tylko 8 bajtów Unicode)Nieużywane wypełnienie dodane podczas tworzenia formatu pliku PST Unicode.
bidNextP (Unicode: 8 bajtów; ANSI: 4 bajty)Następna strona BID. Strony mają specjalny licznik do przydzielania wartości bidIndex. Z tego licznika przydzielana jest wartość bidIndex dla BID-ów dla stron.
bidNextB (tylko 4 bajty ANSI):Następny BID. Ta wartość jest licznikiem monotonicznym, który wskazuje BID do przypisania dla następnego przydzielonego bloku. Wartości BID zwiększają się o 4. Więcej informacji znajduje się w sekcji 2.2.2.2.
dwUnique (4 bajty)Jest to monotonicznie rosnąca wartość, która jest modyfikowana za każdym razem, gdy modyfikowana jest struktura HEADER pliku PST. Funkcją tej wartości jest zapewnienie unikalnej wartości i zapewnienie, że CRC HEADER będą różne po każdej modyfikacji nagłówka.
rgnid[] (128 bajtów)Stała tablica 32 identyfikatorów NID, z których każdy odpowiada jednemu z 32 możliwych typów NID_TYPE (NID_TYPE, NID_TYPE_NORMAL_FOLDER, NID_TYPE_SEARCH_FOLDER, NID_TYPE_NORMAL_MESSAGE, NID_TYPE_ASSOC_MESSAGE)
qwNiewykorzystane (8 bajtów)Niewykorzystane miejsce; MUSI być ustawiony na zero. Tylko format pliku PST Unicode.
root (Unicode: 72 bajty; ANSI: 40 bajtów)Struktura ROOT (sekcja 2.2.2.5).
dwAlign (4 bajty)Niewykorzystane bajty wyrównania; MUSI być ustawiony na zero. Tylko format pliku PST Unicode.
rgbFM (128 bajtów)Przestarzały FMap. To nie jest już używane i MUSI być wypełnione 0xFF. Czytelnicy POWINNI ignorować wartość tych bajtów.
rgbFP (128 bajtów)Przestarzała mapa FP. To nie jest już używane i MUSI być wypełnione 0xFF. Czytelnicy POWINNI ignorować wartość tych bajtów.
bSentinel (1 bajt)MUSI być ustawiony na 0x80.
bCryptMethod (1 bajt)Wskazuje sposób kodowania danych w pliku PST. MUSI być ustawiona na jedną z predefiniowanych wartości (NDB_CRYPT_NONE, NDB_CRYPT_PERMUTE, NDB_CRYPT_CYCLIC).
rgbZarezerwowane (2 bajty)Skryty; MUSI być ustawiony na zero.
bidNextB (8 bajtów)Wskazuje następną dostępną wartość BID. Tylko format pliku PST Unicode.
bidNextB (TYLKO Unicode: 8 bajtów)Następna BID. Ta wartość jest licznikiem monotonicznym, który wskazuje BID do przypisania dla następnego przydzielonego bloku. Wartości BID zwiększają się o 4. Więcej informacji znajduje się w sekcji 2.2.2.2.
dwCRCFull (4 bajty)32-bitowa wartość CRC 516 bajtów danych, począwszy od wMagicClient do bidNextB włącznie. Tylko format pliku PST Unicode.
ullZarezerwowany (8 bajtów)Zarezerwowany; MUSI być ustawiony na zero. Tylko format pliku ANSI PST.
dwZarezerwowane (4 bajty)Zarezerwowane; MUSI być ustawiony na zero. Tylko format pliku ANSI PST.
rgbReserved2 (3 bajty)
bZarezerwowane (1 bajt)
rgbReserved3 (32 bajty)

Bibliografia