Compartir a través de


Método IWbemEventProviderQuerySink::NewQuery (wbemprov.h)

Llame al método IWbemEventProviderQuerySink::NewQuery cuando un consumidor de eventos lógicos registra un filtro de consulta de eventos pertinente con Administración de Windows. El método NewQuery determina cómo responde un proveedor a una nueva consulta registrada por una aplicación cliente. Cuando WMI recibe una consulta de eventos nueva o modificada de un consumidor, WMI llama a NewQuery para reproducir la consulta en el proveedor de eventos. A continuación, el proveedor genera la notificación solicitada.

Sintaxis

HRESULT NewQuery(
  [in] unsigned long dwId,
  [in] WBEM_WSTR     wszQueryLanguage,
  [in] WBEM_WSTR     wszQuery
);

Parámetros

[in] dwId

Identificador generado por la administración de Windows para la consulta. El proveedor puede realizar un seguimiento de esto para que durante una llamada posterior a CancelQuery para que el proveedor sepa qué consulta se canceló.

[in] wszQueryLanguage

Idioma del siguiente filtro de consulta. Para esta versión de WMI, siempre será "WQL".

[in] wszQuery

Texto del filtro de consulta de eventos, que registró un consumidor lógico. El proveedor de eventos puede examinar el texto del filtro de consulta a través del parámetro wszQuery y el idioma del filtro de consulta en el parámetro wszQueryLanguage para detectar qué notificaciones de eventos solicita el consumidor.

Valor devuelto

Este método devuelve un valor HRESULT que indica el estado de la llamada al método. En la lista siguiente se enumeran los códigos de retorno devueltos por NewQuery. Además, un proveedor de eventos de terceros podría devolver cualquier código de retorno WMI o COM válido que se podría pasar a través de NewQuery como un valor devuelto.

Comentarios

Si un consumidor registra una consulta de filtro de eventos con Administración de Windows y la consulta contiene referencias a eventos proporcionados por el proveedor de eventos actual, Windows Management puede notificar al proveedor de eventos de la consulta.

Si el proveedor implementa la interfaz IWbemEventProviderQuerySink , La administración de Windows proporcionará una copia del texto de consulta al proveedor. El proveedor debe analizar la consulta y determinar si puede realizar cualquier optimización interna.

Administración de Windows no espera que un proveedor modifique su comportamiento de ninguna manera. En su lugar, se trata de una llamada de asesoramiento para ayudar al proveedor con la optimización interna.

Por ejemplo, si el proveedor es capaz de proporcionar muchos cientos de eventos, pero la sobrecarga necesaria para proporcionar todos ellos es excelente, el proveedor puede lograr ahorros sustanciales si sabe que la mayoría de estos eventos no son necesarios para el conjunto actual de consumidores de eventos. Si el proveedor implementa IWbemEventProviderQuerySink, conocerá el conjunto actual de eventos solicitados por todos los consumidores. Puede evitar la configuración de los mecanismos para entregar la mayoría de los tipos de eventos que admite hasta que los consumidores empiecen a solicitar dichos eventos.

Para cada nuevo filtro de consulta de consumidor, se realizará una llamada independiente a este método con un dwId único. Ten en cuenta que Administración de Windows se reserva el derecho de llamar a NewQuery más de una vez para el mismo valor dwId; por ejemplo, si hay un cambio de esquema en otro lugar del sistema. Para esta versión de WMI, el lenguaje de consulta siempre es "WQL".

Se puede llamar al método IWbemEventProviderQuerySink::NewQuery antes del método IWbemEventProvider::P rovideEvents .

Requisitos

Requisito Value
Cliente mínimo compatible Windows Vista
Servidor mínimo compatible Windows Server 2008
Plataforma de destino Windows
Encabezado wbemprov.h (include Wbemidl.h)
Library Wbemuuid.lib
Archivo DLL Wbemsvc.dll

Consulte también

IWbemEventProviderQuerySink

IWbemEventProviderQuerySink::CancelQuery