Provider::ExecMethod(constCInstance&,constBSTR,CInstance*,CInstance*,long) (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 ExecMethod para invocar un método en una clase o instancia.
Sintaxis
HRESULT ExecMethod(
[ref] const CInstance & cInstance,
const BSTR bstrMethodName,
CInstance *pInParams,
CInstance *pOutParams,
long lFlags
);
Parámetros
[ref] cInstance
Propiedades clave de la instancia en cuestión si el cliente llamó a un método de instancia. Si el cliente llamó a un método estático, Instance contiene un objeto de clase.
bstrMethodName
Nombre del método que se invoca.
pInParams
Puntero a los parámetros de entrada del método.
pOutParams
Puntero a los parámetros de salida del método.
lFlags
Máscara de bits de marcas con información sobre la operación del método execute. Este es el valor especificado por el cliente en el método IWbemServices::ExecMethod . Pocos clientes usan los parámetros lFlags . Puede omitir lFlags de forma segura en la mayoría de las implementaciones del proveedor.
WMI controla la marca siguiente (y filtrada):
- WBEM_FLAG_RETURN_IMMEDIATELY
Valor devuelto
La implementación predeterminada del proveedor de marcos de este método devuelve WBEM_E_PROVIDER_NOT_CAPABLE al método que realiza la llamada. El método IWbemServices::ExecMethod enumera los valores devueltos más comunes, aunque puede elegir devolver cualquier código de retorno COM.
Los valores devueltos para los métodos pueden ser uno de los dos tipos:
- HRESULT se usa para indicar errores de tipo WMI: WBEM_E_OUT_OF_MEMORY, WBEM_E_NOT_FOUND, etc.
- El valor devuelto del método (como uint32) devuelve el resultado del método .
Comentarios
WMI llama a ExecMethod cuando un cliente llama a IWbemServices::ExecMethod en su clase. Por lo tanto, debe implementar ExecMethod si el proveedor admite uno o varios métodos. En la lista siguiente se describe una implementación común de ExecMethod:
- Determine qué método llamó el cliente examinando el parámetro bstrMethodName .
-
Recupere los parámetros de entrada del parámetro pInParams mediante los métodos Get de la clase CInstance , como CInstance::GetCHString.
Un método puede tener parámetros de entrada, parámetros de salida, parámetros de entrada y salida, o ningún parámetro de entrada o salida.
-
Establezca los parámetros de salida en el parámetro pOutParams mediante los métodos Set de la clase CInstance, como CInstance::SetByte o CInstance::SetStringArray.
Además de declarar las propiedades [out] como se especifica en la declaración de devolución, también debe declarar el valor devuelto para el método , tal como se define en la propiedad ReturnValue . No es necesario declarar un valor devuelto si el valor devuelto es void.
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 |