Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
[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.
Obtiene la colección especificada de instancias de función, en función de la categoría y la subcategoría.
Sintaxis
HRESULT GetInstanceCollection(
[in] const WCHAR *pszCategory,
[in] const WCHAR *pszSubCategory,
[in] BOOL fIncludeAllSubCategories,
[out] IFunctionInstanceCollection **ppIFunctionInstanceCollection
);
Parámetros
[in] pszCategory
Identificador de la categoría que se va a enumerar. Vea Definiciones de categoría.
[in] pszSubCategory
Identificador de la subcategoría que se va a enumerar. Consulte Subcategory Definitions(Definiciones de subcategoría). Este parámetro puede ser NULL.
[in] fIncludeAllSubCategories
Si es TRUE, este método enumera de forma recursiva todas las subcategorías de la categoría especificada en pszCategory, devolviendo una colección que contiene instancias de función de todas las subcategorías de pszCategory.
Si es FALSE, este método se restringe a devolver instancias de función en la categoría especificada por pszCategory y la subcategoría especificada por pszSubCategory.
[out] ppIFunctionInstanceCollection
Puntero a un puntero de interfaz IFunctionInstanceCollection que recibe la colección de instancias de función que contiene las instancias de función solicitadas. La colección está vacía si no se encuentra ninguna instancia de función apta.
Valor devuelto
Entre los valores devueltos posibles se incluyen, entre otros, los siguientes.
| Código o valor devuelto | Descripción |
|---|---|
|
El método se completó correctamente. |
|
El valor de pszCategory no es válido. El valor devuelto en el parámetro ppIFunctionInstanceCollection es NULL. |
|
El método no puede asignar la memoria necesaria para realizar esta operación. |
|
El valor de pszCategory o pszSubCategory es desconocido. |
|
La llamada se ejecutó para un proveedor que devuelve resultados de forma asincrónica. |
Comentarios
Algunos proveedores de detección de funciones devuelven sus resultados de consulta con la interfaz IFunctionDiscoveryNotification . GetInstanceCollection no encuentra instancias de función que se devuelven de esta manera y producirán un error con E_PENDING. Se recomienda que los clientes usen el método CreateInstanceQuery de la interfaz IFunctionDiscovery para buscar instancias de función para dichos proveedores.
Si el método se realiza correctamente pero no se encontraron instancias de función que coincidan con los parámetros de consulta, se devuelve S_OK y ppFunctionInstanceCollection apunta a una colección vacía (el método GetCount de la colección devuelve 0).
Las consultas de subcategoría solo se admiten para categorías superpuestas y algunas categorías de proveedor. El proveedor del Registro, el proveedor de asociaciones PnP-X y el proveedor de publicación admiten consultas de subcategoría. Los proveedores personalizados se pueden diseñar explícitamente para admitir consultas de subcategoría. Para otros proveedores, las colecciones de instancias de función se pueden filtrar mediante restricciones de consulta. Para obtener una lista de restricciones de consulta, vea Definiciones de restricciones.
Ejemplos
El código siguiente devuelve las instancias de función asociadas al proveedor SSDP en el espacio de nombres Microsoft.Networking.Devices.
hr = spDisco->GetInstanceCollection(FCTN_CATEGORY_NETWORKDEVICES,
FCTN_SUBCAT_NETWORKDEVICES_SSDP,
FALSE,
&spFunctionInstanceCollection);
Consulte restricciones de interfaz en IFunctionInstanceQuery para filtrar en varias interfaces a la vez o para filtrar por proveedores que no admiten consultas de subcategoría.
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 |