1 krisbash 1.1 /*============================================================================
2 * Copyright (C) Microsoft Corporation, All rights reserved.
3 *============================================================================
4 */
5
6 #ifndef _XML_SERIALIZER_H_
7 #define _XML_SERIALIZER_H_
8
9 #include <MI.h>
10
11 BEGIN_EXTERNC
12 // for internal use; not a public api
13 // Do not define flags with value same as ones below for serializer in MI.h
14 #define MI_SERIALIZER_FLAGS_INCLUDE_CLASS_ORIGIN 0x100
15 #define MI_SERIALIZER_FLAGS_INCLUDE_INHERITANCE_HIERARCHY 0x200
16 // note that MI_SERIALIZER_FLAGS_CLASS_DEEP has same semantics as following
17 // but i have defined it to make it clear that it is catering to includeInheritedElements option
18 // and doing this way was also convenient since i could pass in the MessageFlag flags directly into this serializer
19 #define MI_SERIALIZER_FLAGS_INCLUDE_INHERITED_ELEMENTS 0x400
20 #define MI_SERIALIZER_FLAGS_INCLUDE_QUALIFIERS 0x800
21
22 krisbash 1.1
23 MI_Result MI_CALL XmlSerializer_Create(
24 _In_ MI_Application *application,
25 MI_Uint32 flags,
26 _In_z_ MI_Char *format,
27 _Out_ MI_Serializer *serializer);
28
29 MI_Result MI_CALL XmlSerializer_Close(
30 _Inout_ MI_Serializer *serializer);
31
32 MI_Result MI_CALL XmlSerializer_SerializeClass(
33 _Inout_ MI_Serializer *serializer,
34 MI_Uint32 flags,
35 _In_ const MI_Class *classObject,
36 _Out_writes_bytes_(clientBufferLength) MI_Uint8 *clientBuffer,
37 MI_Uint32 clientBufferLength,
38 _Inout_ MI_Uint32 *clientBufferNeeded);
39
40 END_EXTERNC
41 #endif /* _XML_SERIALIZER_H_ */
|