Sdílet prostřednictvím


Trvalá rozhraní objektů

Trvalý objekt implementuje jedno nebo více trvalých rozhraní objektů. Klienti používají trvalá rozhraní objektů k tomu, aby těmto objektům řekli, kdy a kde mají být jejich stav uloženy. Všechna trvalá rozhraní objektu jsou odvozena z IPersist, takže jakýkoli objekt, který implementuje jakékoli trvalé rozhraní objektu také implementuje IPersist.

Aktuálně jsou definována následující trvalá rozhraní objektu:

Implementátory zvolí, která trvalá rozhraní objektů objekt podporuje, v závislosti na způsobu použití objektu. Díky tomu, že nepodporuje žádná trvalá rozhraní objektů, implementátor v podstatě říká: "Stav tohoto objektu nemůže být trvale uložen." Díky podpoře jednoho nebo více trvalých rozhraní objektu implementátor efektivně říká: "Stav tohoto objektu může být trvale uložen v jednom nebo více médiu úložiště dat.".

Následující tabulka například uvádí několik typů objektů, které umožňují podporu pro různá trvalá rozhraní objektů.

Kategorie Trvalá rozhraní objektů se obvykle podporují.
Monikers
IPersistStream
Vložené objekty OLE
IPersistStorage, IPersistFile
Ovládací prvky ActiveX
IPersistStreamInit, IPersistStorage, IPersistMemory, IPersistPropertyBag, IPersistMoniker
Objekty dokumentu ActiveX
IPersistStorage, IPersistFile

Implementátoři klienta můžou také zvolit, která trvalá rozhraní objektů může klient používat. Rozhraní, která klient používá, obvykle určuje, kde může klient ukládat vlastní data. Klient, který může ukládat data pouze do plochého souboru, bude pravděpodobně používat pouze IPersistStreamInit, IPersistMonikera IPersistPropertyBag. (IPersistStreamInit může nahradit IPersistStream ve většině aplikací, protože obsahuje tuto definici a přidává inicializační metodu.) Klient, který může uložit data do strukturovaného souboru úložiště, bude navíc používat IPersistStorage.

inicializace trvalých objektů