Compartir a través de


Método IWbemServices::P utClass (wbemcli.h)

El método IWbemServices::P utClass crea una nueva clase o actualiza una existente. La clase especificada por el parámetro pObject debe haberse inicializado correctamente con todos los valores de propiedad necesarios.

Es posible que el usuario no cree clases con nombres que comiencen o terminen con un carácter de subrayado (_). Esto está reservado para las clases del sistema.

Sintaxis

HRESULT PutClass(
  [in]  IWbemClassObject *pObject,
  [in]  long             lFlags,
  [in]  IWbemContext     *pCtx,
  [out] IWbemCallResult  **ppCallResult
);

Parámetros

[in] pObject

Debe apuntar a una definición de clase válida. No se cambia el recuento de referencias.

[in] lFlags

Las marcas siguientes afectan al comportamiento de este método.

WBEM_FLAG_USE_AMENDED_QUALIFIERS

Si se establece esta marca, WMI no almacena ningún calificador con el sabor modificado. Si no se establece esta marca, se supone que este objeto no está localizado y todos los calificadores se almacenan con esta instancia.

WBEM_FLAG_CREATE_OR_UPDATE

Esta marca hace que la clase se cree si no existe o se sobrescribe si ya existe.

WBEM_FLAG_UPDATE_ONLY

Esta marca hace que esta llamada se actualice. La clase debe existir para que la llamada se realice correctamente.

WBEM_FLAG_CREATE_ONLY

Esta marca solo se usa para la creación. Se produce un error en la llamada si la clase ya existe.

WBEM_FLAG_RETURN_IMMEDIATELY

Esta marca hace que sea una llamada semiincrónica. Para más información, vea Llamada a un método.

WBEM_FLAG_OWNER_UPDATE

Los proveedores de inserción deben especificar esta marca al llamar a PutClass para indicar que esta clase ha cambiado.

WBEM_FLAG_UPDATE_COMPATIBLE

Esta marca permite actualizar una clase si no hay ninguna clase derivada y no hay ninguna instancia de esa clase. También permite actualizaciones en todos los casos si el cambio es solo para calificadores no importantes (por ejemplo, el calificador Description ). Este es el comportamiento predeterminado de esta llamada y se usa para la compatibilidad con versiones anteriores de administración de Windows. Si la clase tiene instancias o los cambios son en calificadores importantes, se produce un error en la actualización.

WBEM_FLAG_UPDATE_SAFE_MODE

Esta marca permite actualizaciones de clases incluso si hay clases secundarias siempre y cuando el cambio no cause ningún conflicto con las clases secundarias. Un ejemplo de una actualización de esta marca permitiría agregar una nueva propiedad a la clase base que no se mencionó anteriormente en ninguna de las clases secundarias. Si la clase tiene instancias, se produce un error en la actualización.

WBEM_FLAG_UPDATE_FORCE_MODE

Esta marca fuerza la actualización de las clases cuando existen clases secundarias en conflicto. Un ejemplo de una actualización de esta marca forzaría si se definiese un calificador de clase en una clase secundaria y la clase base intentó agregar el mismo calificador que entraba en conflicto con el existente. En el modo de fuerza, este conflicto se resolvería eliminando el calificador en conflicto en la clase secundaria.

[in] pCtx

Normalmente , NULL. De lo contrario, se trata de un puntero a un objeto IWbemContext requerido por el proveedor de clases dinámicas que genera las instancias de clase. Los valores del objeto de contexto deben especificarse en la documentación del proveedor en cuestión. Para obtener más información sobre este parámetro, vea Realizar llamadas a WMI.

[out] ppCallResult

Si es NULL, este parámetro no se usa. Si el parámetro lFlags contiene WBEM_FLAG_RETURN_IMMEDIATELY, esta llamada devuelve inmediatamente con WBEM_S_NO_ERROR. El parámetro ppCallResult recibe un puntero a un nuevo objeto IWbemCallResult , que luego se puede sondear para obtener el resultado mediante el método IWbemCallResult::GetCallStatus .

Valor devuelto

Este método devuelve un valor HRESULT que indica el estado de la llamada al método. En la lista siguiente se muestra el valor contenido en un HRESULT.

Si se produce un error, puede obtener cualquier información disponible de la función COM GetErrorInfo.

También se pueden devolver códigos de error específicos de COM si los problemas de red hacen que pierda la conexión remota a administración de Windows.

Nota Un comportamiento impredecible dará como resultado si cambia las definiciones de clase mientras están en uso por parte de clientes o proveedores. El método IWbemServices::P utClass solo se debe usar para crear o actualizar una clase cuando no hay clientes o proveedores que usen actualmente la clase .
 

Requisitos

Requisito Value
Cliente mínimo compatible Windows Vista
Servidor mínimo compatible Windows Server 2008
Plataforma de destino Windows
Encabezado wbemcli.h (include Wbemidl.h)
Library Wbemuuid.lib
Archivo DLL Fastprox.dll; Esscli.dll; FrameDyn.dll; FrameDynOS.dll; Ntevt.dll; Stdprov.dll; Viewprov.dll; Wbemcomn.dll; Wbemcore.dll; Wbemess.dll; Wbemsvc.dll; Wmipicmp.dll; Wmidcprv.dll; Wmipjobj.dll; Wmiprvsd.dll

Consulte también

Crear una clase

IWbemCallResult

IWbemServices

Recuperación de un código de error