Condividi tramite


Metodo IWbemClassObject::P utMethod (wbemcli.h)

IWbemClassObject::P utMethod viene usato per creare un metodo. Questa chiamata è supportata solo se l'oggetto corrente è una definizione di classe CIM. La manipolazione dei metodi non è disponibile dai puntatori IWbemClassObject che puntano alle istanze CIM.

L'utente non può creare metodi con nomi che iniziano o terminano con un carattere di sottolineatura. Questa opzione è riservata alle classi di sistema e alle proprietà.

Sintassi

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

Parametri

[in] wszName

Nome del metodo creato.

[in] lFlags

Riservato. Questo parametro deve essere 0 (zero).

[in] pInSignature

Puntatore a una copia della classe di sistema __Parameters che contiene i parametri nei parametri per il metodo . Questo parametro viene ignorato se impostato su NULL.

[in] pOutSignature

Puntatore a una copia della classe di sistema __Parameters che contiene i parametri out per l'oggetto. Questo parametro viene ignorato se impostato su NULL.

Valore restituito

Questo metodo restituisce un valore HRESULT che indica lo stato della chiamata al metodo. L'elenco seguente elenca il valore contenuto in hrESULT. Per i valori HRESULT generali, vedere Codici di errore di sistema.

Commenti

Per un metodo, i parametri in e out vengono descritti come proprietà negli oggetti IWbemClassObject .

Si consideri ad esempio il metodo seguente:

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

Nell'esempio precedente la classe ha un metodo. Per creare il metodo a livello di codice, l'utente chiama IWbemClassObject::P utMethod con il parametro pInSignature che punta a una copia della classe di sistema __Parameters che contiene due proprietà: Param1 e Param2. POutSignature punta a una copia della classe di sistema __Parameters che contiene due proprietà: Param3 e ReturnValue.

La proprietà ReturnValue dell'oggetto a cui punta pOutSignature determina il tipo restituito del metodo. Se pOutSignature è impostato su NULL, si presuppone che il tipo restituito sia VOID.

È possibile definire un parametro [in/out] aggiungendo la stessa proprietà a entrambi gli oggetti a cui puntano i parametri pInSignature e pOutSignature . In questo caso, le proprietà condividono lo stesso valore del qualificatore ID .

Ogni proprietà in un oggetto classe __Parameters diverso da ReturnValue deve avere un qualificatore ID , un valore numerico in base zero che identifica l'ordine in cui vengono visualizzati i parametri. In questo esempio , Param1 sarà 0, Param2 1 e Param3 2. Nessun parametro può avere lo stesso valore ID e non è possibile ignorare alcun valore ID . Se si verifica una delle due condizioni, IWbemClassObject::P utMethod restituisce WBEM_E_NONCONSECUTIVE_PARAMETER_IDS.

Nota Il chiamante deve chiamare IWbemClassObject::Release nei puntatori pInSignature e pOutSignature quando questi oggetti non sono più necessari.
 

Requisiti

Requisito Valore
Client minimo supportato Windows Vista
Server minimo supportato Windows Server 2008
Piattaforma di destinazione Windows
Intestazione wbemcli.h (include Wbemidl.h)
Libreria WbemUuid.lib
DLL CIMWin32.dll; Esscli.dll; Fastprox.dll; FrameDyn.dll; FrameDynOS.dll; Krnlprov.dll; Ncprov.dll; Wbemcore.dll; Wbemess.dll; Wmipiprt.dll

Vedi anche

Creazione di un metodo

IWbemClassObject

IWbemClassObject::GetMethod