WS_WRITE_NILLABLE_POINTER = 4
} WS_WRITE_OPTION;
+typedef struct _WS_BOOL_DESCRIPTION {
+ BOOL value;
+} WS_BOOL_DESCRIPTION;
+
+typedef struct _WS_INT8_DESCRIPTION {
+ char minValue;
+ char maxValue;
+} WS_INT8_DESCRIPTION;
+
+typedef struct _WS_INT16_DESCRIPTION {
+ short minValue;
+ short maxValue;
+} WS_INT16_DESCRIPTION;
+
+typedef struct _WS_INT32_DESCRIPTION {
+ int minValue;
+ int maxValue;
+} WS_INT32_DESCRIPTION;
+
+typedef struct _WS_INT64_DESCRIPTION {
+ __int64 minValue;
+ __int64 maxValue;
+} WS_INT64_DESCRIPTION;
+
+typedef struct _WS_UINT8_DESCRIPTION {
+ BYTE minValue;
+ BYTE maxValue;
+} WS_UINT8_DESCRIPTION;
+
+typedef struct _WS_UINT16_DESCRIPTION {
+ USHORT minValue;
+ USHORT maxValue;
+} WS_UINT16_DESCRIPTION;
+
+typedef struct _WS_UINT32_DESCRIPTION {
+ ULONG minValue;
+ ULONG maxValue;
+} WS_UINT32_DESCRIPTION;
+
+typedef struct _WS_UINT64_DESCRIPTION {
+ unsigned __int64 minValue;
+ unsigned __int64 maxValue;
+} WS_UINT64_DESCRIPTION;
+
+typedef struct _WS_WSZ_DESCRIPTION {
+ ULONG minCharCount;
+ ULONG maxCharCount;
+} WS_WSZ_DESCRIPTION;
+
typedef enum {
WS_TYPE_ATTRIBUTE_FIELD_MAPPING,
WS_ATTRIBUTE_FIELD_MAPPING,
void *typeDescription;
} WS_ATTRIBUTE_DESCRIPTION;
+typedef struct _WS_ELEMENT_DESCRIPTION {
+ WS_XML_STRING *elementLocalName;
+ WS_XML_STRING *elementNs;
+ WS_TYPE type;
+ void *typeDescription;
+} WS_ELEMENT_DESCRIPTION;
+
typedef struct _WS_STRING {
ULONG length;
WCHAR *chars;
WS_XML_STRING value;
} WS_XML_UTF8_TEXT;
+typedef enum {
+ WS_BOOL_VALUE_TYPE,
+ WS_INT8_VALUE_TYPE,
+ WS_INT16_VALUE_TYPE,
+ WS_INT32_VALUE_TYPE,
+ WS_INT64_VALUE_TYPE,
+ WS_UINT8_VALUE_TYPE,
+ WS_UINT16_VALUE_TYPE,
+ WS_UINT32_VALUE_TYPE,
+ WS_UINT64_VALUE_TYPE,
+ WS_FLOAT_VALUE_TYPE,
+ WS_DOUBLE_VALUE_TYPE,
+ WS_DECIMAL_VALUE_TYPE,
+ WS_DATETIME_VALUE_TYPE,
+ WS_TIMESPAN_VALUE_TYPE,
+ WS_GUID_VALUE_TYPE,
+ WS_DURATION_VALUE_TYPE
+} WS_VALUE_TYPE;
+
typedef struct _WS_XML_ATTRIBUTE {
BYTE singleQuote;
BYTE isXmlNs;
HRESULT WINAPI WsMoveWriter(WS_XML_WRITER*, WS_MOVE_TO, BOOL*, WS_ERROR*);
HRESULT WINAPI WsReadAttribute(WS_XML_READER*, const WS_ATTRIBUTE_DESCRIPTION*, WS_READ_OPTION,
WS_HEAP*, void*, ULONG, WS_ERROR*);
+HRESULT WINAPI WsReadEndAttribute(WS_XML_READER*, WS_ERROR*);
HRESULT WINAPI WsReadEndElement(WS_XML_READER*, WS_ERROR*);
HRESULT WINAPI WsReadNode(WS_XML_READER*, WS_ERROR*);
HRESULT WINAPI WsReadStartAttribute(WS_XML_READER*, ULONG, WS_ERROR*);
const WS_XML_WRITER_PROPERTY*, ULONG, WS_ERROR*);
HRESULT WINAPI WsSetOutputToBuffer(WS_XML_WRITER*, WS_XML_BUFFER*, const WS_XML_WRITER_PROPERTY*,
ULONG, WS_ERROR*);
+HRESULT WINAPI WsSkipNode(WS_XML_READER*, WS_ERROR*);
+HRESULT WINAPI WsWriteAttribute(WS_XML_WRITER*, const WS_ATTRIBUTE_DESCRIPTION*, WS_WRITE_OPTION,
+ const void*, ULONG, WS_ERROR*);
+HRESULT WINAPI WsWriteElement(WS_XML_WRITER*, const WS_ELEMENT_DESCRIPTION*, WS_WRITE_OPTION,
+ const void*, ULONG, WS_ERROR*);
HRESULT WINAPI WsWriteEndAttribute(WS_XML_WRITER*, WS_ERROR*);
HRESULT WINAPI WsWriteEndElement(WS_XML_WRITER*, WS_ERROR*);
HRESULT WINAPI WsWriteEndStartElement(WS_XML_WRITER*, WS_ERROR*);
HRESULT WINAPI WsWriteText(WS_XML_WRITER*, const WS_XML_TEXT*, WS_ERROR*);
HRESULT WINAPI WsWriteType(WS_XML_WRITER*, WS_TYPE_MAPPING, WS_TYPE, const void*, WS_WRITE_OPTION,
const void*, ULONG, WS_ERROR*);
+HRESULT WINAPI WsWriteValue(WS_XML_WRITER*, WS_VALUE_TYPE, const void*, ULONG, WS_ERROR*);
+HRESULT WINAPI WsWriteXmlBuffer(WS_XML_WRITER*, WS_XML_BUFFER*, WS_ERROR*);
+HRESULT WINAPI WsWriteXmlBufferToBytes(WS_XML_WRITER*, WS_XML_BUFFER*, const WS_XML_WRITER_ENCODING*,
+ const WS_XML_WRITER_PROPERTY*, ULONG, WS_HEAP*, void**,
+ ULONG*, WS_ERROR*);
HRESULT WINAPI WsXmlStringEquals(const WS_XML_STRING*, const WS_XML_STRING*, WS_ERROR*);
#define WS_S_ASYNC 0x003d0000