將序列化緩衝區還原序列化為 MI_Instance 物件。
語法
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
);
參數
[in, out] deserializer
從呼叫傳回之還原序列化程式物件的指標 MI_Application_NewDeserializer。 還原序列化程式必須符合建立緩衝區的序列化程式。
flags
此參數必須是 0。
serializedBuffer
透過從 MI_Serializer_SerializeClass呼叫填入的序列化緩衝區。
serializedBufferLength
透過呼叫 MI_Serializer_SerializeClass所報告的緩衝區長度。
classObjects
如果實例已序列化而沒有類別詳細資料,則需要重建實例所需的所有類別的指標陣列。 否則,可以傳遞 Null 。
numberClassObjects
classObjects陣列中的類別物件數目。
[in, optional] classObjectNeeded
回呼函式,用來在還原序列化期間提供要求的類別物件。 請參閱 MI_Deserializer_ClassObjectNeeded。
[in, out] classObjectNeededContext
與回呼函式搭配使用之內容的指標。
[out, optional] serializedBufferRead
已 (還原序列化) 讀取的序列化緩衝區數量。
instanceObject
傳回的還原序列化實例。 必須透過 MI_Instance_Delete刪除此類別。
cimErrorDetails
如果呼叫失敗,這個值將包含偵錯中有用的資訊。 此值必須透過 MI_Instance_Delete刪除。
傳回值
此函式會傳回MI_INLINE MI_Result。
備註
當序列化實例沒有序列化 Blob 中包含的類別定義時,具有内嵌物件和參考物件屬性的實例會比較複雜。 當 類別定義隨附于 實例時,就不會發生此問題。 未指定類別時,實例還原序列化程式需要傳遞實例類別,以及所有内嵌物件和參考物件屬性的類別定義。 它們可以透過 classObjects 陣列參數包含,也可以透過 classObjectNeeded 回 呼查詢它們。
需求
| 最低支援的用戶端 | Windows 8 |
| 最低支援的伺服器 | Windows Server 2012 |
| 目標平台 | Windows |
| 標頭 | mi.h |
| 可轉散發套件 | windows Server 2008 R2 SP1、Windows 7 SP1 和 Windows Server 2008 SP2 上的 Windows Management Framework 3.0 |