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.
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 |