Compartir a través de


Método IWbemServices::CreateClassEnum (wbemcli.h)

El método IWbemServices::CreateClassEnum devuelve un enumerador para todas las clases que cumplen los criterios de selección. El llamador debe usar el enumerador devuelto para recuperar las definiciones de clase, llamando a IEnumWbemClassObject::Next para obtener cada clase o bloques de clases. Finaliza llamando a IEnumWbemClassObject::Release.

Nota No es un error que el enumerador devuelto tenga 0 (cero).
 

Sintaxis

HRESULT CreateClassEnum(
  [in]  const BSTR           strSuperclass,
  [in]  long                 lFlags,
  [in]  IWbemContext         *pCtx,
  [out] IEnumWbemClassObject **ppEnum
);

Parámetros

[in] strSuperclass

Si no es NULL o en blanco, especifica un nombre de clase primario. Solo se devuelven las clases que son subclases de esta clase en el enumerador. Si es NULL o en blanco, y lFlags es WBEM_FLAG_SHALLOW, solo se devuelven las clases de nivel superior (es decir, las clases que no tienen ninguna clase primaria). Si es NULL o en blanco y lFlags es WBEM_FLAG_DEEP, se devuelven todas las clases del espacio de nombres.

[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 la enumeración a incluir todas las subclases de la jerarquía, pero no a esta clase.

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 provoca 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. Normalmente, los enumeradores de solo avance son 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 WMI 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).

[in] pCtx

Normalmente NULL. De lo contrario, se trata de un puntero a un objeto IWbemContext que puede usar el proveedor que proporciona las clases solicitadas. Los valores del objeto de contexto deben especificarse en la documentación del proveedor. Para obtener más información sobre este parámetro, vea Realizar llamadas a WMI.

[out] ppEnum

Recibe el puntero al enumerador. El objeto devuelto tiene un recuento de referencias positivo. El autor de la llamada debe llamar a Release en el puntero cuando ya no sea necesario.

Valor devuelto

Este método devuelve un HRESULT que indica el estado de una llamada de método. En la lista siguiente se muestra el valor contenido en un HRESULT.

Si se produce un error, puede obtener 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 provocan la pérdida de la conexión remota a la administración de Windows.

Requisitos

   
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

IEnumWbemClassObject

IWbemServices

IWbemServices::CreateClassEnumAsync

Recuperación de un código de error