Compartir a través de


Método CWbemProviderGlue::GetAllInstancesAsynch (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 GetAllInstancesAsynch recupera una lista de instancias devueltas por una clase específica. Este método permite al proveedor responder de forma asincrónica devolviendo una instancia a la vez.

Sintaxis

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

Parámetros

pszClassName

Nombre de la clase para la que se debe devolver la lista de instancias.

pRequester

Puntero "This" para la función de devolución de llamada a la que apunta pCallback.

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. Se llama a esta función para devolver cada instancia admitida por el proveedor especificado por pszClassName.

pszNamespace

Espacio de nombres del proveedor especificado por pszClassName. Este parámetro puede ser NULL para indicar el espacio de nombres predeterminado, que es 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 obtengalo de la instancia mediante CInstance::GetMethodContext. Este parámetro no debe ser NULL.

pUserData

Puntero a datos definidos por el usuario que se pasan a la función a la que apunta pCallback.

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 GetAllInstancesAsynch realiza casi la misma función que GetAllInstances. Sin embargo, en lugar de devolver una matriz arbitrariamente grande de instancias, el proveedor pasa una instancia a la función especificada por pCallback cada vez que la instancia se recupera de un proveedor. Esto permite al proveedor usar menos memoria y empezar a devolver instancias al cliente antes.

Nota 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 semisynchronous en lugar de la comunicación asincrónica. Para más información, vea Llamada a un método.
 
Este método es semánticamente equivalente a la consulta SELECT * FROM pszBaseClassName WHERE __Class = pszBaseClassName.

Requisitos

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