Compartir a través de


Método CWbemProviderGlue::GetAllDerivedInstancesAsynch (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 GetAllDerivedInstancesAsynch recupera una lista de instancias admitidas por un proveedor determinado y derivada de una clase base determinada. Este método permite al proveedor responder de forma asincrónica devolviendo una instancia a la vez.

Sintaxis

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

Parámetros

pszBaseClassName

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

pRequester

Puntero 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 nombre de clase especificado por pszClassName. Cuando este parámetro 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.

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 GetAllDerivedInstancesAsynch realiza casi la misma función que GetAllDerivedInstances. 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.

Este método es semánticamente equivalente a la consulta SELECT * FROM pszBaseClassName.

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. Sin embargo, 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::GetAllDerivedInstances y Llamada 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