Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
[Die Provider-Klasse ist Teil des WMI-Provider-Frameworks, das nun als endgültig betrachtet wird, und es sind keine weiteren Entwicklungen, Verbesserungen oder Updates für nicht sicherheitsrelevante Probleme verfügbar, die diese Bibliotheken betreffen. Die MI-APIs sollten für alle Neuentwicklungen verwendet werden.]
Die EnumerateInstances-Methode wird von WMI aufgerufen, um alle Instanzen der Klasse eines Frameworkanbieters abzurufen.
Syntax
HRESULT EnumerateInstances(
MethodContext *pMethodContext,
long lFlags
);
Parameter
pMethodContext
Zeiger auf das Kontextobjekt für diesen Aufruf. Dieser Wert enthält alle vom Client angegebenen IWbemContext-Eigenschaften . Außerdem muss dieser Zeiger als Parameter für alle Aufrufe von WMI verwendet werden.
lFlags
Bitmaske von Flags mit Informationen zum EnumerateInstances-Vorgang . Dies ist der vom Client in der IWbemServices::CreateInstanceEnum-Methode angegebene Wert.
Die folgenden Flags werden von WMI behandelt (und herausgefiltert):
- WBEM_FLAG_DEEP
- WBEM_FLAG_SHALLOW
- WBEM_FLAG_RETURN_IMMEDIATELY
- WBEM_FLAG_FORWARD_ONLY
- WBEM_FLAG_BIDIRECTIONAL
- WBEM_FLAG_USE_AMENDED_QUALIFIERS
Rückgabewert
Die Standardframeworkanbieterimplementierung dieser Methode gibt WBEM_E_PROVIDER_NOT_CAPABLE an die aufrufende Methode zurück. Die IWbemServices::CreateInstanceEnum-Methode listet die gängigsten Rückgabewerte auf. Sie können jedoch jeden COM-Rückgabecode zurückgeben.
Hinweise
Es ist kein Fehler für EnumerateInstances , null Instanzen zurückzugeben, indem null CInstance-Instanzen instanziiert und der Rückgabewert auf WBEM_S_NO_ERROR festgelegt wird.
WMI ruft häufig EnumerateInstances auf, wenn eine Clientanwendung IWbemServices::CreateInstanceEnum aufruft, obwohl WMI auch in anderen Situationen EnumerateInstances aufruft . Dies ist eine gängige Methode zum Überschreiben von EnumerateInstances:
- Erstellen Sie mit Provider::CreateNewInstance eine leere instance Ihrer Klasse.
- Füllen Sie die Eigenschaften des leeren instance mit den Set-Methoden der CInstance-Klasse, z. B. CInstance::SetByte oder CInstance::SetStringArray.
- Senden Sie die instance mithilfe von CInstance::Commit zurück an den Client.
Anforderungen
| Anforderung | Wert |
|---|---|
| Unterstützte Mindestversion (Client) | Windows Vista |
| Unterstützte Mindestversion (Server) | Windows Server 2008 |
| Zielplattform | Windows |
| Kopfzeile | provider.h (einschließlich FwCommon.h) |
| Bibliothek | FrameDyn.lib |
| DLL | FrameDynOS.dll; FrameDyn.dll |