Compartir a través de


Método CWbemProviderGlue::GetInstancesByQueryAsynch (wbemglue.h)

[La clase CWbemProviderGlue forma parte del marco de proveedor de WMI que ahora se considera en estado final y no habrá más trabajo de desarrollo, mejoras ni actualizaciones disponibles para problemas no relacionados con la seguridad que afecten a estas bibliotecas. Las API de MI se deben usar para todo el nuevo desarrollo.]

El método GetInstancesByQueryAsynch recupera una lista de instancias admitidas por un proveedor determinado y que coinciden con una consulta determinada. Este método permite al proveedor responder de forma asincrónica devolviendo una instancia a la vez.

Sintaxis

HRESULT GetInstancesByQueryAsynch(
  LPCWSTR                    query,
  Provider                   *pRequester,
  LPProviderInstanceCallback pCallback,
  LPCWSTR                    pszNamespace,
  MethodContext              *pMethodContext,
  void                       *pUserData
);

Parámetros

query

Consulta que se va a ejecutar.

pRequester

Puntero de la instancia de la clase proporcionada por el proveedor de marcos. Este puntero "this" se pasa a la función pCallback en caso de que la función de devolución de llamada lo requiera.

pCallback

Puntero a una función estática con este prototipo.

static HRESULT WINAPI Classname::FunctionName(Provider *pProvider,
                                              CInstance *pInstance,
                                              MethodContext *pMethodContext,
                                              void *pUserData );

donde Classname es el nombre de una clase derivada de la clase Provider. Es una instancia de esta clase que es el puntero "this" definido por pRequester.

pszNamespace

Espacio de nombres para la consulta. Si es NULL, se usa el espacio de nombres predeterminado root\cimv2.

pMethodContext

Puntero al contexto actual. Se debe proporcionar un contexto para evitar interbloqueos. Use el contexto pasado al proveedor por Provider::EnumerateInstances o Provider::ExecQuery, o bien úselo de la instancia mediante CInstance::GetMethodContext. Este parámetro no debe ser NULL.

pUserData

Puntero a los datos definidos por el usuario que se pasan a la función a la que apunta pCallback. Si es NULL, no hay datos definidos por el usuario.

Valor devuelto

El método devuelve WBEM_S_NO_ERROR si la operación se realizó correctamente, WBEM_E_OUT_OF_MEMORY si se produjo un error en la operación debido a la falta de memoria o a cualquier otro código de error HRESULT.

Comentarios

El método GetInstancesByQueryAsynch permite a los proveedores de marcos acceder a los datos de otros proveedores sin tener que realizar una llamada API de WMI. Los proveedores de marcos pasan una consulta a GetInstancesByQueryAsynch, que devuelve las instancias adecuadas.

Por motivos de rendimiento, al llamar a esta función, especifique solo las propiedades que necesita (por ejemplo, especifique el nombre SELECT en lugar de SELECT *).

Dado que es posible que la devolución de llamada al receptor no se devuelva en el mismo nivel de autenticación que requiere el cliente, se recomienda usar la comunicación semiincrónica en lugar de asincrónica. Si necesita comunicación asincrónica, consulte Llamar a un método.

Para obtener más información sobre el uso de métodos semisynchronously, vea CWbemProviderGlue::GetInstancesByQuery y Llamar a un método.

Requisitos

   
Cliente mínimo compatible Windows Vista
Servidor mínimo compatible Windows Server 2008
Plataforma de destino Windows
Encabezado wbemglue.h (include FwCommon.h)
Library FrameDyn.lib
Archivo DLL FrameDynOS.dll; FrameDyn.dll