Permanente objectinterfaces
Een permanent object implementeert een of meer permanente objectinterfaces. Clients gebruiken permanente objectinterfaces om die objecten te vertellen wanneer en waar ze hun status moeten opslaan. Alle permanente objectinterfaces zijn afgeleid van IPersist-, zodat elk object dat een permanente objectinterface implementeert ook IPersist-implementeert.
De volgende permanente objectinterfaces zijn momenteel gedefinieerd:
- IPersistStream-
- IPersistStreamInit-
- IPersistStorage-
- IPersistFile-
- IPersistMoniker-
- IPersistMemory-
- IPersistPropertyBag
Implementeerfuncties kiezen welke permanente objectinterfaces een object ondersteunt, afhankelijk van hoe het object moet worden gebruikt. Door geen permanente objectinterfaces te ondersteunen, zegt de implementeerfunctie effectief: 'De status van dit object kan niet permanent worden opgeslagen'. Door een of meer permanente objectinterfaces te ondersteunen, zegt de implementeerfunctie effectief: 'De status van dit object kan permanent worden opgeslagen in een of meer gegevensopslagmedia'.
De volgende tabel bevat bijvoorbeeld verschillende objecttypen die ondersteuning bieden voor verschillende permanente objectinterfaces.
Categorie | Permanente objectinterfaces worden doorgaans ondersteund |
---|---|
Monikers |
IPersistStream- |
OLE-insluitbare objecten |
IPersistStorage, IPersistFile |
ActiveX-besturingselementen |
IPersistStreamInit, IPersistStorage, IPersistMemory, IPersistPropertyBag, IPersistMoniker |
ActiveX-documentobjecten |
IPersistStorage, IPersistFile |
Client implementeerfuncties kunnen ook kiezen welke permanente objectinterfaces de client kan gebruiken. De interfaces die een client gebruikt, worden meestal bepaald door waar de client zijn eigen gegevens kan opslaan. Een client die de gegevens alleen in een plat bestand kan opslaan, gebruikt waarschijnlijk alleen IPersistStreamInit, IPersistMonikeren IPersistPropertyBag. (IPersistStreamInit- kan in de meeste toepassingen IPersistStream- vervangen, omdat deze deze definitie bevat en een initialisatiemethode toevoegt.) Een client die de gegevens in een gestructureerd opslagbestand kan opslaan, gebruikt bovendien IPersistStorage-.