Método Provider::EnumerateInstances (provider.h)
[La clase Provider forma parte del marco del proveedor de WMI que ahora se considera en estado final y no habrá más desarrollo, mejoras o actualizaciones disponibles para problemas no relacionados con la seguridad que afecten a estas bibliotecas. Las API de MI se deben usar para todo el nuevo desarrollo.]
WMI llama al método EnumerateInstances para recuperar todas las instancias de la clase de un proveedor de marcos.
Sintaxis
HRESULT EnumerateInstances(
MethodContext *pMethodContext,
long lFlags
);
Parámetros
pMethodContext
Puntero al objeto de contexto de esta llamada. Este valor contiene las propiedades IWbemContext especificadas por el cliente. Además, este puntero debe usarse como parámetro para cualquier llamada a WMI.
lFlags
Máscara de bits de marcas con información sobre la operación EnumerateInstances . Este es el valor especificado por el cliente en el método IWbemServices::CreateInstanceEnum .
WMI controla las marcas siguientes (y filtradas):
- WBEM_FLAG_DEEP
- WBEM_FLAG_SHALLOW
- WBEM_FLAG_RETURN_IMMEDIATELY
- WBEM_FLAG_FORWARD_ONLY
- WBEM_FLAG_BIDIRECTIONAL
- WBEM_FLAG_USE_AMENDED_QUALIFIERS
Valor devuelto
La implementación predeterminada del proveedor del marco de trabajo de este método devuelve WBEM_E_PROVIDER_NOT_CAPABLE al método que realiza la llamada. El método IWbemServices::CreateInstanceEnum enumera los valores devueltos más comunes, pero puede elegir devolver cualquier código de retorno COM.
Comentarios
No es un error para EnumerateInstances devolver cero instancias mediante la creación de instancias de cero instancias de CInstance y el establecimiento del valor devuelto en WBEM_S_NO_ERROR.
WMI suele llamar a EnumerateInstances cuando una aplicación cliente llama a IWbemServices::CreateInstanceEnum, aunque WMI también puede llamar a EnumerateInstances en otras situaciones. A continuación se muestra una manera común de invalidar EnumerateInstances:
- Cree una instancia vacía de la clase mediante Provider::CreateNewInstance.
- Rellene las propiedades de la instancia vacía mediante los métodos Set de la clase CInstance , como CInstance::SetByte o CInstance::SetStringArray.
- Vuelva a enviar la instancia al cliente mediante CInstance::Commit.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows Vista |
Servidor mínimo compatible | Windows Server 2008 |
Plataforma de destino | Windows |
Encabezado | provider.h (include FwCommon.h) |
Library | FrameDyn.lib |
Archivo DLL | FrameDynOS.dll; FrameDyn.dll |