Freigeben über


IPropertyPage::SetObjects-Methode (ocidl.h)

Stellt die Eigenschaftenseite mit einem Array von Zeigern auf Objekte bereit, die dieser Eigenschaftenseite zugeordnet sind.

Wenn die Eigenschaftenseite einen Aufruf von IPropertyPage::Apply empfängt, muss sie Wertänderungen an diese Objekte über alle geeigneten Schnittstellen senden. Die Eigenschaftenseite muss diese Schnittstellen abfragen. Diese Methode kann fehlschlagen, wenn die Objekte die von der Eigenschaftenseite erwarteten Schnittstellen nicht unterstützen.

Syntax

HRESULT SetObjects(
  [in] ULONG    cObjects,
  [in] IUnknown **ppUnk
);

Parameter

[in] cObjects

Die Anzahl der Zeiger im Array, auf die ppUnk zeigt. Wenn dieser Parameter 0 ist, muss die Eigenschaftenseite alle Zeiger freigeben, die zuvor an diese Methode übergeben wurden.

[in] ppUnk

Ein Zeiger auf ein Array von IUnknown-Schnittstellenzeigern , bei dem jeder Zeiger ein eindeutiges Objekt identifiziert, das vom Eigenschaftenblatt betroffen ist, in dem diese (und möglicherweise andere) Eigenschaftenseiten angezeigt werden. Die Eigenschaftenseite muss diese Zeiger, die AddRef aufrufen, für jeden Zeiger zu diesem Zeitpunkt zwischenspeichern. Dieses Array von Zeigern ist dasselbe, das an OleCreatePropertyFrame oder OleCreatePropertyFrameIndirect übergeben wurde, um das Eigenschaftenblatt aufzurufen.

Rückgabewert

Diese Methode kann die standardmäßigen Rückgabewerte E_FAIL, E_INVALIDARG, E_OUTOFMEMORY und E_UNEXPECTED sowie die folgenden Werte zurückgeben.

Rückgabecode BESCHREIBUNG
S_OK
Die Eigenschaftenseite hat die benötigten Zeiger erfolgreich gespeichert.
E_NOINTERFACE
Eines der Objekte in ppUnk hat die von dieser Eigenschaftenseite erwartete Schnittstelle nicht unterstützt, sodass diese Eigenschaftenseite nicht mit ihr kommunizieren kann.
E_POINTER
Die Adresse in ppUnk ist ungültig. Es kann z. B. NULL sein.

Hinweise

Die Eigenschaftenseite ist erforderlich, um die Zeiger beizubehalten, die von dieser Methode oder von anderen durch sie abgefragten Zeigern zurückgegeben werden. Wenn diese spezifischen IUnknown-Zeiger gehalten werden, muss die Eigenschaftenseite AddRef durch jeden aufrufen, wenn sie zwischengespeichert werden, bis SetObjects mit cObjects gleich 0 aufgerufen wird. Zu diesem Zeitpunkt muss die Eigenschaftenseite Release über jeden Zeiger aufrufen und alle darin enthaltenen Objekte freigeben.

Der Aufrufer muss die Eigenschaftenseite mit diesen Objekten bereitstellen, bevor IPropertyPage::Activate aufgerufen wird, und sollte SetObjects mit null als Parameter aufrufen, wenn die Seite deaktiviert oder das Objekt vollständig freigegeben wird. Jeder Aufruf von SetObjects mit einem ppUnk-Parameter ungleich NULL muss mit einem späteren Aufruf von SetObjects mit 0 im cObjects-Parameter abgeglichen werden.

Hinweise für Implementierer

E_NOTIMPL ist kein gültiger Rückgabewert.

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

Weitere Informationen

IPropertyPage