Condividi tramite


Metodo IPropertyPage::SetObjects (ocidl.h)

Fornisce la pagina delle proprietà con una matrice di puntatori agli oggetti associati a questa pagina delle proprietà.

Quando la pagina delle proprietà riceve una chiamata a IPropertyPage::Apply, deve inviare modifiche di valore a questi oggetti tramite qualsiasi interfaccia appropriata. La pagina delle proprietà deve eseguire una query per tali interfacce. Questo metodo può avere esito negativo se gli oggetti non supportano le interfacce previste dalla pagina delle proprietà.

Sintassi

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

Parametri

[in] cObjects

Numero di puntatori nella matrice a cui punta ppUnk. Se questo parametro è 0, la pagina delle proprietà deve rilasciare qualsiasi puntatore passato in precedenza a questo metodo.

[in] ppUnk

Puntatore a una matrice di puntatori di interfaccia IUnknown in cui ogni puntatore identifica un oggetto univoco interessato dalla finestra delle proprietà in cui vengono visualizzate le pagine delle proprietà (ed eventualmente altre). La pagina delle proprietà deve memorizzare nella cache questi puntatori che chiamano AddRef per ogni puntatore in quel momento. Questa matrice di puntatori è la stessa che è stata passata a OleCreatePropertyFrame o OleCreatePropertyFrameIndirect per richiamare la finestra delle proprietà.

Valore restituito

Questo metodo può restituire i valori restituiti standard E_FAIL, E_INVALIDARG, E_OUTOFMEMORY e E_UNEXPECTED, nonché i valori seguenti.

Codice restituito Descrizione
S_OK
La pagina delle proprietà ha salvato correttamente i puntatori necessari.
E_NOINTERFACE
Uno degli oggetti in ppUnk non supporta l'interfaccia prevista da questa pagina delle proprietà e pertanto questa pagina delle proprietà non può comunicare con essa.
E_POINTER
L'indirizzo in ppUnk non è valido. Ad esempio, può essere NULL.

Commenti

La pagina delle proprietà è necessaria per mantenere i puntatori restituiti da questo metodo o da altri utenti sottoposti a query tramite di essi. Se questi puntatori IUnknown specifici vengono mantenuti, la pagina delle proprietà deve chiamare AddRef ogni volta che vengono archiviati nella cache, fino a quando setObjects viene chiamato con cObjects uguale a 0. In quel momento, la pagina delle proprietà deve chiamare Release tramite ogni puntatore, rilasciando tutti gli oggetti contenuti.

Il chiamante deve fornire la pagina delle proprietà con questi oggetti prima di chiamare IPropertyPage::Activate e deve chiamare SetObjects con zero come parametro quando si disattiva la pagina o quando si rilascia completamente l'oggetto. Ogni chiamata a SetObjects con un parametro ppUnk non NULL deve essere associata a una chiamata successiva a SetObjects con 0 nel parametro cObjects.

Note per gli implementatori

E_NOTIMPL non è un valore restituito valido.

Requisiti

Requisito Valore
Client minimo supportato Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Piattaforma di destinazione Windows
Intestazione ocidl.h

Vedi anche

Ipropertypage