Provider::GetObject(ParsedObjectPath*,MethodContext*,long)-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 GetObject-Methode wird von WMI aufgerufen, um eine instance einer Klasse abzurufen.
Syntax
HRESULT GetObject(
ParsedObjectPath *pParsedObjectPath,
MethodContext *pContext,
[ref] long lFlags
);
Parameter
pParsedObjectPath
Zeiger auf ein CInstance-Objekt , das vom Frameworkanbieter ausgefüllt werden soll.
pContext
Bitmaske von Flags mit Informationen zum GetObject-Vorgang . Dies ist der vom Client in der IWbemServices::GetObject-Methode angegebene Wert.
Die folgenden Flags werden von WMI behandelt (und herausgefiltert):
- WBEM_FLAG_USE_AMENDED_QUALIFIERS
- WBEM_FLAG_RETURN_WBEM_COMPLETE
- WBEM_FLAG_RETURN_IMMEDIATELY
[ref] lFlags
Abfrageobjekt, das den Satz von Eigenschaften angibt, die aufgefüllt werden sollen, wie durch einen Aufruf von Provider::GetObject angefordert.
Ein Anbieter kann einen erheblichen Leistungsgewinn erzielen, indem er nur diese angeforderten Eigenschaftswerte eingibt. Der Anbieter bestimmt mithilfe von CFrameworkQuery::IsPropertyRequired, welche Eigenschaften angefordert werden. Andernfalls muss der Anbieter alle Eigenschaftswerte ausfüllen.
Rückgabewert
Die Standardframeworkanbieterimplementierung dieser Methode gibt WBEM_E_PROVIDER_NOT_CAPABLE an die aufrufende Methode zurück. Die IWbemServices::GetObject-Methode listet die allgemeinen Rückgabewerte auf, obwohl Sie einen beliebigen COM-Rückgabewert implementieren können.
Hinweise
WMI ruft häufig GetObject als Reaktion auf einen Clientaufruf von IWbemServices::GetObject auf. Die WMI-Version von Provider::GetObject stellt eine instance bereit, bei der nur die Schlüsseleigenschaften aufgefüllt sind. Im Gegensatz dazu muss ein implementierter Frameworkanbieter alle anderen Eigenschaften ausfüllen. Im Folgenden wird eine allgemeine Außerkraftsetzung von GetObject beschrieben:
- Ermitteln Sie, welche instance WMI angefordert wurde, indem Sie die Schlüsseleigenschaften mit einer Get-Methode von CInstance lesen, z. B. CInstance::GetCHString.
- Füllen Sie die restlichen Eigenschaften des instance mit den vielen Set-Methoden der CInstance-Klasse, z. B. CInstance::SetByte oder CInstance::SetStringArray.
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 |