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

Consulte también

IWbemServices

IWbemServices::CreateInstanceEnumAsync

Recuperación de un código de error