Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
[A Descoberta de Funções está disponível para uso nos sistemas operacionais especificados na seção Requisitos. Ele pode estar alterado ou indisponível em versões subsequentes.]
Cria ou modifica uma instância de função.
Sintaxe
HRESULT AddInstance(
[in] SystemVisibilityFlags enumSystemVisibility,
[in] const WCHAR *pszCategory,
[in] const WCHAR *pszSubCategory,
[in] const WCHAR *pszCategoryIdentity,
[out] IFunctionInstance **ppIFunctionInstance
);
Parâmetros
[in] enumSystemVisibility
Um valor SystemVisibilityFlags que especifica se a instância de função criada é visível em todo o sistema ou apenas para o usuário atual.
[in] pszCategory
A categoria da instância de função criada. Consulte Definições de categoria.
[in] pszSubCategory
A subcategoria da instância de função criada. Consulte Definições de subcategoria. O comprimento máximo dessa cadeia de caracteres é MAX_PATH.
[in] pszCategoryIdentity
A cadeia de caracteres do identificador de instância do provedor. Essa cadeia de caracteres é retornada de GetProviderInstanceID.
[out] ppIFunctionInstance
Um ponteiro para um ponteiro de interface IFunctionInstance que recebe a instância da função.
Valor retornado
Os valores retornados possíveis incluem, mas não se limitam a, o seguinte.
| Valor/código retornado | Descrição |
|---|---|
|
O método foi concluído com sucesso. |
|
O valor de enumSystemVisibility, pszCategory ou pszCategoryIdentity é inválido. |
|
O método não pode alocar a memória necessária para executar essa operação. |
|
O usuário não tem permissão de acesso suficiente para executar a ação solicitada. |
|
O provedor não dá suporte à adição de instâncias de função diretamente usando o método AddInstance . |
|
O valor de pszCategory ou pszSubCategory é desconhecido. |
|
Um parâmetro inválido foi especificado. Esse erro é retornado quando o comprimento da cadeia de caracteres pszSubCategory excede MAX_PATH. |
Comentários
Esse método cria temporariamente uma nova instância de função para a categoria e a subcategoria especificadas. O provedor que implementa a categoria é responsável por persistir os metadados associados à instância de função recém-criada usando o método IFunctionDiscoveryProviderFactory::CreateInstance .
A instância de função não será gravada no registro se o repositório de propriedades associado não tiver nenhum valor. Use o método IFunctionInstance::OpenPropertyStore para marcar os valores do repositório de propriedades.
Se já existir uma instância de função para a categoria e a subcategoria especificadas, a entrada existente do Registro será substituída. O método AddInstance retorna S_OK. O processo de notificação de alteração da Descoberta de Funções invoca o método IFunctionDiscoveryNotification::OnUpdate do aplicativo de chamada com enumQueryUpdateAction definido como QUA_CHANGE.
A permissão de acesso para alterar HKEY_LOCAL_MACHINE\SYSTEM chaves do Registro é necessária para adicionar ou remover instâncias de função usando o provedor do Registro (acesso do Administrador ou do Power User).
Requisitos
| Cliente mínimo com suporte | Windows Vista [somente aplicativos da área de trabalho] |
| Servidor mínimo com suporte | Windows Server 2008 [somente aplicativos da área de trabalho] |
| Plataforma de Destino | Windows |
| Cabeçalho | functiondiscoveryapi.h |
| DLL | FunDisc.dll |