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.
[Funktionsermittlung ist für die Verwendung in den Betriebssystemen verfügbar, die im Abschnitt Anforderungen angegeben sind. Sie kann in nachfolgenden Versionen geändert oder nicht verfügbar sein.]
Erstellt oder ändert eine Funktion instance.
Syntax
HRESULT AddInstance(
[in] SystemVisibilityFlags enumSystemVisibility,
[in] const WCHAR *pszCategory,
[in] const WCHAR *pszSubCategory,
[in] const WCHAR *pszCategoryIdentity,
[out] IFunctionInstance **ppIFunctionInstance
);
Parameter
[in] enumSystemVisibility
Ein SystemVisibilityFlags-Wert, der angibt, ob die erstellte Funktion instance systemweit oder nur für den aktuellen Benutzer sichtbar ist.
[in] pszCategory
Die Kategorie der erstellten Funktion instance. Weitere Informationen finden Sie unter Kategoriedefinitionen.
[in] pszSubCategory
Die Unterkategorie der erstellten Funktion instance. Siehe Unterkategoriedefinitionen. Die maximale Länge dieser Zeichenfolge ist MAX_PATH.
[in] pszCategoryIdentity
Der Anbieter instance Bezeichnerzeichenfolge. Diese Zeichenfolge wird von GetProviderInstanceID zurückgegeben.
[out] ppIFunctionInstance
Ein Zeiger auf einen IFunctionInstance-Schnittstellenzeiger, der die Funktion instance empfängt.
Rückgabewert
Mögliche Rückgabewerte sind unter anderem folgendes:
| Rückgabecode/-wert | BESCHREIBUNG |
|---|---|
|
Die Methode wurde erfolgreich abgeschlossen. |
|
Der Wert von enumSystemVisibility, pszCategory oder pszCategoryIdentity ist ungültig. |
|
Die -Methode kann den für diesen Vorgang erforderlichen Arbeitsspeicher nicht zuordnen. |
|
Der Benutzer verfügt über unzureichende Zugriffsberechtigungen, um die angeforderte Aktion auszuführen. |
|
Das direkte Hinzufügen von Funktionsinstanzen mithilfe der AddInstance-Methode wird vom Anbieter nicht unterstützt. |
|
Der Wert von pszCategory oder pszSubCategory ist unbekannt. |
|
Ein ungültiger Parameter wurde angegeben. Dieser Fehler wird zurückgegeben, wenn die Länge der pszSubCategory-Zeichenfolge MAX_PATH überschreitet. |
Hinweise
Diese Methode erstellt vorübergehend eine neue Funktion instance für die angegebene Kategorie und Unterkategorie. Der Anbieter, der die Kategorie implementiert, ist für die Beibehaltung der Metadaten verantwortlich, die der neu erstellten Funktion instance mithilfe der IFunctionDiscoveryProviderFactory::CreateInstance-Methode zugeordnet sind.
Die Funktion instance wird nicht in die Registrierung geschrieben, wenn der zugeordnete Eigenschaftenspeicher keine Werte aufweist. Verwenden Sie die IFunctionInstance::OpenPropertyStore-Methode , um die Werte des Eigenschaftenspeichers zu überprüfen.
Wenn für die angegebene Kategorie und Unterkategorie bereits eine Funktion instance vorhanden ist, wird der vorhandene Registrierungseintrag überschrieben. Die AddInstance-Methode gibt S_OK zurück. Der Benachrichtigungsprozess zur Funktionsermittlung ruft die IFunctionDiscoveryNotification::OnUpdate-Methode der aufrufenden Anwendung auf, wobei enumQueryUpdateAction auf QUA_CHANGE festgelegt ist.
Die Zugriffsberechtigung zum Ändern HKEY_LOCAL_MACHINE\SYSTEM Registrierungsschlüssel ist erforderlich, um Funktionsinstanzen mithilfe des Registrierungsanbieters (Administrator- oder Power User-Zugriff) hinzuzufügen oder zu entfernen.
Anforderungen
| Unterstützte Mindestversion (Client) | Windows Vista [nur Desktop-Apps] |
| Unterstützte Mindestversion (Server) | Windows Server 2008 [nur Desktop-Apps] |
| Zielplattform | Windows |
| Kopfzeile | functiondiscoveryapi.h |
| DLL | FunDisc.dll |