Método IFunctionDiscovery::AddInstance (functiondiscoveryapi.h)

[Detección de funciones está disponible para su uso en los sistemas operativos especificados en la sección Requisitos. Puede modificarse o no estar disponible en versiones posteriores.

Crea o modifica una instancia de función.

Sintaxis

HRESULT AddInstance(
  [in]  SystemVisibilityFlags enumSystemVisibility,
  [in]  const WCHAR           *pszCategory,
  [in]  const WCHAR           *pszSubCategory,
  [in]  const WCHAR           *pszCategoryIdentity,
  [out] IFunctionInstance     **ppIFunctionInstance
);

Parámetros

[in] enumSystemVisibility

Valor SystemVisibilityFlags que especifica si la instancia de función creada es visible en todo el sistema o solo para el usuario actual.

Nota La instancia de función se almacena en HKEY_LOCAL_MACHINE independientemente del valor enumSystemVisibility . El usuario debe tener acceso de administrador para agregar una instancia de función.
 

[in] pszCategory

Categoría de la instancia de función creada. Vea Definiciones de categoría.

[in] pszSubCategory

Subcategoría de la instancia de función creada. Consulte Subcategory Definitions(Definiciones de subcategoría). La longitud máxima de esta cadena es MAX_PATH.

[in] pszCategoryIdentity

Cadena de identificador de instancia del proveedor. Esta cadena se devuelve desde GetProviderInstanceID.

[out] ppIFunctionInstance

Puntero a un puntero de interfaz IFunctionInstance que recibe la instancia de la función.

Valor devuelto

Entre los valores devueltos posibles se incluyen, entre otros, los siguientes.

Código o valor devuelto Descripción
S_OK
El método se completó correctamente.
E_INVALIDARG
El valor de enumSystemVisibility, pszCategory o pszCategoryIdentity no es válido.
E_OUTOFMEMORY
El método no puede asignar la memoria necesaria para realizar esta operación.
E_ACCESSDENIED
El usuario no tiene permiso de acceso suficiente para realizar la acción solicitada.
E_FAIL
El proveedor no admite la adición de instancias de función directamente mediante el método AddInstance .
HRESULT_FROM_WIN32(ERROR_FILE_NOT_FOUND)
0x80070002
El valor de pszCategory o pszSubCategory es desconocido.
STRSAFE_E_INVALID_PARAMETER
Se especificó un parámetro no válido. Este error se devuelve cuando la longitud de la cadena pszSubCategory supera MAX_PATH.

Comentarios

Este método crea temporalmente una nueva instancia de función para la categoría y subcategoría especificadas. El proveedor que implementa la categoría es responsable de conservar los metadatos asociados a la instancia de función recién creada mediante el método IFunctionDiscoveryProviderFactory::CreateInstance .

La instancia de función no se escribe en el Registro si su almacén de propiedades asociado no tiene ningún valor. Use el método IFunctionInstance::OpenPropertyStore para comprobar los valores del almacén de propiedades.

Si ya existe una instancia de función para la categoría y subcategoría especificadas, se sobrescribe la entrada del Registro existente. El método AddInstance devuelve S_OK. El proceso de notificación de cambio de detección de funciones invoca el método IFunctionDiscoveryNotification::OnUpdate de la aplicación que realiza la llamada con enumQueryUpdateAction establecido en QUA_CHANGE.

Nota El método IFunctionDiscoveryNotification::OnUpdate no es compatible con ningún proveedor actual.
 
Si la nueva instancia de función es capaz de ser visible para todo el sistema o solo para el usuario depende del proveedor. El proveedor del Registro establece inicialmente su visibilidad de la instancia de función predeterminada en todo el sistema.

Se requiere permiso de acceso para cambiar HKEY_LOCAL_MACHINE\SYSTEM claves del Registro para agregar o quitar instancias de función mediante el proveedor del Registro (acceso de administrador o usuario avanzado).

Requisitos

   
Cliente mínimo compatible Windows Vista [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2008 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado functiondiscoveryapi.h
Archivo DLL FunDisc.dll

Consulte también

IFunctionDiscovery