Provider::ExecMethod(ParsedObjectPath*,BSTR,long,CInstance*,CInstance*,MethodContext*) (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(
ParsedObjectPath *pParsedObjectPath,
BSTR bstrMethodName,
long lFlags,
CInstance *pInParams,
CInstance *pOutParams,
MethodContext *pContext
);
Parámetros
pParsedObjectPath
TBD
bstrMethodName
Nombre del método que se invoca.
lFlags
Máscara de bits de marcas con información sobre la operación del método de ejecución. 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
pInParams
Puntero a los parámetros de entrada del método.
pOutParams
Puntero a los parámetros de salida del método.
pContext
TBD
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::ExecMethod enumera los valores devueltos más comunes, aunque puede optar por 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 el método al que llamó el cliente mediante el examen del 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 |