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,以及下列值。
傳回碼 | 描述 |
---|---|
|
屬性頁已成功儲存所需的指標。 |
|
ppUnk 中的其中一個 對象不支援這個屬性頁預期的介面,因此此屬性頁無法與其通訊。 |
|
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 |