Método IWbemServices::CreateInstanceEnum (wbemcli.h)
El método IWbemServices::CreateInstanceEnum crea un enumerador que devuelve las instancias de una clase especificada según los criterios de selección especificados por el usuario. Este método admite consultas WQL sencillas; Se pueden procesar consultas más complejas mediante el método IWbemServices::ExecQuery .
Sintaxis
HRESULT CreateInstanceEnum(
[in] const BSTR strFilter,
[in] long lFlags,
[in] IWbemContext *pCtx,
[out] IEnumWbemClassObject **ppEnum
);
Parámetros
[in] strFilter
BSTR válido que contiene el nombre de la clase para la que se desean las instancias. Este parámetro no puede ser NULL.
[in] lFlags
Las marcas siguientes afectan al comportamiento de este método. El valor sugerido para este parámetro es WBEM_FLAG_RETURN_IMMEDIATELY y WBEM_FLAG_FORWARD_ONLY para obtener el mejor rendimiento.
WBEM_FLAG_USE_AMENDED_QUALIFIERS
Si se establece esta marca, WMI recupera los calificadores modificados almacenados en el espacio de nombres localizado de la configuración regional de la conexión actual. Si no se establece, solo se recuperan los calificadores almacenados en el espacio de nombres inmediato.
WBEM_FLAG_DEEP
Esta marca obliga a que la enumeración incluya esta y todas las subclases de la jerarquía.
WBEM_FLAG_SHALLOW
Esta marca obliga a la enumeración a incluir solo instancias puras de esta clase, excepto todas las instancias de subclases que proporcionan propiedades que no se encuentran en esta clase.
WBEM_FLAG_RETURN_IMMEDIATELY
Esta marca hace que sea una llamada semiincrónica. Para más información, vea Llamada a un método.
WBEM_FLAG_FORWARD_ONLY
Esta marca hace que se devuelva un enumerador de solo avance. Los enumeradores de solo avance suelen ser mucho más rápidos y usan menos memoria que los enumeradores convencionales, pero no permiten llamadas a Clone o Reset.
WBEM_FLAG_BIDIRECTIONAL
Esta marca hace que La administración de Windows conserve punteros a objetos de la enumeración hasta que el cliente libere el enumerador. Dado que los punteros de objeto no se liberan inmediatamente, este método puede producir un error hResult de WBEM_E_OUT_OF_MEMORY si el cliente intenta enumerar un gran número de objetos. Esta marca está implícita de forma predeterminada si establece el parámetro lFlags en 0 (cero).
WBEM_FLAG_DIRECT_READ
Esta marca provoca el acceso directo al proveedor de la clase especificada sin tener en cuenta su clase o subclases primarias.
[in] pCtx
Normalmente , NULL. De lo contrario, se trata de un puntero a un objeto IWbemContext que puede usar el proveedor que proporciona las instancias solicitadas. Los valores del objeto de contexto deben especificarse en la documentación del proveedor en cuestión. Para obtener más información sobre este parámetro, vea Realizar llamadas a WMI.
[out] ppEnum
Recibe el puntero al enumerador, que tiene un recuento de referencias positivo. El autor de la llamada debe llamar a IUnknown::Release en el puntero después de que ya no sea necesario.
Valor devuelto
Este método devuelve un valor HRESULT que indica el estado de la llamada al método. En la lista siguiente se muestra el valor contenido en un HRESULT.
Si se produce un error, puede obtener cualquier información disponible de la función COM GetErrorInfo.
También se pueden devolver códigos de error específicos de COM si los problemas de red hacen que pierda la conexión remota a administración de Windows.
Comentarios
No es un error para que el enumerador devuelto tenga cero elementos.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows Vista |
Servidor mínimo compatible | Windows Server 2008 |
Plataforma de destino | Windows |
Encabezado | wbemcli.h (include Wbemidl.h) |
Library | Wbemuuid.lib |
Archivo DLL | Fastprox.dll; Esscli.dll; FrameDyn.dll; FrameDynOS.dll; Ntevt.dll; Stdprov.dll; Viewprov.dll; Wbemcomn.dll; Wbemcore.dll; Wbemess.dll; Wbemsvc.dll; Wmipicmp.dll; Wmidcprv.dll; Wmipjobj.dll; Wmiprvsd.dll |