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 |