Función CreateClassEnumWmi
Devuelve un enumerador para todas las clases que cumplan los criterios de selección especificados.
Nota
Esta API es solo para uso interno. No está pensada para usarla desde código del desarrollador.
Sintaxis
HRESULT CreateClassEnumWmi (
[in] BSTR strSuperclass,
[in] long lFlags,
[in] IWbemContext* pCtx,
[out] IEnumWbemClassObject** ppEnum,
[in] DWORD authLevel,
[in] DWORD impLevel,
[in] IWbemServices* pCurrentNamespace,
[in] BSTR strUser,
[in] BSTR strPassword,
[in] BSTR strAuthority
);
Parámetros
strSuperclass
[in] Si este valor no es null
o no está en blanco, este se usará para especificar el nombre de una clase primaria; desde el enumerador solo se devolverán subclases de esta clase. Si el valor es null
o está en blanco y el valor del parámetro lFlags
se establece en WBEM_FLAG_SHALLOW, solo se devolverán clases de nivel superior (clases sin ninguna clase primaria). Si el valor es null
o está en blanco y el valor del parámetro lFlags
se establece en WBEM_FLAG_DEEP
, se devolverán todas las clases del espacio de nombres.
lFlags
[in] El valor de este parámetro se corresponde con una combinación de marcas que afectan al comportamiento de esta función. Los siguientes valores se definen en el archivo de encabezado WbemCli.h, aunque también puede definirlos como constantes en el código. Puede consultarlos a continuación:
Constante | Value | Descripción |
---|---|---|
WBEM_FLAG_USE_AMENDED_QUALIFIERS |
0x20000 | Si se establece este valor, desde la función se recuperarán los calificadores modificados que se almacenen en el espacio de nombres localizado de la configuración regional de la conexión actual. Si este no se establece, desde la función solo se recuperarán los calificadores que se almacenen en el espacio de nombres inmediato. |
WBEM_FLAG_DEEP |
0 | Si se establece este valor, se incluirán todas las subclases de la jerarquía en la enumeración, pero no esta clase. |
WBEM_FLAG_SHALLOW |
1 | Si se establece este valor, solo se incluirán als instancias puras de esta clase en la enumeración y se excluirán todas las instancias de subclases desde las que se proporcionen propiedades que no se encuentren en esta clase. |
WBEM_FLAG_RETURN_IMMEDIATELY |
0x10 | Si se establece esta marca, se producirá una llamada semisincrónica. |
WBEM_FLAG_FORWARD_ONLY |
0x20 | Si se establece esta marca, se devolverá un enumerador que solo se lee hacia adelante de la función. Normalmente, el uso de enumeradores que solo se leen hacia adelante es más rápido y requiere un menor uso de memoria que cuando se usan enumeradores convencionales. Sin embargo, al usarlos no se permite que se realicen llamadas a la función Clone. |
WBEM_FLAG_BIDIRECTIONAL |
0 | Si se establece este valor, la extensión WMI conservará los punteros que apunten a objetos de la enumeración hasta que estos se liberen. |
Las marcas cuyo uso se recomienda para obtener un mejor rendimiento son WBEM_FLAG_RETURN_IMMEDIATELY
y WBEM_FLAG_FORWARD_ONLY
.
pCtx
[in] Normalmente, este valor es null
. De lo contrario, es un puntero que apunta a una instancia de la interfaz IWbemContext que puede usarse en el proveedor que proporciona las clases que se solicitan.
ppEnum
[out] El valor de este parámetro se corresponde con el puntero que apunta al enumerador.
authLevel
[in] El valor de este parámetro se corresponde con el nivel de autorización.
impLevel
[in] El valor de este parámetro se corresponde con el nivel de suplantación.
pCurrentNamespace
[in] El valor de este parámetro se corresponde con un puntero que apunta a un objeto IWbemServices que, a su vez, se usa para representar el espacio de nombres actual.
strUser
[in] El valor de este parámetro se corresponde con el nombre de usuario. Consulte la función ConnectServerWmi para obtener más información.
strPassword
[in] El valor de este parámetro se corresponde con la contraseña. Consulte la función ConnectServerWmi para obtener más información.
strAuthority
[in] El valor de este parámetro se corresponde con el nombre de dominio del usuario. Consulte la función ConnectServerWmi para obtener más información.
Valor devuelto
Los siguientes valores que devuelve esta función se definen en el archivo de encabezado WbemCli.h, aunque también puede definirlos como constantes en el código. Puede consultarlos a continuación:
Constante | Value | Descripción |
---|---|---|
WBEM_E_ACCESS_DENIED |
0x80041003 | Si se devuelve este valor, significa que el usuario no tiene permiso para visualizar una o varias de las clases que se pueden devolver desde función. |
WBEM_E_FAILED |
0x80041001 | Error no especificado. |
WBEM_E_INVALID_CLASS |
0x80041010 | strSuperClass no existe. |
WBEM_E_INVALID_PARAMETER |
0x80041008 | Un parámetro no es válido. |
WBEM_E_OUT_OF_MEMORY |
0x80041006 | Memoria insuficiente para completar la operación. |
WBEM_E_SHUTTING_DOWN |
0x80041033 | Si se devuelve este valor, significa que es probable que WMI se encontrara en un proceso de detención y reinicio. En este caso, vuelva a llamar a la función ConnectServerWmi. |
WBEM_E_TRANSPORT_FAILURE |
0x80041015 | Si se devuelve este valor, significará que ha ocurrido un error en el vínculo de llamada a procedimiento remoto (RPC) entre el proceso actual y WMI. |
WBEM_S_NO_ERROR |
0 | Si se devuelve este valor, significará que la llamada a la función se realizó correctamente. |
Comentarios
Al usar esta función, se ajusta una llamada al método IWbemServices::CreateClassEnum.
Si se produce un error en la llamada a la función, podrá obtener información adicional sobre este mediante una llamada a la función GetErrorInfo.
Requisitos
Plataformas: Vea Requisitos de sistema.
Encabezado: WMINet_Utils.idl
Versiones de .NET Framework: está disponible desde la versión 4.7.2