Metodo Provider::GetObject(ParsedObjectPath*,MethodContext*,long) (provider.h)

[La classe Provider fa parte di WMI Provider Framework che è ora considerata nello stato finale e non saranno disponibili ulteriori aggiornamenti, miglioramenti o aggiornamenti per problemi non correlati alla sicurezza che interessano queste librerie. Le API MI devono essere usate per tutti i nuovi sviluppi.

Il metodo GetObject viene chiamato da WMI per recuperare un'istanza di una classe.

Sintassi

HRESULT GetObject(
        ParsedObjectPath *pParsedObjectPath,
        MethodContext    *pContext,
  [ref] long             lFlags
);

Parametri

pParsedObjectPath

Puntatore a un oggetto CInstance da compilare dal provider di framework.

pContext

Maschera di flag con informazioni sull'operazione GetObject . Questo è il valore specificato dal client nel metodo IWbemServices::GetObject .

I flag seguenti vengono gestiti da (e filtrati) da WMI:

  • WBEM_FLAG_USE_AMENDED_QUALIFIERS
  • WBEM_FLAG_RETURN_WBEM_COMPLETE
  • WBEM_FLAG_RETURN_IMMEDIATELY

[ref] lFlags

Oggetto query che indica il set di proprietà da popolare, come richiesto da una chiamata a Provider::GetObject.

Un provider può realizzare un miglioramento significativo delle prestazioni inserendo solo questi valori di proprietà richiesti. Il provider determina le proprietà richieste tramite CFrameworkQuery::IsPropertyRequired. In caso contrario, il provider deve compilare tutti i valori delle proprietà.

Valore restituito

L'implementazione predefinita del provider di framework di questo metodo restituisce WBEM_E_PROVIDER_NOT_CAPABLE al metodo chiamante. Il metodo IWbemServices::GetObject elenca i valori restituiti comuni, anche se è possibile scegliere di implementare qualsiasi valore restituito COM.

Commenti

WMI richiama spesso GetObject in risposta a una chiamata client a IWbemServices::GetObject. La versione WMI di Provider::GetObject fornisce un'istanza con solo le proprietà chiave popolate. Al contrario, un provider di framework implementato deve compilare tutte le altre proprietà. Di seguito viene descritto un override comune di GetObject:

  1. Determinare quale istanza WMI richiesta leggendo le proprietà chiave con un metodo Get da CInstance, ad esempio CInstance::GetCHString.
  2. Popolare le altre proprietà dell'istanza usando i molti metodi Set della classe CInstance, ad esempio CInstance::SetByte o CInstance::SetStringArray.

Requisiti

Requisito Valore
Client minimo supportato Windows Vista
Server minimo supportato Windows Server 2008
Piattaforma di destinazione Windows
Intestazione provider.h (includere FwCommon.h)
Libreria FrameDyn.lib
DLL FrameDynOS.dll; FrameDyn.dll