Compartir a través de


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:

  1. Determine el método al que llamó el cliente mediante el examen del parámetro bstrMethodName .
  2. 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.

  3. 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.

Para obtener más información, vea IWbemServices::ExecMethod.

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