WS_TYPE enumeration
The types supported for serialization.
Syntax
enum WS_TYPE { WS_BOOL_TYPE,
WS_INT8_TYPE,
WS_INT16_TYPE,
WS_INT32_TYPE,
WS_INT64_TYPE,
WS_UINT8_TYPE,
WS_UINT16_TYPE,
WS_UINT32_TYPE,
WS_UINT64_TYPE,
WS_FLOAT_TYPE,
WS_DOUBLE_TYPE,
WS_DECIMAL_TYPE,
WS_DATETIME_TYPE,
WS_TIMESPAN_TYPE,
WS_GUID_TYPE,
WS_UNIQUE_ID_TYPE,
WS_STRING_TYPE,
WS_WSZ_TYPE,
WS_BYTES_TYPE,
WS_XML_STRING_TYPE,
WS_XML_QNAME_TYPE,
WS_XML_BUFFER_TYPE,
WS_CHAR_ARRAY_TYPE,
WS_UTF8_ARRAY_TYPE,
WS_BYTE_ARRAY_TYPE,
WS_DESCRIPTION_TYPE,
WS_STRUCT_TYPE,
WS_CUSTOM_TYPE,
WS_ENDPOINT_ADDRESS_TYPE,
WS_FAULT_TYPE,
WS_VOID_TYPE,
WS_ENUM_TYPE,
WS_DURATION_TYPE,
WS_UNION_TYPE,
WS_ANY_ATTRIBUTES_TYPE
};
Constants
- WS_BOOL_TYPE
-
Used when serializing a BOOL value.
The WS_BOOL_DESCRIPTION type description can optionally be specified for this type in order to constrain the allowed values.
This type can be used with the following WS_TYPE_MAPPING values:
This type can be used with the following WS_FIELD_MAPPING values:
- WS_ELEMENT_FIELD_MAPPING
- WS_REPEATING_ELEMENT_FIELD_MAPPING
- WS_ATTRIBUTE_FIELD_MAPPING
- WS_TEXT_FIELD_MAPPING
- WS_NO_FIELD_MAPPING
This type can be used with the following WS_FIELD_OPTIONS values. See the documentation for WS_FIELD_MAPPING for which options are supported for a given field mapping value:
- 0
- WS_FIELD_OPTIONAL
- WS_FIELD_POINTER | WS_FIELD_NILLABLE
- WS_FIELD_POINTER | WS_FIELD_NILLABLE | WS_FIELD_OPTIONAL
- WS_FIELD_POINTER | WS_FIELD_NILLABLE_ITEM
- WS_FIELD_POINTER | WS_FIELD_NILLABLE | WS_FIELD_NILLABLE_ITEM
- WS_FIELD_POINTER | WS_FIELD_OPTIONAL | WS_FIELD_NILLABLE_ITEM
- WS_FIELD_POINTER | WS_FIELD_NILLABLE | WS_FIELD_OPTIONAL | WS_FIELD_NILLABLE_ITEM
A nil value is represented using a NULL pointer.
A WS_DEFAULT_VALUE may be specified for this type. See the documentation for WS_FIELD_MAPPING to see which field mapping values allow a default value to be specified.
- WS_INT8_TYPE
-
Used when serializing a signed 8-bit integer (char).
The WS_INT8_DESCRIPTION type description can optionally be specified for this type in order to constrain the allowed values.
This type can be used with the following WS_TYPE_MAPPING values:
This type can be used with the following WS_FIELD_MAPPING values:
- WS_ELEMENT_FIELD_MAPPING
- WS_REPEATING_ELEMENT_FIELD_MAPPING
- WS_ATTRIBUTE_FIELD_MAPPING
- WS_TEXT_FIELD_MAPPING
- WS_NO_FIELD_MAPPING
This type can be used with the following WS_FIELD_OPTIONS values. See the documentation for WS_FIELD_MAPPING for which options are supported for a given field mapping value:
- 0
- WS_FIELD_OPTIONAL
- WS_FIELD_POINTER | WS_FIELD_NILLABLE
- WS_FIELD_POINTER | WS_FIELD_NILLABLE | WS_FIELD_OPTIONAL
- WS_FIELD_POINTER | WS_FIELD_NILLABLE_ITEM
- WS_FIELD_POINTER | WS_FIELD_NILLABLE | WS_FIELD_NILLABLE_ITEM
- WS_FIELD_POINTER | WS_FIELD_OPTIONAL | WS_FIELD_NILLABLE_ITEM
- WS_FIELD_POINTER | WS_FIELD_NILLABLE | WS_FIELD_OPTIONAL | WS_FIELD_NILLABLE_ITEM
A nil value is represented using a NULL pointer.
A WS_DEFAULT_VALUE may be specified for this type. See the documentation for WS_FIELD_MAPPING to see which field mapping values allow a default value to be specified.
- WS_INT16_TYPE
-
Used when serializing a signed 16-bit integer (short).
The WS_INT16_DESCRIPTION type description can optionally be specified for this type in order to constrain the allowed values.
This type can be used with the following WS_TYPE_MAPPING values:
This type can be used with the following WS_FIELD_MAPPING values:
- WS_ELEMENT_FIELD_MAPPING
- WS_REPEATING_ELEMENT_FIELD_MAPPING
- WS_ATTRIBUTE_FIELD_MAPPING
- WS_TEXT_FIELD_MAPPING
- WS_NO_FIELD_MAPPING
This type can be used with the following WS_FIELD_OPTIONS values. See the documentation for WS_FIELD_MAPPING for which options are supported for a given field mapping value:
- 0
- WS_FIELD_OPTIONAL
- WS_FIELD_POINTER | WS_FIELD_NILLABLE
- WS_FIELD_POINTER | WS_FIELD_NILLABLE | WS_FIELD_OPTIONAL
- WS_FIELD_POINTER | WS_FIELD_NILLABLE_ITEM
- WS_FIELD_POINTER | WS_FIELD_NILLABLE | WS_FIELD_NILLABLE_ITEM
- WS_FIELD_POINTER | WS_FIELD_OPTIONAL | WS_FIELD_NILLABLE_ITEM
- WS_FIELD_POINTER | WS_FIELD_NILLABLE | WS_FIELD_OPTIONAL | WS_FIELD_NILLABLE_ITEM
A nil value is represented using a NULL pointer.
A WS_DEFAULT_VALUE may be specified for this type. See the documentation for WS_FIELD_MAPPING to see which field mapping values allow a default value to be specified.
- WS_INT32_TYPE
-
Used when serializing a signed 32-bit integer.
The WS_INT32_DESCRIPTION type description can optionally be specified for this type in order to constrain the allowed values.
This type can be used with the following WS_TYPE_MAPPING values:
This type can be used with the following WS_FIELD_MAPPING values:
- WS_ELEMENT_FIELD_MAPPING
- WS_REPEATING_ELEMENT_FIELD_MAPPING
- WS_ATTRIBUTE_FIELD_MAPPING
- WS_TEXT_FIELD_MAPPING
- WS_NO_FIELD_MAPPING
This type can be used with the following WS_FIELD_OPTIONS values. See the documentation for WS_FIELD_MAPPING for which options are supported for a given field mapping value:
- 0
- WS_FIELD_OPTIONAL
- WS_FIELD_POINTER | WS_FIELD_NILLABLE
- WS_FIELD_POINTER | WS_FIELD_NILLABLE | WS_FIELD_OPTIONAL
- WS_FIELD_POINTER | WS_FIELD_NILLABLE_ITEM
- WS_FIELD_POINTER | WS_FIELD_NILLABLE | WS_FIELD_NILLABLE_ITEM
- WS_FIELD_POINTER | WS_FIELD_OPTIONAL | WS_FIELD_NILLABLE_ITEM
- WS_FIELD_POINTER | WS_FIELD_NILLABLE | WS_FIELD_OPTIONAL | WS_FIELD_NILLABLE_ITEM
A nil value is represented using a NULL pointer.
A WS_DEFAULT_VALUE may be specified for this type. See the documentation for WS_FIELD_MAPPING to see which field mapping values allow a default value to be specified.
- WS_INT64_TYPE
-
Used when serializing a signed 64-bit integer.
The WS_INT64_DESCRIPTION type description can optionally be specified for this type in order to constrain the allowed values.
This type can be used with the following WS_TYPE_MAPPING values:
This type can be used with the following WS_FIELD_MAPPING values:
- WS_ELEMENT_FIELD_MAPPING
- WS_REPEATING_ELEMENT_FIELD_MAPPING
- WS_ATTRIBUTE_FIELD_MAPPING
- WS_TEXT_FIELD_MAPPING
- WS_NO_FIELD_MAPPING
This type can be used with the following WS_FIELD_OPTIONS values. See the documentation for WS_FIELD_MAPPING for which options are supported for a given field mapping value:
- 0
- WS_FIELD_OPTIONAL
- WS_FIELD_POINTER | WS_FIELD_NILLABLE
- WS_FIELD_POINTER | WS_FIELD_NILLABLE | WS_FIELD_OPTIONAL
- WS_FIELD_POINTER | WS_FIELD_NILLABLE_ITEM
- WS_FIELD_POINTER | WS_FIELD_NILLABLE | WS_FIELD_NILLABLE_ITEM
- WS_FIELD_POINTER | WS_FIELD_OPTIONAL | WS_FIELD_NILLABLE_ITEM
- WS_FIELD_POINTER | WS_FIELD_NILLABLE | WS_FIELD_OPTIONAL | WS_FIELD_NILLABLE_ITEM
A nil value is represented using a NULL pointer.
A WS_DEFAULT_VALUE may be specified for this type. See the documentation for WS_FIELD_MAPPING to see which field mapping values allow a default value to be specified.
- WS_UINT8_TYPE
-
Used when serializing an unsigned 8-bit integer (BYTE).
The WS_UINT8_DESCRIPTION type description can optionally be specified for this type in order to constrain the allowed values.
This type can be used with the following WS_TYPE_MAPPING values:
This type can be used with the following WS_FIELD_MAPPING values:
- WS_ELEMENT_FIELD_MAPPING
- WS_REPEATING_ELEMENT_FIELD_MAPPING
- WS_ATTRIBUTE_FIELD_MAPPING
- WS_TEXT_FIELD_MAPPING
- WS_NO_FIELD_MAPPING
This type can be used with the following WS_FIELD_OPTIONS values. See the documentation for WS_FIELD_MAPPING for which options are supported for a given field mapping value:
- 0
- WS_FIELD_OPTIONAL
- WS_FIELD_POINTER | WS_FIELD_NILLABLE
- WS_FIELD_POINTER | WS_FIELD_NILLABLE | WS_FIELD_OPTIONAL
- WS_FIELD_POINTER | WS_FIELD_NILLABLE_ITEM
- WS_FIELD_POINTER | WS_FIELD_NILLABLE | WS_FIELD_NILLABLE_ITEM
- WS_FIELD_POINTER | WS_FIELD_OPTIONAL | WS_FIELD_NILLABLE_ITEM
- WS_FIELD_POINTER | WS_FIELD_NILLABLE | WS_FIELD_OPTIONAL | WS_FIELD_NILLABLE_ITEM
A nil value is represented using a NULL pointer.
A WS_DEFAULT_VALUE may be specified for this type. See the documentation for WS_FIELD_MAPPING to see which field mapping values allow a default value to be specified.
- WS_UINT16_TYPE
-
Used when serializing an unsigned 16-bit integer.
The WS_UINT16_DESCRIPTION type description can optionally be specified for this type in order to constrain the allowed values.
This type can be used with the following WS_TYPE_MAPPING values:
This type can be used with the following WS_FIELD_MAPPING values:
- WS_ELEMENT_FIELD_MAPPING
- WS_REPEATING_ELEMENT_FIELD_MAPPING
- WS_ATTRIBUTE_FIELD_MAPPING
- WS_TEXT_FIELD_MAPPING
- WS_NO_FIELD_MAPPING
This type can be used with the following WS_FIELD_OPTIONS values. See the documentation for WS_FIELD_MAPPING for which options are supported for a given field mapping value:
- 0
- WS_FIELD_OPTIONAL
- WS_FIELD_POINTER | WS_FIELD_NILLABLE
- WS_FIELD_POINTER | WS_FIELD_NILLABLE | WS_FIELD_OPTIONAL
- WS_FIELD_POINTER | WS_FIELD_NILLABLE_ITEM
- WS_FIELD_POINTER | WS_FIELD_NILLABLE | WS_FIELD_NILLABLE_ITEM
- WS_FIELD_POINTER | WS_FIELD_OPTIONAL | WS_FIELD_NILLABLE_ITEM
- WS_FIELD_POINTER | WS_FIELD_NILLABLE | WS_FIELD_OPTIONAL | WS_FIELD_NILLABLE_ITEM
A nil value is represented using a NULL pointer.
A WS_DEFAULT_VALUE may be specified for this type. See the documentation for WS_FIELD_MAPPING to see which field mapping values allow a default value to be specified.
- WS_UINT32_TYPE
-
Used when serializing an unsigned 32-bit integer.
The WS_UINT32_DESCRIPTION type description can optionally be specified for this type in order to constrain the allowed values.
This type can be used with the following WS_TYPE_MAPPING values:
This type can be used with the following WS_FIELD_MAPPING values:
- WS_ELEMENT_FIELD_MAPPING
- WS_REPEATING_ELEMENT_FIELD_MAPPING
- WS_ATTRIBUTE_FIELD_MAPPING
- WS_TEXT_FIELD_MAPPING
- WS_NO_FIELD_MAPPING
This type can be used with the following WS_FIELD_OPTIONS values. See the documentation for WS_FIELD_MAPPING for which options are supported for a given field mapping value:
- 0
- WS_FIELD_OPTIONAL
- WS_FIELD_POINTER | WS_FIELD_NILLABLE
- WS_FIELD_POINTER | WS_FIELD_NILLABLE | WS_FIELD_OPTIONAL
- WS_FIELD_POINTER | WS_FIELD_NILLABLE_ITEM
- WS_FIELD_POINTER | WS_FIELD_NILLABLE | WS_FIELD_NILLABLE_ITEM
- WS_FIELD_POINTER | WS_FIELD_OPTIONAL | WS_FIELD_NILLABLE_ITEM
- WS_FIELD_POINTER | WS_FIELD_NILLABLE | WS_FIELD_OPTIONAL | WS_FIELD_NILLABLE_ITEM
A nil value is represented using a NULL pointer.
A WS_DEFAULT_VALUE may be specified for this type. See the documentation for WS_FIELD_MAPPING to see which field mapping values allow a default value to be specified.
- WS_UINT64_TYPE
-
Used when serializing an unsigned 64-bit integer.
The WS_UINT64_DESCRIPTION type description can optionally be specified for this type in order to constrain the allowed values.
This type can be used with the following WS_TYPE_MAPPING values:
This type can be used with the following WS_FIELD_MAPPING values:
- WS_ELEMENT_FIELD_MAPPING
- WS_REPEATING_ELEMENT_FIELD_MAPPING
- WS_ATTRIBUTE_FIELD_MAPPING
- WS_TEXT_FIELD_MAPPING
- WS_NO_FIELD_MAPPING
This type can be used with the following WS_FIELD_OPTIONS values. See the documentation for WS_FIELD_MAPPING for which options are supported for a given field mapping value:
- 0
- WS_FIELD_OPTIONAL
- WS_FIELD_POINTER | WS_FIELD_NILLABLE
- WS_FIELD_POINTER | WS_FIELD_NILLABLE | WS_FIELD_OPTIONAL
- WS_FIELD_POINTER | WS_FIELD_NILLABLE_ITEM
- WS_FIELD_POINTER | WS_FIELD_NILLABLE | WS_FIELD_NILLABLE_ITEM
- WS_FIELD_POINTER | WS_FIELD_OPTIONAL | WS_FIELD_NILLABLE_ITEM
- WS_FIELD_POINTER | WS_FIELD_NILLABLE | WS_FIELD_OPTIONAL | WS_FIELD_NILLABLE_ITEM
A nil value is represented using a NULL pointer.
A WS_DEFAULT_VALUE may be specified for this type. See the documentation for WS_FIELD_MAPPING to see which field mapping values allow a default value to be specified.
- WS_FLOAT_TYPE
-
Used when serializing a float.
The WS_FLOAT_DESCRIPTION type description can optionally be specified for this type in order to constrain the allowed values.
This type can be used with the following WS_TYPE_MAPPING values:
This type can be used with the following WS_FIELD_MAPPING values:
- WS_ELEMENT_FIELD_MAPPING
- WS_REPEATING_ELEMENT_FIELD_MAPPING
- WS_ATTRIBUTE_FIELD_MAPPING
- WS_TEXT_FIELD_MAPPING
- WS_NO_FIELD_MAPPING
This type can be used with the following WS_FIELD_OPTIONS values. See the documentation for WS_FIELD_MAPPING for which options are supported for a given field mapping value:
- 0
- WS_FIELD_OPTIONAL
- WS_FIELD_POINTER | WS_FIELD_NILLABLE
- WS_FIELD_POINTER | WS_FIELD_NILLABLE | WS_FIELD_OPTIONAL
- WS_FIELD_POINTER | WS_FIELD_NILLABLE_ITEM
- WS_FIELD_POINTER | WS_FIELD_NILLABLE | WS_FIELD_NILLABLE_ITEM
- WS_FIELD_POINTER | WS_FIELD_OPTIONAL | WS_FIELD_NILLABLE_ITEM
- WS_FIELD_POINTER | WS_FIELD_NILLABLE | WS_FIELD_OPTIONAL | WS_FIELD_NILLABLE_ITEM
A nil value is represented using a NULL pointer.
A WS_DEFAULT_VALUE may be specified for this type. See the documentation for WS_FIELD_MAPPING to see which field mapping values allow a default value to be specified.
- WS_DOUBLE_TYPE
-
Used when serializing a double.
The WS_DOUBLE_DESCRIPTION type description can optionally be specified for this type in order to constrain the allowed values.
This type can be used with the following WS_TYPE_MAPPING values:
This type can be used with the following WS_FIELD_MAPPING values:
- WS_ELEMENT_FIELD_MAPPING
- WS_REPEATING_ELEMENT_FIELD_MAPPING
- WS_ATTRIBUTE_FIELD_MAPPING
- WS_TEXT_FIELD_MAPPING
- WS_NO_FIELD_MAPPING
This type can be used with the following WS_FIELD_OPTIONS values. See the documentation for WS_FIELD_MAPPING for which options are supported for a given field mapping value:
- 0
- WS_FIELD_OPTIONAL
- WS_FIELD_POINTER | WS_FIELD_NILLABLE
- WS_FIELD_POINTER | WS_FIELD_NILLABLE | WS_FIELD_OPTIONAL
- WS_FIELD_POINTER | WS_FIELD_NILLABLE_ITEM
- WS_FIELD_POINTER | WS_FIELD_NILLABLE | WS_FIELD_NILLABLE_ITEM
- WS_FIELD_POINTER | WS_FIELD_OPTIONAL | WS_FIELD_NILLABLE_ITEM
- WS_FIELD_POINTER | WS_FIELD_NILLABLE | WS_FIELD_OPTIONAL | WS_FIELD_NILLABLE_ITEM
A nil value is represented using a NULL pointer.
A WS_DEFAULT_VALUE may be specified for this type. See the documentation for WS_FIELD_MAPPING to see which field mapping values allow a default value to be specified.
- WS_DECIMAL_TYPE
-
Used when serializing a DECIMAL.
The WS_DECIMAL_DESCRIPTION type description can optionally be specified for this type in order to constrain the allowed values.
This type can be used with the following WS_TYPE_MAPPING values:
This type can be used with the following WS_FIELD_MAPPING values:
- WS_ELEMENT_FIELD_MAPPING
- WS_REPEATING_ELEMENT_FIELD_MAPPING
- WS_ATTRIBUTE_FIELD_MAPPING
- WS_TEXT_FIELD_MAPPING
- WS_NO_FIELD_MAPPING
This type can be used with the following WS_FIELD_OPTIONS values. See the documentation for WS_FIELD_MAPPING for which options are supported for a given field mapping value:
- 0
- WS_FIELD_OPTIONAL
- WS_FIELD_POINTER | WS_FIELD_NILLABLE
- WS_FIELD_POINTER | WS_FIELD_NILLABLE | WS_FIELD_OPTIONAL
- WS_FIELD_POINTER | WS_FIELD_NILLABLE_ITEM
- WS_FIELD_POINTER | WS_FIELD_NILLABLE | WS_FIELD_NILLABLE_ITEM
- WS_FIELD_POINTER | WS_FIELD_OPTIONAL | WS_FIELD_NILLABLE_ITEM
- WS_FIELD_POINTER | WS_FIELD_NILLABLE | WS_FIELD_OPTIONAL | WS_FIELD_NILLABLE_ITEM
A nil value is represented using a NULL pointer.
A WS_DEFAULT_VALUE may be specified for this type. See the documentation for WS_FIELD_MAPPING to see which field mapping values allow a default value to be specified.
- WS_DATETIME_TYPE
-
Used when serializing a WS_DATETIME.
The WS_DATETIME_DESCRIPTION type description can optionally be specified for this type in order to constrain the allowed values.
This type can be used with the following WS_TYPE_MAPPING values:
This type can be used with the following WS_FIELD_MAPPING values:
- WS_ELEMENT_FIELD_MAPPING
- WS_REPEATING_ELEMENT_FIELD_MAPPING
- WS_ATTRIBUTE_FIELD_MAPPING
- WS_TEXT_FIELD_MAPPING
- WS_NO_FIELD_MAPPING
This type can be used with the following WS_FIELD_OPTIONS values. See the documentation for WS_FIELD_MAPPING for which options are supported for a given field mapping value:
- 0
- WS_FIELD_OPTIONAL
- WS_FIELD_POINTER | WS_FIELD_NILLABLE
- WS_FIELD_POINTER | WS_FIELD_NILLABLE | WS_FIELD_OPTIONAL
- WS_FIELD_POINTER | WS_FIELD_NILLABLE_ITEM
- WS_FIELD_POINTER | WS_FIELD_NILLABLE | WS_FIELD_NILLABLE_ITEM
- WS_FIELD_POINTER | WS_FIELD_OPTIONAL | WS_FIELD_NILLABLE_ITEM
- WS_FIELD_POINTER | WS_FIELD_NILLABLE | WS_FIELD_OPTIONAL | WS_FIELD_NILLABLE_ITEM
A nil value is represented using a NULL pointer.
A WS_DEFAULT_VALUE may be specified for this type. See the documentation for WS_FIELD_MAPPING to see which field mapping values allow a default value to be specified.
- WS_TIMESPAN_TYPE
-
Used when serializing a WS_TIMESPAN.
The WS_TIMESPAN_DESCRIPTION type description can optionally be specified for this type in order to constrain the allowed values.
This type can be used with the following WS_TYPE_MAPPING values:
This type can be used with the following WS_FIELD_MAPPING values:
- WS_ELEMENT_FIELD_MAPPING
- WS_REPEATING_ELEMENT_FIELD_MAPPING
- WS_ATTRIBUTE_FIELD_MAPPING
- WS_TEXT_FIELD_MAPPING
- WS_NO_FIELD_MAPPING
This type can be used with the following WS_FIELD_OPTIONS values. See the documentation for WS_FIELD_MAPPING for which options are supported for a given field mapping value:
- 0
- WS_FIELD_OPTIONAL
- WS_FIELD_POINTER | WS_FIELD_NILLABLE
- WS_FIELD_POINTER | WS_FIELD_NILLABLE | WS_FIELD_OPTIONAL
- WS_FIELD_POINTER | WS_FIELD_NILLABLE_ITEM
- WS_FIELD_POINTER | WS_FIELD_NILLABLE | WS_FIELD_NILLABLE_ITEM
- WS_FIELD_POINTER | WS_FIELD_OPTIONAL | WS_FIELD_NILLABLE_ITEM
- WS_FIELD_POINTER | WS_FIELD_NILLABLE | WS_FIELD_OPTIONAL | WS_FIELD_NILLABLE_ITEM
A nil value is represented using a NULL pointer.
A WS_DEFAULT_VALUE may be specified for this type. See the documentation for WS_FIELD_MAPPING to see which field mapping values allow a default value to be specified.
- WS_GUID_TYPE
-
Used when serializing a GUID.
The WS_GUID_DESCRIPTION type description can optionally be specified for this type in order to constrain the allowed values.
This type can be used with the following WS_TYPE_MAPPING values:
This type can be used with the following WS_FIELD_MAPPING values:
- WS_ELEMENT_FIELD_MAPPING
- WS_REPEATING_ELEMENT_FIELD_MAPPING
- WS_ATTRIBUTE_FIELD_MAPPING
- WS_TEXT_FIELD_MAPPING
- WS_NO_FIELD_MAPPING
This type can be used with the following WS_FIELD_OPTIONS values. See the documentation for WS_FIELD_MAPPING for which options are supported for a given field mapping value:
- 0
- WS_FIELD_OPTIONAL
- WS_FIELD_POINTER | WS_FIELD_NILLABLE
- WS_FIELD_POINTER | WS_FIELD_NILLABLE | WS_FIELD_OPTIONAL
- WS_FIELD_POINTER | WS_FIELD_NILLABLE_ITEM
- WS_FIELD_POINTER | WS_FIELD_NILLABLE | WS_FIELD_NILLABLE_ITEM
- WS_FIELD_POINTER | WS_FIELD_OPTIONAL | WS_FIELD_NILLABLE_ITEM
- WS_FIELD_POINTER | WS_FIELD_NILLABLE | WS_FIELD_OPTIONAL | WS_FIELD_NILLABLE_ITEM
A nil value is represented using a NULL pointer.
A WS_DEFAULT_VALUE may be specified for this type. See the documentation for WS_FIELD_MAPPING to see which field mapping values allow a default value to be specified.
- WS_UNIQUE_ID_TYPE
-
Used when serializing a WS_UNIQUE_ID.
The WS_UNIQUE_ID_DESCRIPTION type description can optionally be specified for this type in order to constrain the allowed values.
This type can be used with the following WS_TYPE_MAPPING values:
This type can be used with the following WS_FIELD_MAPPING values:
- WS_ELEMENT_FIELD_MAPPING
- WS_REPEATING_ELEMENT_FIELD_MAPPING
- WS_ATTRIBUTE_FIELD_MAPPING
- WS_TEXT_FIELD_MAPPING
- WS_NO_FIELD_MAPPING
This type can be used with the following WS_FIELD_OPTIONS values. See the documentation for WS_FIELD_MAPPING for which options are supported for a given field mapping value:
- 0
- WS_FIELD_OPTIONAL
- WS_FIELD_POINTER | WS_FIELD_NILLABLE
- WS_FIELD_POINTER | WS_FIELD_NILLABLE | WS_FIELD_OPTIONAL
- WS_FIELD_POINTER | WS_FIELD_NILLABLE_ITEM
- WS_FIELD_POINTER | WS_FIELD_NILLABLE | WS_FIELD_NILLABLE_ITEM
- WS_FIELD_POINTER | WS_FIELD_OPTIONAL | WS_FIELD_NILLABLE_ITEM
- WS_FIELD_POINTER | WS_FIELD_NILLABLE | WS_FIELD_OPTIONAL | WS_FIELD_NILLABLE_ITEM
A nil value is represented using a NULL pointer.
A WS_DEFAULT_VALUE may be specified for this type. See the documentation for WS_FIELD_MAPPING to see which field mapping values allow a default value to be specified.
- WS_STRING_TYPE
-
Used when serializing a WS_STRING.
The WS_STRING_DESCRIPTION type description can optionally be specified for this type in order to constrain the allowed values.
This type can be used with the following WS_TYPE_MAPPING values:
This type can be used with the following WS_FIELD_MAPPING values:
- WS_ELEMENT_FIELD_MAPPING
- WS_REPEATING_ELEMENT_FIELD_MAPPING
- WS_ATTRIBUTE_FIELD_MAPPING
- WS_TEXT_FIELD_MAPPING
- WS_NO_FIELD_MAPPING
- WS_XML_ATTRIBUTE_FIELD_MAPPING
This type can be used with the following WS_FIELD_OPTIONS values. See the documentation for WS_FIELD_MAPPING for which options are supported for a given field mapping value:
- 0
- WS_FIELD_OPTIONAL
- WS_FIELD_NILLABLE
- WS_FIELD_NILLABLE | WS_FIELD_OPTIONAL
- WS_FIELD_NILLABLE_ITEM
- WS_FIELD_NILLABLE | WS_FIELD_NILLABLE_ITEM
- WS_FIELD_OPTIONAL | WS_FIELD_NILLABLE_ITEM
- WS_FIELD_NILLABLE | WS_FIELD_OPTIONAL | WS_FIELD_NILLABLE_ITEM
A nil value is represented by setting the chars field to NULL and specifying a length of 0. A nil string is distinquished from an empty string based on whether or not the chars field is NULL or not when the length is zero.
A WS_DEFAULT_VALUE may be specified for this type. See the documentation for WS_FIELD_MAPPING to see which field mapping values allow a default value to be specified.
- WS_WSZ_TYPE
-
Used when serializing a zero-terminated WCHAR*.
The WS_WSZ_DESCRIPTION type description can optionally be specified for this type in order to constrain the allowed values.
Deserialization will return an error if the wire form of the string contains an embedded zero.
This type can be used with the following WS_TYPE_MAPPING values:
This type can be used with the following WS_FIELD_MAPPING values:
- WS_ELEMENT_FIELD_MAPPING
- WS_REPEATING_ELEMENT_FIELD_MAPPING
- WS_ATTRIBUTE_FIELD_MAPPING
- WS_TEXT_FIELD_MAPPING
- WS_NO_FIELD_MAPPING
- WS_XML_ATTRIBUTE_FIELD_MAPPING
This type can be used with the following WS_FIELD_OPTIONS values. See the documentation for WS_FIELD_MAPPING for which options are supported for a given field mapping value:
- 0
- WS_FIELD_OPTIONAL
- WS_FIELD_NILLABLE
- WS_FIELD_NILLABLE | WS_FIELD_OPTIONAL
- WS_FIELD_NILLABLE_ITEM
- WS_FIELD_NILLABLE | WS_FIELD_NILLABLE_ITEM
- WS_FIELD_OPTIONAL | WS_FIELD_NILLABLE_ITEM
- WS_FIELD_NILLABLE | WS_FIELD_OPTIONAL | WS_FIELD_NILLABLE_ITEM
A nil value is represented using a NULL pointer.
A WS_DEFAULT_VALUE may be specified for this type. See the documentation for WS_FIELD_MAPPING to see which field mapping values allow a default value to be specified. The default value should point to the address of a WCHAR*, and the size should be sizeof(WCHAR*).
- WS_BYTES_TYPE
-
Used when serializing a WS_BYTES.
The WS_BYTES_DESCRIPTION type description can optionally be specified for this type in order to constrain the allowed values.
This type can be used with the following WS_TYPE_MAPPING values:
This type can be used with the following WS_FIELD_MAPPING values:
- WS_ELEMENT_FIELD_MAPPING
- WS_REPEATING_ELEMENT_FIELD_MAPPING
- WS_ATTRIBUTE_FIELD_MAPPING
- WS_TEXT_FIELD_MAPPING
- WS_NO_FIELD_MAPPING
This type can be used with the following WS_FIELD_OPTIONS values. See the documentation for WS_FIELD_MAPPING for which options are supported for a given field mapping value:
- 0
- WS_FIELD_OPTIONAL
- WS_FIELD_NILLABLE
- WS_FIELD_NILLABLE | WS_FIELD_OPTIONAL
- WS_FIELD_NILLABLE_ITEM
- WS_FIELD_NILLABLE | WS_FIELD_NILLABLE_ITEM
- WS_FIELD_OPTIONAL | WS_FIELD_NILLABLE_ITEM
- WS_FIELD_NILLABLE | WS_FIELD_OPTIONAL | WS_FIELD_NILLABLE_ITEM
A nil value is represented by setting the bytes field to NULL and specifying a length of 0. A nil array is distinquished from an empty array based on whether or not the bytes field is NULL or not when the length is zero.
A WS_DEFAULT_VALUE may be specified for this type. See the documentation for WS_FIELD_MAPPING to see which field mapping values allow a default value to be specified.
- WS_XML_STRING_TYPE
-
Used when serializing a WS_XML_STRING.
The WS_XML_STRING_DESCRIPTION type description can optionally be specified for this type in order to constrain the allowed values.
Embedded zeros are allowed in the array of utf8 bytes.
This type can be used with the following WS_TYPE_MAPPING values:
This type can be used with the following WS_FIELD_MAPPING values:
- WS_ELEMENT_FIELD_MAPPING
- WS_REPEATING_ELEMENT_FIELD_MAPPING
- WS_ATTRIBUTE_FIELD_MAPPING
- WS_TEXT_FIELD_MAPPING
- WS_NO_FIELD_MAPPING
This type can be used with the following WS_FIELD_OPTIONS values. See the documentation for WS_FIELD_MAPPING for which options are supported for a given field mapping value:
- 0
- WS_FIELD_OPTIONAL
- WS_FIELD_NILLABLE
- WS_FIELD_NILLABLE | WS_FIELD_OPTIONAL
- WS_FIELD_NILLABLE_ITEM
- WS_FIELD_NILLABLE | WS_FIELD_NILLABLE_ITEM
- WS_FIELD_OPTIONAL | WS_FIELD_NILLABLE_ITEM
- WS_FIELD_NILLABLE | WS_FIELD_OPTIONAL | WS_FIELD_NILLABLE_ITEM
A nil value is represented by setting the bytes field to NULL and specifying a length of 0. A nil string is distinquished from an empty string based on whether or not the bytes field is NULL or not when the length is zero.
A WS_DEFAULT_VALUE may be specified for this type. See the documentation for WS_FIELD_MAPPING to see which field mapping values allow a default value to be specified.
- WS_XML_QNAME_TYPE
-
Used when serializing a WS_XML_QNAME.
The WS_XML_QNAME_DESCRIPTION type description can optionally be specified for this type in order to constrain the allowed values.
This type can be used with the following WS_TYPE_MAPPING values:
This type can be used with the following WS_FIELD_MAPPING values:
- WS_ELEMENT_FIELD_MAPPING
- WS_REPEATING_ELEMENT_FIELD_MAPPING
- WS_ATTRIBUTE_FIELD_MAPPING
- WS_TEXT_FIELD_MAPPING
- WS_NO_FIELD_MAPPING
This type can be used with the following WS_FIELD_OPTIONS values. See the documentation for WS_FIELD_MAPPING for which options are supported for a given field mapping value:
- 0
- WS_FIELD_OPTIONAL
- WS_FIELD_NILLABLE | WS_FIELD_POINTER.
- WS_FIELD_POINTER | WS_FIELD_NILLABLE | WS_FIELD_OPTIONAL
- WS_FIELD_POINTER | WS_FIELD_NILLABLE_ITEM
- WS_FIELD_POINTER | WS_FIELD_NILLABLE | WS_FIELD_NILLABLE_ITEM
- WS_FIELD_POINTER | WS_FIELD_OPTIONAL | WS_FIELD_NILLABLE_ITEM
- WS_FIELD_POINTER | WS_FIELD_NILLABLE | WS_FIELD_OPTIONAL | WS_FIELD_NILLABLE_ITEM
A nil value is represented using a NULL pointer.
A WS_DEFAULT_VALUE may be specified for this type. See the documentation for WS_FIELD_MAPPING to see which field mapping values allow a default value to be specified.
- WS_XML_BUFFER_TYPE
-
Used when serializing an WS_XML_BUFFER*.
This type has no associated type description structure.
This type can be used with the following WS_TYPE_MAPPING values:
This type can be used with the following WS_FIELD_MAPPING values:
- WS_ELEMENT_FIELD_MAPPING
- WS_REPEATING_ELEMENT_FIELD_MAPPING
- WS_ANY_ELEMENT_FIELD_MAPPING
- WS_REPEATING_ANY_ELEMENT_FIELD_MAPPING
- WS_ANY_CONTENT_FIELD_MAPPING
- WS_NO_FIELD_MAPPING
This type can be used with the following WS_FIELD_OPTIONS values. See the documentation for WS_FIELD_MAPPING for which options are supported for a given field mapping value:
- 0
- WS_FIELD_OPTIONAL
- WS_FIELD_NILLABLE
- WS_FIELD_NILLABLE | WS_FIELD_OPTIONAL
- WS_FIELD_NILLABLE_ITEM
- WS_FIELD_NILLABLE | WS_FIELD_NILLABLE_ITEM
- WS_FIELD_OPTIONAL | WS_FIELD_NILLABLE_ITEM
- WS_FIELD_NILLABLE | WS_FIELD_OPTIONAL | WS_FIELD_NILLABLE_ITEM
A nil value is represented using a NULL pointer.
This type does not support specifying a WS_DEFAULT_VALUE.
The interpretation of the contents of the WS_XML_BUFFER is as follows:
-
When used at the top level or with WS_ELEMENT_FIELD_MAPPING, the WS_XML_BUFFER should contain a single element which represents the attribute and element content. The local name and namespace of the element in the buffer is ignored; it is replaced with actual element name and namespace when the buffer is written. For example:
// Element in WS_XML_BUFFER <PrefixInBuffer:LocalNameInBuffer xmlns:PrefixInBuffer="namespace-in-buffer" other-attributes> text-and-or-element-content </PrefixInBuffer:LocalNameInBuffer> // Element that is written <NewPrefix:NewLocalName xmlns:NewPrefix="new-namespace" other-attributes> text-and-or-element-content </NewPrefix:NewLocalName>
To avoid problems with namespace collisions, it is a best practice to follow one of the following rules when selecting a namespace for the element in the buffer:
- Use a namespace other than "" that is not otherwise used in the buffer.
- Use the same namespace as the element that will be written.
When the value is deserialized, the element name and namespace will correspond to the element that was read.
-
When used with WS_ANY_ELEMENT_FIELD_MAPPING, the WS_XML_BUFFER should contain a single element which represents a single element in the XML content.
-
When used with WS_REPEATING_ELEMENT_FIELD_MAPPING, each of the WS_XML_BUFFERs that are serialized in the array has the same convention as with WS_ELEMENT_FIELD_MAPPING described above (each WS_XML_BUFFER represents a single element in the XML content).
-
When used with WS_REPEATING_ANY_ELEMENT_FIELD_MAPPING, each of the WS_XML_BUFFERs that are serialized in the array represents a single element in the XML content.
-
When used with WS_ANY_CONTENT_FIELD_MAPPING, the WS_XML_BUFFER may contain zero or more top level elements or text. This content corresponds to the remaining XML content of the containing structure.
- WS_CHAR_ARRAY_TYPE
-
Used when serializing two fields of a structure as a unit: a WCHAR* field which points to an array of WCHARs, and a ULONG field which contains the number of characters in the array. This type may only be used within a WS_FIELD_DESCRIPTION.
struct { ULONG count; // array length, in characters WCHAR* chars; // array of unicode characters } value;The fields can be anywhere in the contained structure and in any order, since their offsets within the structure are specified separately as part of the WS_FIELD_DESCRIPTION. The offset of the count field is specified in the countOffset field, and the offset of the chars field is specified in the offset field.
Embedded zeros are allowed in the array of characters.
The WS_CHAR_ARRAY_DESCRIPTION type description can optionally be specified for this type in order to constrain the allowed values.
This type cannot be used with any WS_TYPE_MAPPING values.
This type may only be used within a WS_FIELD_DESCRIPTION.
This type can be used with the following WS_FIELD_MAPPING values:
- WS_ELEMENT_FIELD_MAPPING
- WS_REPEATING_ELEMENT_FIELD_MAPPING
- WS_ATTRIBUTE_FIELD_MAPPING
- WS_TEXT_FIELD_MAPPING
- WS_XML_ATTRIBUTE_FIELD_MAPPING
- WS_NO_FIELD_MAPPING
This type can be used with the following WS_FIELD_OPTIONS values. See the documentation for WS_FIELD_MAPPING for which options are supported for a given field mapping value:
- 0
- WS_FIELD_OPTIONAL
- WS_FIELD_NILLABLE
- WS_FIELD_NILLABLE | WS_FIELD_OPTIONAL
- WS_FIELD_NILLABLE_ITEM
- WS_FIELD_NILLABLE | WS_FIELD_NILLABLE_ITEM
- WS_FIELD_OPTIONAL | WS_FIELD_NILLABLE_ITEM
- WS_FIELD_NILLABLE | WS_FIELD_OPTIONAL | WS_FIELD_NILLABLE_ITEM
A nil string is represented by setting the chars field to NULL and specifying a length of 0. A nil string is distinquished from an empty string based on whether or not the chars field is NULL or not (in both cases the length is zero).
This type does not support specifying a WS_DEFAULT_VALUE.
- WS_UTF8_ARRAY_TYPE
-
Used when serializing two fields of a structure as a unit: a BYTE* field which points to an array of UTF8 bytes, and a ULONG field which contains the number of bytes in the array. This type may only be used within a WS_FIELD_DESCRIPTION.
struct { ULONG count; // array length, in bytes BYTE* bytes; // array of utf8 characters } value;The fields can be anywhere in the contained structure and in any order, since their offsets within the structure are specified separately as part of the WS_FIELD_DESCRIPTION. The offset of the count field is specified in the countOffset field, and the offset of the bytes field is specified in the offset field.
Embedded zeros are allowed in the array of utf8 bytes.
The WS_UTF8_ARRAY_DESCRIPTION type description can optionally be specified for this type in order to constrain the allowed values.
This type cannot be used with any WS_TYPE_MAPPING values.
This type may only be used within a WS_FIELD_DESCRIPTION.
This type can be used with the following WS_FIELD_MAPPING values:
This type can be used with the following WS_FIELD_OPTIONS values. See the documentation for WS_FIELD_MAPPING for which options are supported for a given field mapping value:
- 0
- WS_FIELD_OPTIONAL
- WS_FIELD_NILLABLE
- WS_FIELD_NILLABLE | WS_FIELD_OPTIONAL
A nil string is represented by setting the bytes field to NULL and specifying a length of 0. A nil string is distinquished from an empty string based on whether or not the bytes field is NULL or not (in both cases the length is zero).
This type does not support specifying a WS_DEFAULT_VALUE.
- WS_BYTE_ARRAY_TYPE
-
Used when serializing two fields of a structure as a unit: a BYTE* field which points to an array bytes, and a ULONG field which contains the number of bytes in the array. This type may only be used within a WS_FIELD_DESCRIPTION.
struct { ULONG count; // array length, in bytes BYTE* bytes; // array of bytes } value;The fields can be anywhere in the contained structure and in any order, since their offsets within the structure are specified separately as part of the WS_FIELD_DESCRIPTION. The offset of the count field is specified in the countOffset field, and the offset of the bytes field is specified in the offset field.
The WS_BYTE_ARRAY_DESCRIPTION type description can optionally be specified for this type in order to constrain the allowed values.
This type cannot be used with any WS_TYPE_MAPPING values.
This type may only be used within a WS_FIELD_DESCRIPTION.
This type can be used with the following WS_FIELD_MAPPING values:
This type can be used with the following WS_FIELD_OPTIONS values. See the documentation for WS_FIELD_MAPPING for which options are supported for a given field mapping value:
- 0
- WS_FIELD_OPTIONAL
- WS_FIELD_NILLABLE
- WS_FIELD_NILLABLE | WS_FIELD_OPTIONAL
A nil array is represented by setting the array pointer field to NULL and specifying a length of 0. A nil array is distinquished from an empty array based on whether or not the array pointer field is NULL or not (in both cases the length is zero).
This type does not support specifying a WS_DEFAULT_VALUE.
- WS_DESCRIPTION_TYPE
-
Used to represent the XML type of the structure being serialized. This can be used to identify sub-types using the xsi:type attribute from XML Schema. The field of the structure must be of type WS_STRUCT_DESCRIPTION*.
This type does not have an associated type description.
This type cannot be used with any WS_TYPE_MAPPING values.
This type may only be used within a WS_FIELD_DESCRIPTION.
This type does not support specifying a WS_DEFAULT_VALUE.
This type can be used with the following WS_FIELD_MAPPING values:
This type can be used with the following WS_FIELD_OPTIONS values. See the documentation for WS_FIELD_MAPPING for which options are supported for a given field mapping value:
- 0
- WS_STRUCT_TYPE
-
Used when serializing a user-defined structure. The associated type description points to a WS_STRUCT_DESCRIPTION which provides information about how to serialize the fields of the structure.
This type requires a WS_STRUCT_DESCRIPTION type description to be supplied which provides information about how to serialize the type.
This type can be used with the following WS_TYPE_MAPPING values, as long as the fields defined by the structure follow the stated restrictions:
- WS_ELEMENT_TYPE_MAPPING. All field mappings are supported.
- WS_ATTRIBUTE_TYPE_MAPPING. Only the following mappings are supported:
- WS_ELEMENT_CONTENT_TYPE_MAPPING. Only the following mappings are supported:
This type can be used with the following WS_FIELD_MAPPING values:
- WS_ELEMENT_FIELD_MAPPING
- WS_REPEATING_ELEMENT_FIELD_MAPPING
- WS_TEXT_FIELD_MAPPING
- WS_NO_FIELD_MAPPING
This type can be used with the following WS_FIELD_OPTIONS values. See the documentation for WS_FIELD_MAPPING for which options are supported for a given field mapping value:
- 0
- WS_FIELD_POINTER
- WS_FIELD_OPTIONAL | WS_FIELD_POINTER
- WS_FIELD_NILLABLE | WS_FIELD_POINTER
- WS_FIELD_NILLABLE | WS_FIELD_OPTIONAL | WS_FIELD_POINTER
- WS_FIELD_POINTER | WS_FIELD_NILLABLE_ITEM
- WS_FIELD_POINTER | WS_FIELD_NILLABLE | WS_FIELD_NILLABLE_ITEM
- WS_FIELD_POINTER | WS_FIELD_OPTIONAL | WS_FIELD_NILLABLE_ITEM
- WS_FIELD_POINTER | WS_FIELD_NILLABLE | WS_FIELD_OPTIONAL | WS_FIELD_NILLABLE_ITEM
A nil value is represented using a NULL pointer.
This type does not support specifying a WS_DEFAULT_VALUE.
- WS_CUSTOM_TYPE
-
Used when serializing a custom type. The associated type description points to a WS_CUSTOM_TYPE_DESCRIPTION which provides information about how to serialize the type.
This type requires a WS_CUSTOM_TYPE_DESCRIPTION type description to be supplied which provides information about how to serialize the type, including a WS_READ_TYPE_CALLBACK and WS_WRITE_TYPE_CALLBACK which are used to read and write the type.
The callbacks are passed the WS_TYPE_MAPPING and make the determination as to whether the mapping is supported.
The support for each WS_FIELD_MAPPING value is dependent on the WS_TYPE_MAPPING support determined by the callback. The rules are as follows:
- If WS_ELEMENT_TYPE_MAPPING is supported, then the following field mappings are supported:
- If WS_ATTRIBUTE_TYPE_MAPPING is supported, then the following field mappings are supported:
- If WS_ELEMENT_CONTENT_TYPE_MAPPING is supported, then the following field mappings are supported:
- If WS_ANY_ELEMENT_TYPE_MAPPING is supported, then the following field mappings are supported:
Regardless of what WS_TYPE_MAPPING values are supported, the type can always be used with WS_NO_FIELD_MAPPING.
This type can be used with the following WS_FIELD_OPTIONS values. See the documentation for WS_FIELD_MAPPING for which options are supported for a given field mapping value:
- 0
- WS_FIELD_OPTIONAL
- WS_FIELD_NILLABLE | WS_FIELD_POINTER
- WS_FIELD_POINTER | WS_FIELD_NILLABLE_ITEM
- WS_FIELD_POINTER | WS_FIELD_NILLABLE | WS_FIELD_NILLABLE_ITEM
- WS_FIELD_POINTER | WS_FIELD_OPTIONAL | WS_FIELD_NILLABLE_ITEM
- WS_FIELD_POINTER | WS_FIELD_NILLABLE | WS_FIELD_OPTIONAL | WS_FIELD_NILLABLE_ITEM
A nil value is represented using a NULL pointer.
A WS_DEFAULT_VALUE may be specified for this type. See the documentation for WS_FIELD_MAPPING to see which field mapping values allow a default value to be specified.
- WS_ENDPOINT_ADDRESS_TYPE
-
Used when serializing WS_ENDPOINT_ADDRESS . The associated type description points to a WS_ENDPOINT_ADDRESS_DESCRIPTION which provides information about how to serialize the endpoint address.
This type requires a WS_ENDPOINT_ADDRESS_DESCRIPTION type description to be supplied which provides information about the serialization format.
This type can be used with the following WS_TYPE_MAPPING values:
This type can be used with the following WS_FIELD_MAPPING values:
This type can be used with the following WS_FIELD_OPTIONS values. See the documentation for WS_FIELD_MAPPING for which options are supported for a given field mapping value:
- 0
- WS_FIELD_OPTIONAL | WS_FIELD_POINTER
- WS_FIELD_NILLABLE | WS_FIELD_POINTER
- WS_FIELD_POINTER | WS_FIELD_NILLABLE | WS_FIELD_OPTIONAL
- WS_FIELD_POINTER | WS_FIELD_NILLABLE_ITEM
- WS_FIELD_POINTER | WS_FIELD_NILLABLE | WS_FIELD_NILLABLE_ITEM
- WS_FIELD_POINTER | WS_FIELD_OPTIONAL | WS_FIELD_NILLABLE_ITEM
- WS_FIELD_POINTER | WS_FIELD_NILLABLE | WS_FIELD_OPTIONAL | WS_FIELD_NILLABLE_ITEM
A nil value is represented using a NULL pointer.
This type does not support specifying a WS_DEFAULT_VALUE.
- WS_FAULT_TYPE
-
Used when serializing a WS_FAULT. The associated type description points to a WS_FAULT_DESCRIPTION which provides information about how to serialize the fault.
This type requires a WS_FAULT_DESCRIPTION type description to be supplied which provides information about the serialization format.
This type can be used with the following WS_TYPE_MAPPING values:
This type can be used with the following WS_FIELD_MAPPING values:
This type can be used with the following WS_FIELD_OPTIONS values. See the documentation for WS_FIELD_MAPPING for which options are supported for a given field mapping value:
- 0
- WS_FIELD_OPTIONAL | WS_FIELD_POINTER
- WS_FIELD_NILLABLE | WS_FIELD_POINTER
- WS_FIELD_NILLABLE | WS_FIELD_OPTIONAL | WS_FIELD_POINTER
- WS_FIELD_POINTER | WS_FIELD_NILLABLE_ITEM
- WS_FIELD_POINTER | WS_FIELD_NILLABLE | WS_FIELD_NILLABLE_ITEM
- WS_FIELD_POINTER | WS_FIELD_OPTIONAL | WS_FIELD_NILLABLE_ITEM
- WS_FIELD_POINTER | WS_FIELD_NILLABLE | WS_FIELD_OPTIONAL | WS_FIELD_NILLABLE_ITEM
A nil value is represented using a NULL pointer.
This type does not support specifying a WS_DEFAULT_VALUE.
- WS_VOID_TYPE
-
This type is used to specify an arbitrary size field.
A WS_VOID_DESCRIPTION can optionally be supplied in order to specify the size of the type.
This type cannot be used with any WS_TYPE_MAPPING values.
This type can only be used within the WS_FIELD_DESCRIPTION of a WS_STRUCT_DESCRIPTION.
This type can be used with the following WS_FIELD_OPTIONS values. See the documentation for WS_FIELD_MAPPING for which options are supported for a given field mapping value:
- 0
- WS_FIELD_OPTIONAL
- WS_FIELD_OPTIONAL | WS_FIELD_POINTER
- WS_FIELD_POINTER
This type can be used with the following WS_FIELD_MAPPING values:
-
WS_NO_FIELD_MAPPING. This is used to initialize a field of a structure
to a default value when deserializing. This is used for the case where the
particular field does not have a mapping to the XML content, and the type
is not one of the other WS_TYPEs. The value will be initialized as
follows:
- If WS_FIELD_POINTER is specified, then the field will be set to NULL.
- If WS_FIELD_POINTER is not specified, then the field will be set to the WS_DEFAULT_VALUE if allowed for the type and specified, otherwise it will be set to all zeros. The size of the field is specified as part of the WS_VOID_DESCRIPTION. If a WS_VOID_DESCRIPTION is not specified, the field is interpreted as being size 0.
- WS_ANY_ELEMENT_FIELD_MAPPING, WS_REPEATING_ANY_ELEMENT_FIELD_MAPPING, WS_ELEMENT_FIELD_MAPPING, WS_ATTRIBUTE_FIELD_MAPPING, WS_ANY_CONTENT_FIELD_MAPPING or WS_ANY_ATTRIBUTES_FIELD_MAPPING. This is used to discard the XML content when deserializing, or ignore the field when serializing. Since the values are not stored, a field of the structure is not required. The field offset should be zero and the field size should be zero (which is the default if a WS_VOID_DESCRIPTION is not specified). The WS_FIELD_POINTER option should not be used.
- WS_ENUM_TYPE
-
Used when serializing a signed 32-bit integer which corresponds to an enumerated value.
This type requires a WS_ENUM_DESCRIPTION type description to be supplied which provides information about the enumeration values and their corresponding serialized form.
This type can be used with the following WS_TYPE_MAPPING values:
This type can be used with the following WS_FIELD_MAPPING values:
- WS_ELEMENT_FIELD_MAPPING
- WS_REPEATING_ELEMENT_FIELD_MAPPING
- WS_ATTRIBUTE_FIELD_MAPPING
- WS_TEXT_FIELD_MAPPING
- WS_NO_FIELD_MAPPING
This type can be used with the following WS_FIELD_OPTIONS values. See the documentation for WS_FIELD_MAPPING for which options are supported for a given field mapping value:
- 0
- WS_FIELD_OPTIONAL
- WS_FIELD_POINTER | WS_FIELD_NILLABLE
- WS_FIELD_NILLABLE | WS_FIELD_OPTIONAL | WS_FIELD_POINTER
- WS_FIELD_POINTER | WS_FIELD_NILLABLE_ITEM
- WS_FIELD_POINTER | WS_FIELD_NILLABLE | WS_FIELD_NILLABLE_ITEM
- WS_FIELD_POINTER | WS_FIELD_OPTIONAL | WS_FIELD_NILLABLE_ITEM
- WS_FIELD_POINTER | WS_FIELD_NILLABLE | WS_FIELD_OPTIONAL | WS_FIELD_NILLABLE_ITEM
A nil value is represented using a NULL pointer.
A WS_DEFAULT_VALUE may be specified for this type. See the documentation for WS_FIELD_MAPPING to see which field mapping values allow a default value to be specified.
- WS_DURATION_TYPE
-
Used when serializing a WS_DURATION.
The WS_DURATION_DESCRIPTION type description can optionally be specified for this type in order to constrain the allowed values.
This type can be used with the following WS_TYPE_MAPPING values:
This type can be used with the following WS_FIELD_MAPPING values:
- WS_ELEMENT_FIELD_MAPPING
- WS_REPEATING_ELEMENT_FIELD_MAPPING
- WS_ATTRIBUTE_FIELD_MAPPING
- WS_TEXT_FIELD_MAPPING
- WS_NO_FIELD_MAPPING
This type can be used with the following WS_FIELD_OPTIONS values. See the documentation for WS_FIELD_MAPPING for which options are supported for a given field mapping value:
- 0
- WS_FIELD_OPTIONAL
- WS_FIELD_POINTER | WS_FIELD_NILLABLE
- WS_FIELD_NILLABLE | WS_FIELD_OPTIONAL | WS_FIELD_POINTER
- WS_FIELD_POINTER | WS_FIELD_NILLABLE_ITEM
- WS_FIELD_POINTER | WS_FIELD_NILLABLE | WS_FIELD_NILLABLE_ITEM
- WS_FIELD_POINTER | WS_FIELD_OPTIONAL | WS_FIELD_NILLABLE_ITEM
- WS_FIELD_POINTER | WS_FIELD_NILLABLE | WS_FIELD_OPTIONAL | WS_FIELD_NILLABLE_ITEM
A nil value is represented using a NULL pointer.
A WS_DEFAULT_VALUE may be specified for this type. See the documentation for WS_FIELD_MAPPING to see which field mapping values allow a default value to be specified.
- WS_UNION_TYPE
-
Used when serializing a set of choices which correspond to a tagged union.
enum EnumType { // values identifying each choice } value; struct StructType { // value indicating which choice is set currently EnumType selector; union { // values corresponding to each choice } value; };This type requires a WS_UNION_DESCRIPTION type description to be supplied which provides information about the choices and their corresponding serialized form.
This type can be used with the following WS_TYPE_MAPPING values:
This type can be used with the following WS_FIELD_MAPPING values:
This type can be used with the following WS_FIELD_OPTIONS values. See the documentation for WS_FIELD_MAPPING for which options are supported for a given field mapping value:
This type does not support nil values.
This type does not support specifying a WS_DEFAULT_VALUE. When used with WS_FIELD_OPTIONAL, the default value in the union is specified using the nonEnumValue of the WS_UNION_DESCRIPTION.
- WS_ANY_ATTRIBUTES_TYPE
-
Used when serializing a set of attributes that are not mapped to fields using WS_ANY_ATTRIBUTES.
This type does not have an associated type description.
This type cannot be used with any WS_TYPE_MAPPING values.
This type may only be used within a WS_FIELD_DESCRIPTION.
This type can be used with the following WS_FIELD_MAPPING values:
This type can be used with the following WS_FIELD_OPTIONS values. See the documentation for WS_FIELD_MAPPING for which options are supported for a given field mapping value:
- 0
This type does not support nil values.
This type does not support specifying a WS_DEFAULT_VALUE.
Remarks
Many of the WS_TYPEs have a corresponding type description structure which allows for additional information used to serialize or deserialize the type.
For example, the WS_INT32_TYPE has a WS_INT32_DESCRIPTION structure which allows for constraints on the deserialized values. This is an optional type description (if not specified, the full 32-bit integer space is allowed).
Another example is the WS_STRUCT_TYPE, which allows for the specification of a user-defined structure with fields. The fields are described in a WS_STRUCT_DESCRIPTION. This type description is required.
Type description pointers accompany WS_TYPE in the various APIs and structures that are based on serialization. This should be NULL or non-NULL based on whether or not the type description is not defined, optional or required.
Requirements
|
Minimum supported client | Windows 7 [desktop apps | Windows Store apps] |
|---|---|
|
Minimum supported server | Windows Server 2008 R2 [desktop apps | Windows Store apps] |
|
Header |
|