Función CreateInstanceEnumWmi
Devuelve un enumerador que devuelve las instancias de una clase especificada que cumpla 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 CreateInstanceEnumWmi (
[in] BSTR strFilter,
[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
strFilter
[in] Nombre de la clase para la que se desean las instancias. Este parámetro no puede ser null
.
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 | La enumeración incluye esta y todas las subclases de la jerarquía. |
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 a una instancia de IWbemContext que puede usar el proveedor que proporciona las instancias solicitadas.
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 | El usuario no tiene permiso para ver las instancias de la clase especificada. |
WBEM_E_FAILED |
0x80041001 | Error no especificado. |
WBEM_E_INVALID_CLASS |
0x80041010 | strFilter 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.
Tenga en cuenta que el enumerador devuelto puede tener cero elementos.
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