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 |