Metodo IWbemRefresher::Refresh (wbemcli.h)
Il metodo IWbemRefresher::Refresh aggiorna tutti gli oggetti aggiornabili, gli enumeratori e gli aggiornamenti annidati. L'aggiornamento WMI chiama questa funzione in risposta a una richiesta client a Refresh.
Sintassi
HRESULT Refresh(
[in] long lFlags
);
Parametri
[in] lFlags
Maschera di bit di flag che modificano il comportamento di questo metodo.
Se viene specificato WBEM_FLAG_REFRESH_AUTO_RECONNECT e se la connessione viene interrotta, l'aggiornamento tenta di riconnettersi automaticamente al provider. Questo è il comportamento predefinito per questo metodo.
Se non si vuole che l'aggiornamento tenti di riconnettersi al provider, specificare WBEM_FLAG_REFRESH_NO_AUTO_RECONNECT.
Valore restituito
Questo metodo restituisce un valore HRESULT che indica lo stato della chiamata al metodo. L'elenco seguente elenca il valore contenuto in hrESULT.
Commenti
Quando si aggiornano enumeratori e oggetti, i provider devono richiedere il minor tempo possibile. L'uso dei metodi IWbemObjectAccess e degli handle delle proprietà di memorizzazione nella cache per il riutilizzo può migliorare notevolmente le prestazioni. Quando si aggiornano gli enumeratori, un provider può rimuovere e creare nuovamente un'istanza di tutti gli oggetti oppure semplicemente rimuovere e aggiungere le istanze modificate. Spetta a voi scegliere l'approccio migliore. In entrambi i casi, le istanze di memorizzazione nella cache possono migliorare le prestazioni.
Il provider deve accedere solo agli oggetti e agli enumeratori in un aggiornamento in risposta a una chiamata a IWbemRefresher::Refresh. Tuttavia, sarebbe perfettamente valido disporre di un polling di thread in background per i dati con cui riempire questi oggetti, per prepararsi quando viene chiamato Refresh .
Esempio
Nell'esempio di codice seguente viene descritto come implementare Refresh.
HRESULT CMyHiPerfProviderRefresher::Refresh(
/* [in] */long lFlags
)
{
// Run through all the objects and update their
// data.
// Now run through the enumerators.
// Empty the enumerator and refill it.
return WBEM_S_NO_ERROR;
}
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows Vista |
Server minimo supportato | Windows Server 2008 |
Piattaforma di destinazione | Windows |
Intestazione | wbemcli.h (include Wbemidl.h) |
Libreria | Wbemuuid.lib |
Vedi anche
Creazione di un provider di istanze in un provider di High-Performance