Función PutMethod
Crea un método.
Nota
Esta API es solo para uso interno. No está pensada para usarla desde código del desarrollador.
Sintaxis
HRESULT PutMethod (
[in] int vFunc,
[in] IWbemClassObject* ptr,
[in] LPCWSTR wszName,
[in] LONG lFlags,
[in] IWbemClassObject* pInSignature,
[in] IWbemClassObject* pOutSignature
);
Parámetros
vFunc
[in] Este parámetro no se usa.
ptr
[in] El valor de este parámetro se corresponde con un puntero que apunta a una instancia de la interfaz IWbemClassObject.
wszName
[in] El valor de este parámetro se corresponde con el nombre del método que se va a crear.
lFlags
[in] Reservado. El valor de este parámetro deberá ser 0.
pSignatureIn
[in] El valor de este parámetro se corresponde con un puntero que apunta a una copia de la clase del sistema __Parameters en la que se incluyen los parámetros de entrada (in
) del método . Este parámetro se ignorará si su valor se establece en null
.
pSignatureOut
[in] El valor de este parámetro se corresponde con un puntero que apunta a una copia de la clase del sistema __Parameters en la que se incluyen los parámetros de salida (out
) del método. Este parámetro se ignorará si su valor se establece en null
.
Valor devuelto
Los siguientes valores que devuelve esta función se definen en el archivo de encabezado WbemCli.h, aunque también puede definirlos como constantes en el código. Puede consultarlos a continuación:
Constante | Value | Descripción |
---|---|---|
WBEM_E_INVALID_PARAMETER |
0x80041008 | Si se devuelve este valor, significará que uno o más parámetros no son válidos. |
WBEM_E_INVALID_DUPLICATE_PARAMETER |
0x80041043 | Si se devuelve este valor, significará que el parámetro de entrada y salida ([in, out] ) del método que se especificó en los objetos pInSignature y pOutSignature tienen calificadores distintos. |
WBEM_E_MISSING_PARAMETER_ID |
0x80041036 | Si se devuelve este valor, significará que a uno de los parámetros del método le falta la especificación del calificador de id. |
WBEM_E_NONCONSECUTIVE_PARAMETER_IDS |
0x80041038 | Si se devuelve este valor, significará que la serie de id. que se asignó a los parámetros del método no es consecutiva o no comienza en 0. |
WBEM_E_PARAMETER_ID_ON_RETVAL |
0x80041039 | Si se devuelve este valor, significará que el valor que se devolvió a un método contiene un calificador de id. |
WBEM_E_PROPAGATED_METHOD |
0x80041034 | Si se devuelve este valor, significará que se intentó reutilizar un nombre de método existente desde una clase primaria pero las signaturas no coincidieron. |
WBEM_S_NO_ERROR |
0 | Si se devuelve este valor, significará que la llamada a la función se realizó correctamente. |
Comentarios
Al usar esta función, se ajusta una llamada al método IWbemClassObject::PutMethod.
Esta llamada al método solo se admitirá si el valor del parámetro ptr
se corresponde con una definición de clase CIM. No es posible manipular métodos mediante punteros IWbemClassObject que apunten a instancias de CIM.
Los usuarios no pueden crear métodos con nombres que comiencen o terminen con un carácter de subrayado. Esto se reserva para las clases y las propiedades del sistema.
Los parámetros de entrada (in
) y salida (out
) de un método se describen como propiedades en los objetos de tipo IWbemClassObject.
Para definir un parámetro de entrada o salida ([in/out]
), puede agregar la misma propiedad a los objetos a los que apuntan los parámetros pInSignature
y pOutSignature
. En este caso, las propiedades compartirán el mismo valor de calificador de id.
Cada propiedad de un objeto de clase __Parameters excepto la propiedad ReturnValue
debe tener un calificador de id., que se establece con un valor numérico de base cero con el que se identifica el orden en que aparecen los parámetros. No puede haber dos parámetros con el mismo valor de id. y tampoco se puede omitir ningún valor de id. Si se produce cualquiera de estas condiciones, la función PutMethod
devolverá el valor WBEM_E_NONCONSECUTIVE_PARAMETER_IDS
.
Ejemplo
Para obtener un ejemplo, consulte el método IWbemClassObject::PutMethod.
Requisitos
Plataformas: Vea Requisitos de sistema.
Encabezado: WMINet_Utils.idl
Versiones de .NET Framework: está disponible desde la versión 4.7.2