Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
[L'individuazione delle funzioni è disponibile per l'uso nei sistemi operativi specificati nella sezione Requisiti. Potrebbe essere modificato o non disponibile nelle versioni successive.]
Crea o modifica un'istanza di funzione.
Sintassi
HRESULT AddInstance(
[in] SystemVisibilityFlags enumSystemVisibility,
[in] const WCHAR *pszCategory,
[in] const WCHAR *pszSubCategory,
[in] const WCHAR *pszCategoryIdentity,
[out] IFunctionInstance **ppIFunctionInstance
);
Parametri
[in] enumSystemVisibility
Valore SystemVisibilityFlags che specifica se l'istanza della funzione creata è visibile a livello di sistema o solo all'utente corrente.
[in] pszCategory
Categoria dell'istanza della funzione creata. Vedere Definizioni di categoria.
[in] pszSubCategory
Sottocategoria dell'istanza della funzione creata. Vedere Definizioni di sottocategoria. La lunghezza massima di questa stringa è MAX_PATH.
[in] pszCategoryIdentity
Stringa dell'identificatore dell'istanza del provider. Questa stringa viene restituita da GetProviderInstanceID.
[out] ppIFunctionInstance
Puntatore a un puntatore all'interfaccia IFunctionInstance che riceve l'istanza della funzione.
Valore restituito
I valori restituiti possibili includono, ma non sono limitati ai valori seguenti.
| Codice/valore restituito | Descrizione |
|---|---|
|
Metodo completato correttamente. |
|
Il valore di enumSystemVisibility, pszCategory o pszCategoryIdentity non è valido. |
|
Il metodo non è in grado di allocare la memoria necessaria per eseguire questa operazione. |
|
L'utente dispone di autorizzazioni di accesso insufficienti per eseguire l'azione richiesta. |
|
Il provider non supporta l'aggiunta di istanze di funzione direttamente tramite il metodo AddInstance . |
|
Il valore di pszCategory o pszSubCategory è sconosciuto. |
|
È stato specificato un parametro non valido. Questo errore viene restituito quando la lunghezza della stringa pszSubCategory supera MAX_PATH. |
Commenti
Questo metodo crea temporaneamente una nuova istanza di funzione per la categoria e la sottocategoria specificate. Il provider che implementa la categoria è responsabile della persistenza dei metadati associati all'istanza di funzione appena creata usando il metodo IFunctionDiscoveryProviderFactory::CreateInstance .
L'istanza della funzione non viene scritta nel Registro di sistema se l'archivio delle proprietà associato non ha valori. Usare il metodo IFunctionInstance::OpenPropertyStore per controllare i valori dell'archivio delle proprietà.
Se esiste già un'istanza della funzione per la categoria e la sottocategoria specificate, la voce del Registro di sistema esistente viene sovrascritta. Il metodo AddInstance restituisce S_OK. Il processo di notifica delle modifiche di Individuazione funzioni richiama il metodo IFunctionDiscoveryNotification::OnUpdate dell'applicazione chiamante con enumQueryUpdateAction impostato su QUA_CHANGE.
L'autorizzazione di accesso per modificare le chiavi del Registro di sistema HKEY_LOCAL_MACHINE\SYSTEM è necessaria per aggiungere o rimuovere istanze di funzione usando il provider del Registro di sistema (amministratore o accesso a Power User).
Requisiti
| Client minimo supportato | Windows Vista [solo app desktop] |
| Server minimo supportato | Windows Server 2008 [solo app desktop] |
| Piattaforma di destinazione | Windows |
| Intestazione | functiondiscoveryapi.h |
| DLL | FunDisc.dll |