Share via


Metodo IRunningObjectTable::GetObject (objidl.h)

Determina se l'oggetto identificato dal moniker specificato è in esecuzione e, in caso affermativo, recupera un puntatore a tale oggetto.

Sintassi

HRESULT GetObject(
  [in]  IMoniker *pmkObjectName,
  [out] IUnknown **ppunkObject
);

Parametri

[in] pmkObjectName

Puntatore all'interfaccia IMoniker nel moniker.

[out] ppunkObject

Puntatore a una variabile puntatore IUnknown che riceve il puntatore di interfaccia all'oggetto in esecuzione. In caso di esito positivo, l'implementazione chiama AddRef sull'oggetto ; è responsabilità del chiamante chiamare Release. Se l'oggetto non è in esecuzione o se si verifica un errore, l'implementazione imposta *ppunkObject su NULL.

Valore restituito

Questo metodo può restituire i valori seguenti.

Codice restituito Descrizione
S_OK
Indica che pmkObjectName è stato trovato nel ROT e che è stato recuperato un puntatore.
S_FALSE
Non è presente alcuna voce per pmkObjectName nel ROT o che l'oggetto identificato non è più in esecuzione (in tal caso, la voce viene revocata).

Commenti

Questo metodo controlla la presenza del moniker specificato da pmkObjectName. Se tale moniker era stato registrato in precedenza con una chiamata a IRunningObjectTable::Register, questo metodo restituisce il puntatore registrato in quel momento.

Note ai chiamanti

In genere, si chiama il metodo IRunningObjectTable::GetObject solo se si sta scrivendo una classe moniker personalizzata, ovvero implementando l'interfaccia IMoniker . Questo metodo viene in genere chiamato dall'implementazione di IMoniker::BindToObject.

Si noti tuttavia che non tutte le implementazioni di IMoniker::BindToObject devono chiamare questo metodo. Se si prevede che il moniker abbia un prefisso (indicato da un parametro pmkToLeft diverso da NULL a IMoniker::BindToObject), non è consigliabile controllare il ROT. Il motivo è che solo i moniker completi vengono registrati con il ROT e, se il moniker ha un prefisso, il moniker fa parte di un composito e quindi non è completo. Al contrario, il moniker deve richiedere servizi dall'oggetto identificato dal prefisso (ad esempio, il contenitore dell'oggetto identificato dal moniker).

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

Vedi anche

IMoniker::BindToObject

IRunningObjectTable