Freigeben über


IWbemRefresher::Refresh-Methode (wbemcli.h)

Die IWbemRefresher::Refresh-Methode aktualisiert alle aktualisierbaren Objekte, Enumeratoren und geschachtelten Aktualisierungen. Die WMI-Aktualisierung ruft diese Funktion als Antwort auf eine Clientanforderung an Aktualisieren auf.

Syntax

HRESULT Refresh(
  [in] long lFlags
);

Parameter

[in] lFlags

Bitmaske von Flags, die das Verhalten dieser Methode ändern.

Wenn WBEM_FLAG_REFRESH_AUTO_RECONNECT angegeben ist und die Verbindung unterbrochen wird, versucht die Aktualisierung automatisch, die Verbindung mit dem Anbieter wiederherzustellen. Dies ist das Standardverhalten für diese Methode.

Wenn Sie nicht möchten, dass die Aktualisierung versucht, eine erneute Verbindung mit dem Anbieter herzustellen, geben Sie WBEM_FLAG_REFRESH_NO_AUTO_RECONNECT an.

Rückgabewert

Diese Methode gibt ein HRESULT zurück, das den Status des Methodenaufrufs angibt. In der folgenden Liste ist der in einem HRESULT enthaltene Wert aufgeführt.

Hinweise

Beim Aktualisieren von Enumeratoren und Objekten sollten Anbieter so wenig Zeit wie möglich in Anspruch nehmen. Die Verwendung der IWbemObjectAccess-Methoden und der Zwischenspeicherung von Eigenschaftenhandles für die Wiederverwendung kann die Leistung erheblich verbessern. Beim Aktualisieren von Enumeratoren kann ein Anbieter entweder alle Objekte entfernen und erneut instanziieren oder einfach die geänderten Instanzen entfernen und hinzufügen. Es liegt an Ihnen, den besten Ansatz zu wählen. In beiden Fällen kann das Zwischenspeichern von Instanzen die Leistung verbessern.

Der Anbieter sollte nur als Reaktion auf einen Aufruf von IWbemRefresher::Refresh auf die Objekte und Enumeratoren in einer Aktualisierung zugreifen. Es wäre jedoch vollkommen gültig, wenn ein Hintergrundthread die Daten abruft, mit denen diese Objekte gefüllt werden sollen, um sich darauf vorzubereiten, wenn Refresh aufgerufen wird.

Beispiele

Im folgenden Codebeispiel wird beschrieben, wie Aktualisierung implementiert wird.

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;
}

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows Vista
Unterstützte Mindestversion (Server) Windows Server 2008
Zielplattform Windows
Kopfzeile wbemcli.h (include Wbemidl.h)
Bibliothek Wbemuuid.lib

Weitere Informationen

Entwickeln eines WMI-Anbieters

IWbemHiPerfProvider

IWbemRefresher

Umwandeln eines Instanzanbieters in einen Hochleistungsanbieter

Leistungsindikator-Provider

Schreiben eines Instanzanbieters