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