共用方式為


IPropertyPage::SetObjects 方法 (ocidl.h)

提供屬性頁與這個屬性頁相關聯之物件的指標數位。

當屬性頁收到 對IPropertyPage::Apply的呼叫時,它必須透過適當的介面,將值變更傳送至這些物件。 屬性頁必須查詢這些介面。 如果物件不支援屬性頁預期的介面,這個方法可能會失敗。

語法

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

參數

[in] cObjects

ppUnk 指向之陣列中的指標數目。 如果此參數為 0,屬性頁必須釋放先前傳遞至這個方法的任何指標。

[in] ppUnk

IUnknown 介面指標數位的指標,其中每個指標會識別受到這個 (之屬性表影響的唯一物件,而且可能顯示其他) 屬性頁。 屬性頁必須快取這些指標,以在該時間呼叫每個指標的 AddRef 。 這個指標數位是傳遞至 OleCreatePropertyFrame 或 OleCreatePropertyFrameIndirect 以叫用屬性表的指標數位。

傳回值

這個方法可以傳回標準傳回值E_FAIL、E_INVALIDARG、E_OUTOFMEMORY和E_UNEXPECTED,以及下列值。

傳回碼 描述
S_OK
屬性頁已成功儲存所需的指標。
E_NOINTERFACE
ppUnk 中的其中一個 對象不支援這個屬性頁預期的介面,因此此屬性頁無法與其通訊。
E_POINTER
ppUnk 中的位址無效。 例如,它可能是 NULL

備註

需要屬性頁,才能保留這個方法所傳回的指標,或透過這些指標查詢的其他指標。 如果保留這些特定的 IUnknown 指標,屬性頁必須在快取時透過每個指標呼叫 AddRef,直到使用 cObjects 呼叫 SetObjects 等於 0 的時間為止。 此時,屬性頁必須透過每個指標呼叫 Release ,釋放它持有的任何物件。

呼叫端必須在呼叫 IPropertyPage::Activate 之前提供屬性頁,而且應該在停用頁面或完全釋放物件時,以零作為參數呼叫 SetObjects 。 每次使用非 NULLppUnk 參數呼叫 SetObjects 時,都必須比對 cObjects 參數中具有 0 的 SetObjects 後續呼叫。

實作者的注意事項

E_NOTIMPL不是有效的傳回值。

規格需求

需求
最低支援的用戶端 Windows 2000 Professional [僅限傳統型應用程式]
最低支援的伺服器 Windows 2000 Server [僅限桌面應用程式]
目標平台 Windows
標頭 ocidl.h

另請參閱

IPropertyPage