Freigeben über


IRunnableObject::SetContainedObject-Methode (objidl.h)

Benachrichtigt ein Objekt, dass es in einen OLE-Container eingebettet ist. Dadurch wird sichergestellt, dass die Verweiszählung für Container, die Links zu eingebetteten Objekten unterstützen, ordnungsgemäß durchgeführt wird.

Syntax

HRESULT SetContainedObject(
  [in] BOOL fContained
);

Parameter

[in] fContained

TRUE gibt an, dass das Objekt in einem OLE-Container enthalten ist. FALSE gibt an, dass dies nicht der Wert ist.

Rückgabewert

Diese Methode kann die Standardrückgabewerte E_INVALIDARG, E_OUTOFMEMORY, E_UNEXPECTED und S_OK zurückgeben.

Hinweise

Die SetContainedObject-Methode ermöglicht es einem Container, einen Objekthandler darüber zu informieren, dass er in den Container eingebettet ist, anstatt als Link zu fungieren. Dieser Aufruf ändert den Verweis des Containers auf das -Objekt von "strong", der Standardeinstellung für externe Verbindungen, in "schwach". Wenn das Objekt sichtbar ausgeführt wird, ist diese Methode von geringer Bedeutung, da der Endbenutzer über eine Sperre für das Objekt verfügt. Während einer automatischen Aktualisierung einer eingebetteten Linkquelle sollte der Container jedoch nicht in der Lage sein, ein Objekt im Ausführungszustand zu halten, nachdem der Link unterbrochen wurde. Aus diesem Grund muss der Verweis des Containers auf das Objekt schwach sein.

Hinweise für Anrufer

Eine Containeranwendung muss SetContainedObject aufrufen, wenn sie die Verknüpfung mit eingebetteten Objekten unterstützt. Normalerweise erfolgt der Aufruf unmittelbar nach dem Aufrufen von OleLoad oder OleCreate und ruft die Methode nie wieder auf, auch bevor sie geschlossen wird. Darüber hinaus ruft ein Container diese Methode fast immer auf, wobei fContained auf TRUE festgelegt ist. Die Verwendung dieser Methode, bei der fContained auf FALSE festgelegt ist, ist selten.

Das Aufrufen von SetContainedObject ist nur optional, wenn Sie wissen, dass kein anderer Client als der Container auf das eingebettete Objekt verweist. Wenn Ihre Containeranwendung das Verknüpfen mit eingebetteten Objekten nicht unterstützt; Es ist vorzuziehen, aber nicht notwendig, SetContainedObject aufzurufen.

OleSetContainedObject ist eine Hilfsfunktion, die die von SetContainedObject angebotene Funktionalität bequem neu packt. Mit der Veröffentlichung von OLE 2.01 wurde die Implementierung von OleSetContainedObject geändert, um QueryInterface aufzurufen, nach IRunnableObject zu fragen und dann IRunnableObject::SetContainedObject aufzurufen. Anders ausgedrückt: Sie können die Schnittstelle und die Hilfsfunktion austauschbar verwenden.

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 objidl.h

Weitere Informationen

IRunnableObject

OleSetContainedObject