IOleCache::Cache-Methode (oleidl.h)
Gibt das Format und andere Daten an, die in einem eingebetteten Objekt zwischengespeichert werden sollen.
Syntax
HRESULT Cache(
[in] FORMATETC *pformatetc,
[in] DWORD advf,
[out] DWORD *pdwConnection
);
Parameter
[in] pformatetc
Ein Zeiger auf eine FORMATETC-Struktur , die das Format und andere daten angibt, die zwischengespeichert werden sollen. Die Zwischenspeicherung der Ansicht wird durch Übergeben eines Null-Zwischenablageformats in pformatetc angegeben.
[in] advf
Eine Gruppe von Flags, die die Zwischenspeicherung steuern. Mögliche Werte stammen aus der ADVF-Enumeration . Wenn sie in diesem Kontext verwendet werden, haben diese Werte für einen Cache eine bestimmte Bedeutung, die in Den Anmerkungen beschrieben werden. Eine ausführlichere Beschreibung finden Sie in der ADVF-Enumeration .
[out] pdwConnection
Ein Zeiger auf eine Variable, die den Bezeichner dieser Verbindung empfängt, der später verwendet werden kann, um die Zwischenspeicherung zu deaktivieren (indem sie an IOleCache::Uncache übergeben wird). Wenn dieser Wert 0 ist, wurde die Verbindung nicht hergestellt. Die von OLE bereitgestellte Implementierung verwendet nonzero-Nummern für Verbindungsbezeichner.
Rückgabewert
Diese Methode gibt S_OK bei Erfolg zurück. Weitere mögliche Rückgabewerte:
Rückgabecode | Beschreibung |
---|---|
|
Die angegebenen pformatetc - oder advf-Argumente sind ungültig. |
|
Ein unerwarteter Fehler ist aufgetreten. |
|
Unzureichender Arbeitsspeicher für den Vorgang. |
|
Der Cache wurde erstellt, aber die Objektanwendung unterstützt das angegebene Format nicht. Die Cacheerstellung ist auch dann erfolgreich, wenn das Format nicht unterstützt wird, sodass der Aufrufer den Cache füllen kann. Wenn der Aufrufer den Cache jedoch nicht beibehalten muss, rufen Sie IOleCache::Uncache auf. |
|
Für das formatTC , das an IOleCache::Uncache übergeben wurde, ist bereits ein Cache vorhanden. In diesem Fall werden die neuen Hinweisflags dem Cache zugewiesen, und der zuvor zugewiesene Verbindungsbezeichner wird zurückgegeben. |
|
Ungültiger Wert für pformatetc-lindex>; derzeit wird nur -1 unterstützt. |
|
Der Wert ist für pformatetc-tymed> ungültig. |
|
Der Wert ist für pformatetc-dwAspect> ungültig. |
|
Der Wert ist für pformatetc-cfFormat> ungültig. |
|
Der Speicher des Caches wird nicht initialisiert. |
|
Der Wert ist für pformatetc-->ptd ungültig. |
|
Der Cache ist für ein statisches Objekt und hat bereits einen Cacheknoten. |
Hinweise
IOleCache::Cache kann entweder Datenzwischenspeicherung oder Ansichts-Zwischenspeicherung (Präsentation) angeben. Zum Angeben der Datenzwischenspeicherung muss ein gültiges Datenformat in pformatetc übergeben werden. Für das Zwischenspeichern der Ansicht entscheidet das Cacheobjekt selbst für das zwischengespeicherte Format, sodass ein Aufrufer ein Nulldatenformat in pformatetc wie folgt übergeben würde:
pFormatetc->cfFormat == 0
Ein benutzerdefinierter Objekthandler kann auswählen, dass Daten nicht in einem bestimmten Format gespeichert werden sollen. Stattdessen kann sie bei Bedarf bei Bedarf synthetisiert werden.
Der advf-Wert gibt ein Element der ADVF-Enumeration an. Wenn einer dieser Werte (oder eine OR'd-Kombination aus mehr als einem Wert) in diesem Kontext verwendet wird, bedeuten diese Werte Folgendes.
ADVF-Wert | BESCHREIBUNG |
---|---|
ADVF_NODATA | Der Cache soll nicht durch Änderungen aktualisiert werden, die am ausgeführten Objekt vorgenommen werden. Stattdessen aktualisiert der Container den Cache, indem er explizit IOleCache::SetData, IDataObject::SetData oder IOleCache2::UpdateCache aufruft. Dieses Flag wird normalerweise verwendet, wenn der ikonische Aspekt eines Objekts zwischengespeichert wird. |
ADVF_ONLYONCE | Aktualisieren Sie den Cache nur einmal. Nach Abschluss des Updates wird die Empfehlungsverbindung zwischen dem Objekt und dem Cache getrennt. Das Quellobjekt für die Advisory-Verbindung ruft die Release-Methode auf. |
ADVF_PRIMEFIRST | Das -Objekt darf nicht warten, bis sich die Daten oder Sicht ändern, bevor der Cache aktualisiert wird. Oder mit ADVF_ONLYONCE stellt dieser Parameter einen asynchronen IDataObject::GetData-Aufruf bereit. |
ADVFCACHE_NOHANDLER | Synonym für ADVFCACHE_FORCEBUILTIN. |
ADVFCACHE_FORCEBUILTIN | Wird von DLL-Objektanwendungen und -Objekthandlern verwendet, die ihre Objekte zeichnen, um Präsentationsdaten zwischenzuspeichern, um sicherzustellen, dass sich eine Präsentation im Cache befindet. Dadurch wird sichergestellt, dass die Daten auch dann abgerufen werden können, wenn das Objekt oder der Handlercode nicht verfügbar ist. |
ADVFCACHE_ONSAVE | Updates die zwischengespeicherte Darstellung nur dann, wenn das Objekt, das den Cache enthält, gespeichert wird. Der Cache wird auch aktualisiert, wenn das OLE-Objekt vom Ausführungszustand zurück in den geladenen Zustand wechselt (da für einen nachfolgenden Speichervorgang das Objekt erneut ausgeführt werden muss). |
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows 2000 Professional [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows 2000 Server [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | oleidl.h |