Método IWbemClassObject::P utMethod (wbemcli.h)

O IWbemClassObject::P utMethod é usado para criar um método. Essa chamada só terá suporte se o objeto atual for uma definição de classe CIM. A manipulação de método não está disponível em ponteiros IWbemClassObject que apontam para instâncias CIM.

O usuário não pode criar métodos com nomes que começam ou terminam com um sublinhado. Isso é reservado para propriedades e classes de sistema.

Sintaxe

HRESULT PutMethod(
  [in] LPCWSTR          wszName,
  [in] long             lFlags,
  [in] IWbemClassObject *pInSignature,
  [in] IWbemClassObject *pOutSignature
);

Parâmetros

[in] wszName

O nome do método que é criado.

[in] lFlags

Reservado. Esse parâmetro deve ser 0 (zero).

[in] pInSignature

Um ponteiro para uma cópia da classe do sistema __Parameters que contém os parâmetros in para o método . Esse parâmetro será ignorado se definido como NULL.

[in] pOutSignature

Um ponteiro para uma cópia da classe do sistema __Parameters que contém os parâmetros out para o objeto. Esse parâmetro será ignorado se definido como NULL.

Retornar valor

Esse método retorna um HRESULT que indica o status da chamada de método. A lista a seguir lista o valor contido em um HRESULT. Para obter valores gerais de HRESULT , consulte Códigos de erro do sistema.

Comentários

Para um método , os parâmetros de entrada e saída são descritos como propriedades em objetos IWbemClassObject .

Por exemplo, considere o seguinte método:

Class MyClass{
    [key] string KeyVal;
    sint32 PropVal;
    sint32 ExampleMethod([in] sint32 Param1, [in] uint32 Param2, 
        [out] string Param3);
    HRESULT ReturnValue;
};

No exemplo anterior, a classe tem um método . Para criar o método programaticamente, o usuário chama IWbemClassObject::P utMethod com o parâmetro pInSignature que aponta para uma cópia da classe do sistema __Parameters que contém duas propriedades: Param1 e Param2. O pOutSignature aponta para uma cópia da classe do sistema __Parameters que contém duas propriedades: Param3 e ReturnValue.

A propriedade ReturnValue do objeto apontado por pOutSignature determina o tipo de retorno do método. Se pOutSignature for definido como NULL, o tipo de retorno será considerado VOID.

Um parâmetro [in/out] pode ser definido adicionando a mesma propriedade a ambos os objetos apontados pelos parâmetros pInSignature e pOutSignature . Nesse caso, as propriedades compartilham o mesmo valor do qualificador de ID.

Cada propriedade em um objeto de classe __Parameters diferente de ReturnValue deve ter um qualificador de ID , um numérico baseado em zero que identifica a ordem na qual os parâmetros aparecem. Neste exemplo, Param1 seria 0, Param2 1 e Param3 2. Nenhum parâmetro pode ter o mesmo valor de ID e nenhum valor de ID pode ser ignorado. Se uma das condições ocorrer, IWbemClassObject::P utMethod retornaráWBEM_E_NONCONSECUTIVE_PARAMETER_IDS.

Nota O chamador deve chamar IWbemClassObject::Release nos ponteiros pInSignature e pOutSignature quando esses objetos não forem mais necessários.
 

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows Vista
Servidor mínimo com suporte Windows Server 2008
Plataforma de Destino Windows
Cabeçalho wbemcli.h (include Wbemidl.h)
Biblioteca WbemUuid.lib
DLL CIMWin32.dll; Esscli.dll; Fastprox.dll; FrameDyn.dll; FrameDynOS.dll; Krnlprov.dll; Ncprov.dll; Wbemcore.dll; Wbemess.dll; Wmipiprt.dll

Confira também

Como criar um método

IWbemClassObject

IWbemClassObject::GetMethod