Compartir a través de


función MI_Deserializer_DeserializeInstance (mi.h)

Deserializa un búfer serializado en un objeto MI_Instance .

Sintaxis

MI_INLINE MI_Result MI_Deserializer_DeserializeInstance(
  [in, out]       MI_Deserializer                   *deserializer,
                  MI_Uint32                         flags,
                  MI_Uint8                          *serializedBuffer,
                  MI_Uint32                         serializedBufferLength,
                  MI_Class                          **classObjects,
                  MI_Uint32                         numberClassObjects,
  [in, optional]  MI_Deserializer_ClassObjectNeeded classObjectNeeded,
  [in, out]       void                              *classObjectNeededContext,
  [out, optional] MI_Uint32                         *serializedBufferRead,
                  MI_Instance                       **instanceObject,
                  MI_Instance                       **cimErrorDetails
);

Parámetros

[in, out] deserializer

Puntero a un objeto de deserializador devuelto desde una llamada a MI_Application_NewDeserializer. El deserializador debe coincidir con el serializador que creó el búfer.

flags

El valor de este parámetro deberá ser 0.

serializedBuffer

Búfer serializado que se llenó a través de una llamada desde MI_Serializer_SerializeClass.

serializedBufferLength

Longitud del búfer que se informó a través de una llamada a MI_Serializer_SerializeClass.

classObjects

Si la instancia se serializó sin detalles de clase, se necesita una matriz de punteros a todas las clases necesarias para volver a generar la instancia. De lo contrario, se puede pasar NULL .

numberClassObjects

Número de objetos de clase de la matriz classObjects .

[in, optional] classObjectNeeded

Función de devolución de llamada que se usa para proporcionar un objeto de clase solicitado durante la deserialización. Consulte MI_Deserializer_ClassObjectNeeded.

[in, out] classObjectNeededContext

Puntero al contexto que se usa con la función de devolución de llamada.

[out, optional] serializedBufferRead

Cantidad del búfer serializado leído (deserializado).

instanceObject

Instancia deserializada devuelta. Esta clase debe eliminarse a través de MI_Instance_Delete.

cimErrorDetails

Si se produce un error en la llamada, este valor contendrá información útil en la depuración. Este valor se debe eliminar a través de MI_Instance_Delete.

Valor devuelto

Esta función devuelve MI_INLINE MI_Result.

Comentarios

La deserialización de instancias que tienen propiedades de objeto incrustado y objeto de referencia son un poco más complejas cuando la instancia serializada no tiene la definición de clase incluida en el blob serializado. Cuando la definición de clase se incluye con la instancia de , este problema no surge. Cuando no se proporciona ninguna clase, el deserializador de instancia necesita pasar la clase de instancia, junto con las definiciones de clase para todas las propiedades de objeto incrustado y de objeto de referencia. Se pueden incluir a través del parámetro de matriz classObjects o se pueden consultar a través de la devolución de llamada classObjectNeeded .

Requisitos

   
Cliente mínimo compatible Windows 8
Servidor mínimo compatible Windows Server 2012
Plataforma de destino Windows
Encabezado mi.h
Redistribuible Windows Management Framework 3.0 en Windows Server 2008 R2 con SP1, Windows 7 con SP1 y Windows Server 2008 con SP2