Método IFunctionDiscoveryProvider::Query (functiondiscoveryprovider.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.
Recupera una colección de instancias de función que cumplen las restricciones especificadas.
Sintaxis
HRESULT Query(
[in] IFunctionDiscoveryProviderQuery *pIFunctionDiscoveryProviderQuery,
[out] IFunctionInstanceCollection **ppIFunctionInstanceCollection
);
Parámetros
[in] pIFunctionDiscoveryProviderQuery
Puntero a una interfaz IFunctionDiscoveryProviderQuery que contiene parámetros que definen los criterios de consulta.
[out] ppIFunctionInstanceCollection
Puntero a una interfaz IFunctionInstanceCollection que el proveedor debe usar para devolver instancias de función de forma sincrónica en respuesta a la consulta especificada.
Al implementar el método Query , puede establecer este parámetro en NULL si el proveedor admite notificaciones, es decir, el proveedor devuelve los resultados de forma asincrónica. Los resultados asincrónicos se deben devolver mediante la interfaz IFunctionDiscoveryNotification que se pasa al método Initialize del proveedor.
Si la aplicación cliente no ha implementado notificaciones, puede pasar un parámetro NULL .
Valor devuelto
Entre los valores devueltos posibles se incluyen, entre otros, los siguientes.
Código devuelto | Descripción |
---|---|
|
El método se completó correctamente y los resultados se devuelven de forma sincrónica. |
|
El parámetro pIFunctionDiscoveryProviderQuery es NULL. |
|
El método se completó correctamente y los resultados se devuelven de forma asincrónica. |
Comentarios
La detección de funciones finaliza una consulta activa con una llamada al método EndQuery . Tenga en cuenta que solo se llamará a EndQuery si el cliente especificó una interfaz IFunctionDiscoveryNotification para la consulta. Si no se proporcionó un IFunctionDiscoveryNotification , el proveedor debe considerar la consulta finalizada una vez completada la llamada de consulta .
Un cliente puede volver a ejecutar una consulta en cualquier momento después de que se haya devuelto la llamada de consulta anterior. La implementación de Query debe ser capaz de devolver una IFunctionInstanceCollection para la nueva consulta. Solo se llamará a EndQuery antes de una llamada de consulta posterior cuando un cliente pase una interfaz IFunctionDiscoveryNotification pasada al método Initialize del proveedor.
Si Query devuelve E_PENDING, el proveedor debe llamar al método OnEvent de la interfaz IFunctionDiscoveryNotification con FD_EVENTID_SEARCHCOMPLETE para indicar que se ha completado la enumeración de resultados. Si no se envía el evento FD_EVENTID_SEARCHCOMPLETE , los clientes pueden colgar indefinidamente
Requisitos
Requisito | Value |
---|---|
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 | functiondiscoveryprovider.h |