Provider::EnumerateInstances-Methode (provider.h)
[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 |