2 * Copyright 2015 Nikolay Sivov for CodeWeavers
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
19 #ifndef __WINE_WEBSERVICES_H
20 #define __WINE_WEBSERVICES_H
24 #endif /* __cplusplus */
26 typedef struct _WS_ERROR WS_ERROR
;
27 typedef struct _WS_HEAP WS_HEAP
;
28 typedef struct _WS_XML_BUFFER WS_XML_BUFFER
;
29 typedef struct _WS_XML_READER WS_XML_READER
;
30 typedef struct _WS_XML_WRITER WS_XML_WRITER
;
31 typedef struct _WS_PROXY_PROPERTY WS_PROXY_PROPERTY
;
32 typedef struct _WS_SECURITY_DESCRIPTION WS_SECURITY_DESCRIPTION
;
33 typedef struct _WS_CHANNEL_PROPERTY WS_CHANNEL_PROPERTY
;
34 typedef struct _WS_SERVICE_PROXY WS_SERVICE_PROXY
;
35 typedef struct _WS_SECURITY_BINDING_PROPERTY WS_SECURITY_BINDING_PROPERTY
;
36 typedef struct _WS_SECURITY_PROPERTY WS_SECURITY_PROPERTY
;
37 typedef struct _WS_SECURITY_PROPERTIES WS_SECURITY_PROPERTIES
;
38 typedef struct _WS_SECURITY_BINDING WS_SECURITY_BINDING
;
39 typedef struct _WS_CHANNEL WS_CHANNEL
;
40 typedef struct _WS_MESSAGE_PROPERTY WS_MESSAGE_PROPERTY
;
41 typedef struct _WS_MESSAGE_PROPERTIES WS_MESSAGE_PROPERTIES
;
42 typedef struct _WS_HTTP_BINDING_TEMPLATE WS_HTTP_BINDING_TEMPLATE
;
43 typedef struct _WS_HTTP_SSL_BINDING_TEMPLATE WS_HTTP_SSL_BINDING_TEMPLATE
;
44 typedef struct _WS_CHANNEL_PROPERTIES WS_CHANNEL_PROPERTIES
;
45 typedef struct _WS_SSL_TRANSPORT_SECURITY_BINDING_TEMPLATE WS_SSL_TRANSPORT_SECURITY_BINDING_TEMPLATE
;
46 typedef struct _WS_SECURITY_BINDING_PROPERTIES WS_SECURITY_BINDING_PROPERTIES
;
47 typedef struct _WS_CERT_CREDENTIAL WS_CERT_CREDENTIAL
;
48 typedef struct _WS_ENDPOINT_ADDRESS WS_ENDPOINT_ADDRESS
;
49 typedef struct _WS_ENDPOINT_IDENTITY WS_ENDPOINT_IDENTITY
;
50 typedef struct _WS_ENUM_DESCRIPTION WS_ENUM_DESCRIPTION
;
51 typedef struct _WS_ENUM_VALUE WS_ENUM_VALUE
;
52 typedef struct _WS_HTTP_POLICY_DESCRIPTION WS_HTTP_POLICY_DESCRIPTION
;
53 typedef struct _WS_MESSAGE WS_MESSAGE
;
54 typedef struct _WS_MESSAGE_DESCRIPTION WS_MESSAGE_DESCRIPTION
;
55 typedef struct _WS_OPERATION_DESCRIPTION WS_OPERATION_DESCRIPTION
;
56 typedef struct _WS_PARAMETER_DESCRIPTION WS_PARAMETER_DESCRIPTION
;
57 typedef struct _WS_OPERATION_CONTEXT WS_OPERATION_CONTEXT
;
58 typedef struct _WS_CALL_PROPERTY WS_CALL_PROPERTY
;
59 typedef struct _WS_DOUBLE_DESCRIPTION WS_DOUBLE_DESCRIPTION
;
60 typedef struct _WS_DATETIME WS_DATETIME
;
61 typedef struct _WS_DATETIME_DESCRIPTION WS_DATETIME_DESCRIPTION
;
62 typedef struct _WS_GUID_DESCRIPTION WS_GUID_DESCRIPTION
;
63 typedef struct _WS_UNIQUE_ID_DESCRIPTION WS_UNIQUE_ID_DESCRIPTION
;
64 typedef struct _WS_URL WS_URL
;
65 typedef struct _WS_HTTP_URL WS_HTTP_URL
;
66 typedef struct _WS_HTTPS_URL WS_HTTPS_URL
;
67 typedef struct _WS_NETTCP_URL WS_NETTCP_URL
;
68 typedef struct _WS_SOAPUDP_URL WS_SOAPUDP_URL
;
69 typedef struct _WS_NETPIPE_URL WS_NETPIPE_URL
;
70 typedef struct _WS_CUSTOM_CHANNEL_CALLBACKS WS_CUSTOM_CHANNEL_CALLBACKS
;
71 typedef struct _WS_CHANNEL_ENCODER WS_CHANNEL_ENCODER
;
72 typedef struct _WS_CHANNEL_DECODER WS_CHANNEL_DECODER
;
73 typedef struct _WS_CUSTOM_HTTP_PROXY WS_CUSTOM_HTTP_PROXY
;
74 typedef struct _WS_HTTP_MESSAGE_MAPPING WS_HTTP_MESSAGE_MAPPING
;
75 typedef struct _WS_HTTP_HEADER_MAPPING WS_HTTP_HEADER_MAPPING
;
76 typedef struct _WS_HTTP_REDIRECT_CALLBACK_CONTEXT WS_HTTP_REDIRECT_CALLBACK_CONTEXT
;
78 struct _WS_STRUCT_DESCRIPTION
;
79 struct _WS_XML_STRING
;
82 WS_ERROR_PROPERTY_STRING_COUNT
,
83 WS_ERROR_PROPERTY_ORIGINAL_ERROR_CODE
,
84 WS_ERROR_PROPERTY_LANGID
85 } WS_ERROR_PROPERTY_ID
;
87 typedef struct _WS_ERROR_PROPERTY
{
88 WS_ERROR_PROPERTY_ID id
;
94 WS_HEAP_PROPERTY_MAX_SIZE
,
95 WS_HEAP_PROPERTY_TRIM_SIZE
,
96 WS_HEAP_PROPERTY_REQUESTED_SIZE
,
97 WS_HEAP_PROPERTY_ACTUAL_SIZE
98 } WS_HEAP_PROPERTY_ID
;
100 typedef struct _WS_HEAP_PROPERTY
{
101 WS_HEAP_PROPERTY_ID id
;
106 typedef ULONG WS_XML_BUFFER_PROPERTY_ID
;
108 typedef struct _WS_XML_BUFFER_PROPERTY
{
109 WS_XML_BUFFER_PROPERTY_ID id
;
112 } WS_XML_BUFFER_PROPERTY
;
115 WS_XML_READER_PROPERTY_MAX_DEPTH
,
116 WS_XML_READER_PROPERTY_ALLOW_FRAGMENT
,
117 WS_XML_READER_PROPERTY_MAX_ATTRIBUTES
,
118 WS_XML_READER_PROPERTY_READ_DECLARATION
,
119 WS_XML_READER_PROPERTY_CHARSET
,
120 WS_XML_READER_PROPERTY_ROW
,
121 WS_XML_READER_PROPERTY_COLUMN
,
122 WS_XML_READER_PROPERTY_UTF8_TRIM_SIZE
,
123 WS_XML_READER_PROPERTY_STREAM_BUFFER_SIZE
,
124 WS_XML_READER_PROPERTY_IN_ATTRIBUTE
,
125 WS_XML_READER_PROPERTY_STREAM_MAX_ROOT_MIME_PART_SIZE
,
126 WS_XML_READER_PROPERTY_STREAM_MAX_MIME_HEADERS_SIZE
,
127 WS_XML_READER_PROPERTY_MAX_MIME_PARTS
,
128 WS_XML_READER_PROPERTY_ALLOW_INVALID_CHARACTER_REFERENCES
,
129 WS_XML_READER_PROPERTY_MAX_NAMESPACES
130 } WS_XML_READER_PROPERTY_ID
;
132 typedef struct _WS_XML_READER_PROPERTY
{
133 WS_XML_READER_PROPERTY_ID id
;
136 } WS_XML_READER_PROPERTY
;
139 WS_XML_WRITER_PROPERTY_MAX_DEPTH
,
140 WS_XML_WRITER_PROPERTY_ALLOW_FRAGMENT
,
141 WS_XML_WRITER_PROPERTY_MAX_ATTRIBUTES
,
142 WS_XML_WRITER_PROPERTY_WRITE_DECLARATION
,
143 WS_XML_WRITER_PROPERTY_INDENT
,
144 WS_XML_WRITER_PROPERTY_BUFFER_TRIM_SIZE
,
145 WS_XML_WRITER_PROPERTY_CHARSET
,
146 WS_XML_WRITER_PROPERTY_BUFFERS
,
147 WS_XML_WRITER_PROPERTY_BUFFER_MAX_SIZE
,
148 WS_XML_WRITER_PROPERTY_BYTES
,
149 WS_XML_WRITER_PROPERTY_IN_ATTRIBUTE
,
150 WS_XML_WRITER_PROPERTY_MAX_MIME_PARTS_BUFFER_SIZE
,
151 WS_XML_WRITER_PROPERTY_INITIAL_BUFFER
,
152 WS_XML_WRITER_PROPERTY_ALLOW_INVALID_CHARACTER_REFERENCES
,
153 WS_XML_WRITER_PROPERTY_MAX_NAMESPACES
,
154 WS_XML_WRITER_PROPERTY_BYTES_WRITTEN
,
155 WS_XML_WRITER_PROPERTY_BYTES_TO_CLOSE
,
156 WS_XML_WRITER_PROPERTY_COMPRESS_EMPTY_ELEMENTS
,
157 WS_XML_WRITER_PROPERTY_EMIT_UNCOMPRESSED_EMPTY_ELEMENTS
158 } WS_XML_WRITER_PROPERTY_ID
;
160 typedef struct _WS_XML_WRITER_PROPERTY
{
161 WS_XML_WRITER_PROPERTY_ID id
;
164 } WS_XML_WRITER_PROPERTY
;
166 typedef struct _WS_BYTES
{
171 typedef struct _WS_BUFFERS
{
177 WS_XML_READER_ENCODING_TYPE_TEXT
= 1,
178 WS_XML_READER_ENCODING_TYPE_BINARY
= 2,
179 WS_XML_READER_ENCODING_TYPE_MTOM
= 3,
180 WS_XML_READER_ENCODING_TYPE_RAW
= 4
181 } WS_XML_READER_ENCODING_TYPE
;
183 typedef struct _WS_XML_READER_ENCODING
{
184 WS_XML_READER_ENCODING_TYPE encodingType
;
185 } WS_XML_READER_ENCODING
;
188 WS_XML_WRITER_ENCODING_TYPE_TEXT
= 1,
189 WS_XML_WRITER_ENCODING_TYPE_BINARY
= 2,
190 WS_XML_WRITER_ENCODING_TYPE_MTOM
= 3,
191 WS_XML_WRITER_ENCODING_TYPE_RAW
= 4
192 } WS_XML_WRITER_ENCODING_TYPE
;
194 typedef struct _WS_XML_WRITER_ENCODING
{
195 WS_XML_WRITER_ENCODING_TYPE encodingType
;
196 } WS_XML_WRITER_ENCODING
;
205 typedef struct _WS_XML_READER_TEXT_ENCODING
{
206 WS_XML_READER_ENCODING encoding
;
208 } WS_XML_READER_TEXT_ENCODING
;
210 typedef struct _WS_XML_WRITER_TEXT_ENCODING
{
211 WS_XML_WRITER_ENCODING encoding
;
213 } WS_XML_WRITER_TEXT_ENCODING
;
216 WS_XML_READER_INPUT_TYPE_BUFFER
= 1,
217 WS_XML_READER_INPUT_TYPE_STREAM
= 2
218 } WS_XML_READER_INPUT_TYPE
;
221 WS_XML_WRITER_OUTPUT_TYPE_BUFFER
= 1,
222 WS_XML_WRITER_OUTPUT_TYPE_STREAM
= 2
223 } WS_XML_WRITER_OUTPUT_TYPE
;
225 typedef struct _WS_XML_READER_INPUT
{
226 WS_XML_READER_INPUT_TYPE inputType
;
227 } WS_XML_READER_INPUT
;
229 typedef struct _WS_XML_WRITER_OUTPUT
{
230 WS_XML_WRITER_OUTPUT_TYPE outputType
;
231 } WS_XML_WRITER_OUTPUT
;
233 typedef struct _WS_XML_READER_BUFFER_INPUT
{
234 WS_XML_READER_INPUT input
;
236 ULONG encodedDataSize
;
237 } WS_XML_READER_BUFFER_INPUT
;
239 typedef struct _WS_XML_WRITER_BUFFER_OUTPUT
{
240 WS_XML_WRITER_OUTPUT output
;
241 } WS_XML_WRITER_BUFFER_OUTPUT
;
248 typedef void (CALLBACK
*WS_ASYNC_CALLBACK
)
249 (HRESULT
, WS_CALLBACK_MODEL
, void *);
251 typedef struct _WS_ASYNC_CONTEXT
{
252 WS_ASYNC_CALLBACK callback
;
256 typedef HRESULT (CALLBACK
*WS_READ_CALLBACK
)
257 (void*, void*, ULONG
, ULONG
*, const WS_ASYNC_CONTEXT
*, WS_ERROR
*);
259 typedef HRESULT (CALLBACK
*WS_WRITE_CALLBACK
)
260 (void*, const WS_BYTES
*, ULONG
, const WS_ASYNC_CONTEXT
*, WS_ERROR
*);
262 typedef struct _WS_XML_READER_STREAM_INPUT
{
263 WS_XML_READER_INPUT input
;
264 WS_READ_CALLBACK readCallback
;
265 void *readCallbackState
;
266 } WS_XML_READER_STREAM_INPUT
;
268 typedef struct _WS_XML_DICTIONARY
{
270 struct _WS_XML_STRING
*strings
;
275 typedef struct _WS_XML_STRING
{
278 WS_XML_DICTIONARY
*dictionary
;
283 WS_ELEMENT_TYPE_MAPPING
= 1,
284 WS_ATTRIBUTE_TYPE_MAPPING
= 2,
285 WS_ELEMENT_CONTENT_TYPE_MAPPING
= 3,
286 WS_ANY_ELEMENT_TYPE_MAPPING
= 4
318 WS_ENDPOINT_ADDRESS_TYPE
,
324 WS_ANY_ATTRIBUTES_TYPE
328 WS_READ_REQUIRED_VALUE
= 1,
329 WS_READ_REQUIRED_POINTER
= 2,
330 WS_READ_OPTIONAL_POINTER
= 3,
331 WS_READ_NILLABLE_POINTER
= 4,
332 WS_READ_NILLABLE_VALUE
= 5
336 WS_WRITE_REQUIRED_VALUE
= 1,
337 WS_WRITE_REQUIRED_POINTER
= 2,
338 WS_WRITE_NILLABLE_VALUE
= 3,
339 WS_WRITE_NILLABLE_POINTER
= 4
342 typedef struct _WS_BOOL_DESCRIPTION
{
344 } WS_BOOL_DESCRIPTION
;
346 typedef struct _WS_INT8_DESCRIPTION
{
349 } WS_INT8_DESCRIPTION
;
351 typedef struct _WS_INT16_DESCRIPTION
{
354 } WS_INT16_DESCRIPTION
;
356 typedef struct _WS_INT32_DESCRIPTION
{
359 } WS_INT32_DESCRIPTION
;
361 typedef struct _WS_INT64_DESCRIPTION
{
364 } WS_INT64_DESCRIPTION
;
366 typedef struct _WS_UINT8_DESCRIPTION
{
369 } WS_UINT8_DESCRIPTION
;
371 typedef struct _WS_UINT16_DESCRIPTION
{
374 } WS_UINT16_DESCRIPTION
;
376 typedef struct _WS_UINT32_DESCRIPTION
{
379 } WS_UINT32_DESCRIPTION
;
381 typedef struct _WS_UINT64_DESCRIPTION
{
382 unsigned __int64 minValue
;
383 unsigned __int64 maxValue
;
384 } WS_UINT64_DESCRIPTION
;
386 typedef struct _WS_WSZ_DESCRIPTION
{
389 } WS_WSZ_DESCRIPTION
;
391 struct _WS_ENUM_VALUE
{
396 struct _WS_ENUM_DESCRIPTION
{
397 WS_ENUM_VALUE
*values
;
403 struct _WS_DOUBLE_DESCRIPTION
{
408 struct _WS_GUID_DESCRIPTION
{
412 struct _WS_UNIQUE_ID_DESCRIPTION
{
418 WS_TYPE_ATTRIBUTE_FIELD_MAPPING
,
419 WS_ATTRIBUTE_FIELD_MAPPING
,
420 WS_ELEMENT_FIELD_MAPPING
,
421 WS_REPEATING_ELEMENT_FIELD_MAPPING
,
422 WS_TEXT_FIELD_MAPPING
,
424 WS_XML_ATTRIBUTE_FIELD_MAPPING
,
425 WS_ELEMENT_CHOICE_FIELD_MAPPING
,
426 WS_REPEATING_ELEMENT_CHOICE_FIELD_MAPPING
,
427 WS_ANY_ELEMENT_FIELD_MAPPING
,
428 WS_REPEATING_ANY_ELEMENT_FIELD_MAPPING
,
429 WS_ANY_CONTENT_FIELD_MAPPING
,
430 WS_ANY_ATTRIBUTES_FIELD_MAPPING
433 typedef struct _WS_DEFAULT_VALUE
{
438 typedef struct _WS_ITEM_RANGE
{
445 WS_FIELD_POINTER
= 0x1,
446 WS_FIELD_OPTIONAL
= 0x2,
447 WS_FIELD_NILLABLE
= 0x4,
448 WS_FIELD_NILLABLE_ITEM
= 0x8,
449 WS_FIELD_OTHER_NAMESPACE
= 0x10
452 typedef struct _WS_FIELD_DESCRIPTION
{
453 WS_FIELD_MAPPING mapping
;
454 WS_XML_STRING
*localName
;
457 void *typeDescription
;
460 WS_DEFAULT_VALUE
*defaultValue
;
462 WS_XML_STRING
*itemLocalName
;
463 WS_XML_STRING
*itemNs
;
464 WS_ITEM_RANGE
*itemRange
;
465 } WS_FIELD_DESCRIPTION
;
469 WS_STRUCT_ABSTRACT
= 0x1,
470 WS_STRUCT_IGNORE_TRAILING_ELEMENT_CONTENT
= 0x2,
471 WS_STRUCT_IGNORE_UNHANDLED_ATTRIBUTES
= 0x4
474 typedef struct _WS_STRUCT_DESCRIPTION
{
477 WS_FIELD_DESCRIPTION
**fields
;
479 WS_XML_STRING
*typeLocalName
;
480 WS_XML_STRING
*typeNs
;
481 struct _WS_STRUCT_DESCRIPTION
*parentType
;
482 struct _WS_STRUCT_DESCRIPTION
**subTypes
;
485 } WS_STRUCT_DESCRIPTION
;
487 typedef struct _WS_ATTRIBUTE_DESCRIPTION
{
488 WS_XML_STRING
*attributeLocalName
;
489 WS_XML_STRING
*attributeNs
;
491 void *typeDescription
;
492 } WS_ATTRIBUTE_DESCRIPTION
;
494 typedef struct _WS_ELEMENT_DESCRIPTION
{
495 WS_XML_STRING
*elementLocalName
;
496 WS_XML_STRING
*elementNs
;
498 void *typeDescription
;
499 } WS_ELEMENT_DESCRIPTION
;
501 typedef struct _WS_STRING
{
506 typedef struct _WS_UNIQUE_ID
{
512 WS_XML_NODE_TYPE_ELEMENT
= 1,
513 WS_XML_NODE_TYPE_TEXT
= 2,
514 WS_XML_NODE_TYPE_END_ELEMENT
= 3,
515 WS_XML_NODE_TYPE_COMMENT
= 4,
516 WS_XML_NODE_TYPE_CDATA
= 6,
517 WS_XML_NODE_TYPE_END_CDATA
= 7,
518 WS_XML_NODE_TYPE_EOF
= 8,
519 WS_XML_NODE_TYPE_BOF
= 9
522 typedef struct _WS_XML_NODE
{
523 WS_XML_NODE_TYPE nodeType
;
527 WS_MOVE_TO_ROOT_ELEMENT
,
528 WS_MOVE_TO_NEXT_ELEMENT
,
529 WS_MOVE_TO_PREVIOUS_ELEMENT
,
530 WS_MOVE_TO_CHILD_ELEMENT
,
531 WS_MOVE_TO_END_ELEMENT
,
532 WS_MOVE_TO_PARENT_ELEMENT
,
533 WS_MOVE_TO_NEXT_NODE
,
534 WS_MOVE_TO_PREVIOUS_NODE
,
535 WS_MOVE_TO_FIRST_NODE
,
538 WS_MOVE_TO_CHILD_NODE
542 WS_XML_TEXT_TYPE_UTF8
= 1,
543 WS_XML_TEXT_TYPE_UTF16
= 2,
544 WS_XML_TEXT_TYPE_BASE64
= 3,
545 WS_XML_TEXT_TYPE_BOOL
= 4,
546 WS_XML_TEXT_TYPE_INT32
= 5,
547 WS_XML_TEXT_TYPE_INT64
= 6,
548 WS_XML_TEXT_TYPE_UINT64
= 7,
549 WS_XML_TEXT_TYPE_FLOAT
= 8,
550 WS_XML_TEXT_TYPE_DOUBLE
= 9,
551 WS_XML_TEXT_TYPE_DECIMAL
= 10,
552 WS_XML_TEXT_TYPE_GUID
= 11,
553 WS_XML_TEXT_TYPE_UNIQUE_ID
= 12,
554 WS_XML_TEXT_TYPE_DATETIME
= 13,
555 WS_XML_TEXT_TYPE_TIMESPAN
= 14,
556 WS_XML_TEXT_TYPE_QNAME
= 15,
557 WS_XML_TEXT_TYPE_LIST
= 16
560 typedef struct _WS_XML_TEXT
{
561 WS_XML_TEXT_TYPE textType
;
564 typedef struct _WS_XML_UTF8_TEXT
{
569 typedef struct _WS_XML_UTF16_TEXT
{
575 typedef struct _WS_XML_BOOL_TEXT
{
580 typedef struct _WS_XML_INT32_TEXT
{
585 typedef struct _WS_XML_INT64_TEXT
{
590 typedef struct _WS_XML_UINT64_TEXT
{
592 unsigned __int64 value
;
593 } WS_XML_UINT64_TEXT
;
595 typedef struct _WS_XML_DOUBLE_TEXT
{
598 } WS_XML_DOUBLE_TEXT
;
600 typedef struct _WS_XML_GUID_TEXT
{
605 typedef struct _WS_XML_UNIQUE_ID_TEXT
{
608 } WS_XML_UNIQUE_ID_TEXT
;
617 WS_UINT16_VALUE_TYPE
,
618 WS_UINT32_VALUE_TYPE
,
619 WS_UINT64_VALUE_TYPE
,
621 WS_DOUBLE_VALUE_TYPE
,
622 WS_DECIMAL_VALUE_TYPE
,
623 WS_DATETIME_VALUE_TYPE
,
624 WS_TIMESPAN_VALUE_TYPE
,
626 WS_DURATION_VALUE_TYPE
629 typedef struct _WS_XML_ATTRIBUTE
{
632 WS_XML_STRING
*prefix
;
633 WS_XML_STRING
*localName
;
638 typedef struct _WS_XML_ELEMENT_NODE
{
640 WS_XML_STRING
*prefix
;
641 WS_XML_STRING
*localName
;
643 ULONG attributeCount
;
644 WS_XML_ATTRIBUTE
**attributes
;
646 } WS_XML_ELEMENT_NODE
;
648 typedef struct _WS_XML_TEXT_NODE
{
653 typedef struct _WS_XML_COMMENT_NODE
{
656 } WS_XML_COMMENT_NODE
;
658 typedef struct _WS_XML_NODE_POSITION
{
659 WS_XML_BUFFER
*buffer
;
661 } WS_XML_NODE_POSITION
;
664 WS_SERVICE_PROXY_STATE_CREATED
,
665 WS_SERVICE_PROXY_STATE_OPENING
,
666 WS_SERVICE_PROXY_STATE_OPEN
,
667 WS_SERVICE_PROXY_STATE_CLOSING
,
668 WS_SERVICE_PROXY_STATE_CLOSED
,
669 WS_SERVICE_PROXY_STATE_FAULTED
670 } WS_SERVICE_PROXY_STATE
;
673 WS_PROXY_PROPERTY_CALL_TIMEOUT
,
674 WS_PROXY_PROPERTY_MESSAGE_PROPERTIES
,
675 WS_PROXY_PROPERTY_MAX_CALL_POOL_SIZE
,
676 WS_PROXY_PROPERTY_STATE
,
677 WS_PROXY_PROPERTY_MAX_PENDING_CALLS
,
678 WS_PROXY_PROPERTY_MAX_CLOSE_TIMEOUT
,
679 WS_PROXY_FAULT_LANG_ID
680 } WS_PROXY_PROPERTY_ID
;
682 struct _WS_PROXY_PROPERTY
{
683 WS_PROXY_PROPERTY_ID id
;
689 WS_CHANNEL_TYPE_INPUT
= 0x1,
690 WS_CHANNEL_TYPE_OUTPUT
= 0x2,
691 WS_CHANNEL_TYPE_SESSION
= 0x4,
692 WS_CHANNEL_TYPE_INPUT_SESSION
= (WS_CHANNEL_TYPE_INPUT
| WS_CHANNEL_TYPE_SESSION
),
693 WS_CHANNEL_TYPE_OUTPUT_SESSION
= (WS_CHANNEL_TYPE_OUTPUT
| WS_CHANNEL_TYPE_SESSION
),
694 WS_CHANNEL_TYPE_DUPLEX
= (WS_CHANNEL_TYPE_INPUT
| WS_CHANNEL_TYPE_OUTPUT
),
695 WS_CHANNEL_TYPE_DUPLEX_SESSION
= (WS_CHANNEL_TYPE_INPUT
| WS_CHANNEL_TYPE_OUTPUT
| WS_CHANNEL_TYPE_SESSION
),
696 WS_CHANNEL_TYPE_REQUEST
= 0x8,
697 WS_CHANNEL_TYPE_REPLY
= 0x10
701 WS_ENCODING_XML_BINARY_1
,
702 WS_ENCODING_XML_BINARY_SESSION_1
,
703 WS_ENCODING_XML_MTOM_UTF8
,
704 WS_ENCODING_XML_MTOM_UTF16BE
,
705 WS_ENCODING_XML_MTOM_UTF16LE
,
706 WS_ENCODING_XML_UTF8
,
707 WS_ENCODING_XML_UTF16BE
,
708 WS_ENCODING_XML_UTF16LE
,
713 WS_CHANNEL_STATE_CREATED
,
714 WS_CHANNEL_STATE_OPENING
,
715 WS_CHANNEL_STATE_ACCEPTING
,
716 WS_CHANNEL_STATE_OPEN
,
717 WS_CHANNEL_STATE_FAULTED
,
718 WS_CHANNEL_STATE_CLOSING
,
719 WS_CHANNEL_STATE_CLOSED
723 WS_CHANNEL_PROPERTY_MAX_BUFFERED_MESSAGE_SIZE
= 0,
724 WS_CHANNEL_PROPERTY_MAX_STREAMED_MESSAGE_SIZE
= 1,
725 WS_CHANNEL_PROPERTY_MAX_STREAMED_START_SIZE
= 2,
726 WS_CHANNEL_PROPERTY_MAX_STREAMED_FLUSH_SIZE
= 3,
727 WS_CHANNEL_PROPERTY_ENCODING
= 4,
728 WS_CHANNEL_PROPERTY_ENVELOPE_VERSION
= 5,
729 WS_CHANNEL_PROPERTY_ADDRESSING_VERSION
= 6,
730 WS_CHANNEL_PROPERTY_MAX_SESSION_DICTIONARY_SIZE
= 7,
731 WS_CHANNEL_PROPERTY_STATE
= 8,
732 WS_CHANNEL_PROPERTY_ASYNC_CALLBACK_MODEL
= 9,
733 WS_CHANNEL_PROPERTY_IP_VERSION
= 10,
734 WS_CHANNEL_PROPERTY_RESOLVE_TIMEOUT
= 11,
735 WS_CHANNEL_PROPERTY_CONNECT_TIMEOUT
= 12,
736 WS_CHANNEL_PROPERTY_SEND_TIMEOUT
= 13,
737 WS_CHANNEL_PROPERTY_RECEIVE_RESPONSE_TIMEOUT
= 14,
738 WS_CHANNEL_PROPERTY_RECEIVE_TIMEOUT
= 15,
739 WS_CHANNEL_PROPERTY_CLOSE_TIMEOUT
= 16,
740 WS_CHANNEL_PROPERTY_ENABLE_TIMEOUTS
= 17,
741 WS_CHANNEL_PROPERTY_TRANSFER_MODE
= 18,
742 WS_CHANNEL_PROPERTY_MULTICAST_INTERFACE
= 19,
743 WS_CHANNEL_PROPERTY_MULTICAST_HOPS
= 20,
744 WS_CHANNEL_PROPERTY_REMOTE_ADDRESS
= 21,
745 WS_CHANNEL_PROPERTY_REMOTE_IP_ADDRESS
= 22,
746 WS_CHANNEL_PROPERTY_HTTP_CONNECTION_ID
= 23,
747 WS_CHANNEL_PROPERTY_CUSTOM_CHANNEL_CALLBACKS
= 24,
748 WS_CHANNEL_PROPERTY_CUSTOM_CHANNEL_PARAMETERS
= 25,
749 WS_CHANNEL_PROPERTY_CUSTOM_CHANNEL_INSTANCE
= 26,
750 WS_CHANNEL_PROPERTY_TRANSPORT_URL
= 27,
751 WS_CHANNEL_PROPERTY_NO_DELAY
= 28,
752 WS_CHANNEL_PROPERTY_SEND_KEEP_ALIVES
= 29,
753 WS_CHANNEL_PROPERTY_KEEP_ALIVE_TIME
= 30,
754 WS_CHANNEL_PROPERTY_KEEP_ALIVE_INTERVAL
= 31,
755 WS_CHANNEL_PROPERTY_MAX_HTTP_SERVER_CONNECTIONS
= 32,
756 WS_CHANNEL_PROPERTY_IS_SESSION_SHUT_DOWN
= 33,
757 WS_CHANNEL_PROPERTY_CHANNEL_TYPE
= 34,
758 WS_CHANNEL_PROPERTY_TRIM_BUFFERED_MESSAGE_SIZE
= 35,
759 WS_CHANNEL_PROPERTY_ENCODER
= 36,
760 WS_CHANNEL_PROPERTY_DECODER
= 37,
761 WS_CHANNEL_PROPERTY_PROTECTION_LEVEL
= 38,
762 WS_CHANNEL_PROPERTY_COOKIE_MODE
= 39,
763 WS_CHANNEL_PROPERTY_HTTP_PROXY_SETTING_MODE
= 40,
764 WS_CHANNEL_PROPERTY_CUSTOM_HTTP_PROXY
= 41,
765 WS_CHANNEL_PROPERTY_HTTP_MESSAGE_MAPPING
= 42,
766 WS_CHANNEL_PROPERTY_ENABLE_HTTP_REDIRECT
= 43,
767 WS_CHANNEL_PROPERTY_HTTP_REDIRECT_CALLBACK_CONTEXT
= 44,
768 WS_CHANNEL_PROPERTY_FAULTS_AS_ERRORS
= 45,
769 WS_CHANNEL_PROPERTY_ALLOW_UNSECURED_FAULTS
= 46,
770 WS_CHANNEL_PROPERTY_HTTP_SERVER_SPN
= 47,
771 WS_CHANNEL_PROPERTY_HTTP_PROXY_SPN
= 48,
772 WS_CHANNEL_PROPERTY_MAX_HTTP_REQUEST_HEADERS_BUFFER_SIZE
= 49
773 } WS_CHANNEL_PROPERTY_ID
;
775 struct _WS_CHANNEL_PROPERTY
{
776 WS_CHANNEL_PROPERTY_ID id
;
781 struct _WS_CHANNEL_PROPERTIES
{
782 WS_CHANNEL_PROPERTY
*properties
;
787 WS_HTTP_CHANNEL_BINDING
,
788 WS_TCP_CHANNEL_BINDING
,
789 WS_UDP_CHANNEL_BINDING
,
790 WS_CUSTOM_CHANNEL_BINDING
,
791 WS_NAMEDPIPE_CHANNEL_BINDING
792 } WS_CHANNEL_BINDING
;
795 WS_SSL_TRANSPORT_SECURITY_BINDING_TYPE
,
796 WS_TCP_SSPI_TRANSPORT_SECURITY_BINDING_TYPE
,
797 WS_HTTP_HEADER_AUTH_SECURITY_BINDING_TYPE
,
798 WS_USERNAME_MESSAGE_SECURITY_BINDING_TYPE
,
799 WS_KERBEROS_APREQ_MESSAGE_SECURITY_BINDING_TYPE
,
800 WS_XML_TOKEN_MESSAGE_SECURITY_BINDING_TYPE
,
801 WS_SAML_MESSAGE_SECURITY_BINDING_TYPE
,
802 WS_SECURITY_CONTEXT_MESSAGE_SECURITY_BINDING_TYPE
,
803 WS_NAMEDPIPE_SSPI_TRANSPORT_SECURITY_BINDING_TYPE
804 } WS_SECURITY_BINDING_TYPE
;
807 WS_SECURITY_BINDING_PROPERTY_REQUIRE_SSL_CLIENT_CERT
= 1,
808 WS_SECURITY_BINDING_PROPERTY_WINDOWS_INTEGRATED_AUTH_PACKAGE
= 2,
809 WS_SECURITY_BINDING_PROPERTY_REQUIRE_SERVER_AUTH
= 3,
810 WS_SECURITY_BINDING_PROPERTY_ALLOW_ANONYMOUS_CLIENTS
= 4,
811 WS_SECURITY_BINDING_PROPERTY_ALLOWED_IMPERSONATION_LEVEL
= 5,
812 WS_SECURITY_BINDING_PROPERTY_HTTP_HEADER_AUTH_SCHEME
= 6,
813 WS_SECURITY_BINDING_PROPERTY_HTTP_HEADER_AUTH_TARGET
= 7,
814 WS_SECURITY_BINDING_PROPERTY_HTTP_HEADER_AUTH_BASIC_REALM
= 8,
815 WS_SECURITY_BINDING_PROPERTY_HTTP_HEADER_AUTH_DIGEST_REALM
= 9,
816 WS_SECURITY_BINDING_PROPERTY_HTTP_HEADER_AUTH_DIGEST_DOMAIN
= 10,
817 WS_SECURITY_BINDING_PROPERTY_SECURITY_CONTEXT_KEY_SIZE
= 11,
818 WS_SECURITY_BINDING_PROPERTY_SECURITY_CONTEXT_KEY_ENTROPY_MODE
= 12,
819 WS_SECURITY_BINDING_PROPERTY_MESSAGE_PROPERTIES
= 13,
820 WS_SECURITY_BINDING_PROPERTY_SECURITY_CONTEXT_MAX_PENDING_CONTEXTS
= 14,
821 WS_SECURITY_BINDING_PROPERTY_SECURITY_CONTEXT_MAX_ACTIVE_CONTEXTS
= 15,
822 WS_SECURITY_BINDING_PROPERTY_SECURE_CONVERSATION_VERSION
= 16,
823 WS_SECURITY_BINDING_PROPERTY_SECURITY_CONTEXT_SUPPORT_RENEW
= 17,
824 WS_SECURITY_BINDING_PROPERTY_SECURITY_CONTEXT_RENEWAL_INTERVAL
= 18,
825 WS_SECURITY_BINDING_PROPERTY_SECURITY_CONTEXT_ROLLOVER_INTERVAL
= 19,
826 WS_SECURITY_BINDING_PROPERTY_CERT_FAILURES_TO_IGNORE
= 20,
827 WS_SECURITY_BINDING_PROPERTY_DISABLE_CERT_REVOCATION_CHECK
= 21,
828 WS_SECURITY_BINDING_PROPERTY_DISALLOWED_SECURE_PROTOCOLS
= 22,
829 WS_SECURITY_BINDING_PROPERTY_CERTIFICATE_VALIDATION_CALLBACK_CONTEXT
= 23
830 } WS_SECURITY_BINDING_PROPERTY_ID
;
832 struct _WS_SECURITY_BINDING_PROPERTY
{
833 WS_SECURITY_BINDING_PROPERTY_ID id
;
838 struct _WS_SECURITY_BINDING_PROPERTIES
{
839 WS_SECURITY_BINDING_PROPERTY
*properties
;
843 struct _WS_SECURITY_BINDING
{
844 WS_SECURITY_BINDING_TYPE bindingType
;
845 WS_SECURITY_BINDING_PROPERTY
*properties
;
850 WS_SECURITY_PROPERTY_TRANSPORT_PROTECTION_LEVEL
= 1,
851 WS_SECURITY_PROPERTY_ALGORITHM_SUITE
= 2,
852 WS_SECURITY_PROPERTY_ALGORITHM_SUITE_NAME
= 3,
853 WS_SECURITY_PROPERTY_MAX_ALLOWED_LATENCY
= 4,
854 WS_SECURITY_PROPERTY_TIMESTAMP_VALIDITY_DURATION
= 5,
855 WS_SECURITY_PROPERTY_MAX_ALLOWED_CLOCK_SKEW
= 6,
856 WS_SECURITY_PROPERTY_TIMESTAMP_USAGE
= 7,
857 WS_SECURITY_PROPERTY_SECURITY_HEADER_LAYOUT
= 8,
858 WS_SECURITY_PROPERTY_SECURITY_HEADER_VERSION
= 9,
859 WS_SECURITY_PROPERTY_EXTENDED_PROTECTION_POLICY
= 10,
860 WS_SECURITY_PROPERTY_EXTENDED_PROTECTION_SCENARIO
= 11,
861 WS_SECURITY_PROPERTY_SERVICE_IDENTITIES
= 12
862 } WS_SECURITY_PROPERTY_ID
;
864 struct _WS_SECURITY_PROPERTY
{
865 WS_SECURITY_PROPERTY_ID id
;
870 struct _WS_SECURITY_PROPERTIES
{
871 WS_SECURITY_PROPERTY
*properties
;
875 struct _WS_SECURITY_DESCRIPTION
{
876 WS_SECURITY_BINDING
**securityBindings
;
877 ULONG securityBindingCount
;
878 WS_SECURITY_PROPERTY
*properties
;
883 WS_HTTP_BINDING_TEMPLATE_TYPE
,
884 WS_HTTP_SSL_BINDING_TEMPLATE_TYPE
,
885 WS_HTTP_HEADER_AUTH_BINDING_TEMPLATE_TYPE
,
886 WS_HTTP_SSL_HEADER_AUTH_BINDING_TEMPLATE_TYPE
,
887 WS_HTTP_SSL_USERNAME_BINDING_TEMPLATE_TYPE
,
888 WS_HTTP_SSL_KERBEROS_APREQ_BINDING_TEMPLATE_TYPE
,
889 WS_TCP_BINDING_TEMPLATE_TYPE
,
890 WS_TCP_SSPI_BINDING_TEMPLATE_TYPE
,
891 WS_TCP_SSPI_USERNAME_BINDING_TEMPLATE_TYPE
,
892 WS_TCP_SSPI_KERBEROS_APREQ_BINDING_TEMPLATE_TYPE
,
893 WS_HTTP_SSL_USERNAME_SECURITY_CONTEXT_BINDING_TEMPLATE_TYPE
,
894 WS_HTTP_SSL_KERBEROS_APREQ_SECURITY_CONTEXT_BINDING_TEMPLATE_TYPE
,
895 WS_TCP_SSPI_USERNAME_SECURITY_CONTEXT_BINDING_TEMPLATE_TYPE
,
896 WS_TCP_SSPI_KERBEROS_APREQ_SECURITY_CONTEXT_BINDING_TEMPLATE_TYPE
897 } WS_BINDING_TEMPLATE_TYPE
;
900 WS_SUBJECT_NAME_CERT_CREDENTIAL_TYPE
= 1,
901 WS_THUMBPRINT_CERT_CREDENTIAL_TYPE
= 2,
902 WS_CUSTOM_CERT_CREDENTIAL_TYPE
= 3
903 } WS_CERT_CREDENTIAL_TYPE
;
905 struct _WS_CERT_CREDENTIAL
{
906 WS_CERT_CREDENTIAL_TYPE credentialType
;
909 struct _WS_SSL_TRANSPORT_SECURITY_BINDING_TEMPLATE
{
910 WS_SECURITY_BINDING_PROPERTIES securityBindingProperties
;
911 WS_CERT_CREDENTIAL
*localCertCredential
;
914 struct _WS_HTTP_BINDING_TEMPLATE
{
915 WS_CHANNEL_PROPERTIES channelProperties
;
918 struct _WS_HTTP_SSL_BINDING_TEMPLATE
{
919 WS_CHANNEL_PROPERTIES channelProperties
;
920 WS_SECURITY_PROPERTIES securityProperties
;
921 WS_SSL_TRANSPORT_SECURITY_BINDING_TEMPLATE sslTransportSecurityBinding
;
925 WS_MUST_UNDERSTAND_HEADER_ATTRIBUTE
= 0x1,
926 WS_RELAY_HEADER_ATTRIBUTE
= 0x2
930 WS_ADDRESSING_VERSION_0_9
= 1,
931 WS_ADDRESSING_VERSION_1_0
= 2,
932 WS_ADDRESSING_VERSION_TRANSPORT
= 3
933 } WS_ADDRESSING_VERSION
;
936 WS_ENVELOPE_VERSION_SOAP_1_1
= 1,
937 WS_ENVELOPE_VERSION_SOAP_1_2
= 2,
938 WS_ENVELOPE_VERSION_NONE
= 3
939 } WS_ENVELOPE_VERSION
;
942 WS_MESSAGE_PROPERTY_STATE
,
943 WS_MESSAGE_PROPERTY_HEAP
,
944 WS_MESSAGE_PROPERTY_ENVELOPE_VERSION
,
945 WS_MESSAGE_PROPERTY_ADDRESSING_VERSION
,
946 WS_MESSAGE_PROPERTY_HEADER_BUFFER
,
947 WS_MESSAGE_PROPERTY_HEADER_POSITION
,
948 WS_MESSAGE_PROPERTY_BODY_READER
,
949 WS_MESSAGE_PROPERTY_BODY_WRITER
,
950 WS_MESSAGE_PROPERTY_IS_ADDRESSED
,
951 WS_MESSAGE_PROPERTY_HEAP_PROPERTIES
,
952 WS_MESSAGE_PROPERTY_XML_READER_PROPERTIES
,
953 WS_MESSAGE_PROPERTY_XML_WRITER_PROPERTIES
,
954 WS_MESSAGE_PROPERTY_IS_FAULT
,
955 WS_MESSAGE_PROPERTY_MAX_PROCESSED_HEADERS
,
956 WS_MESSAGE_PROPERTY_USERNAME
,
957 WS_MESSAGE_PROPERTY_ENCODED_CERT
,
958 WS_MESSAGE_PROPERTY_TRANSPORT_SECURITY_WINDOWS_TOKEN
,
959 WS_MESSAGE_PROPERTY_HTTP_HEADER_AUTH_WINDOWS_TOKEN
,
960 WS_MESSAGE_PROPERTY_MESSAGE_SECURITY_WINDOWS_TOKEN
,
961 WS_MESSAGE_PROPERTY_SAML_ASSERTION
,
962 WS_MESSAGE_PROPERTY_SECURITY_CONTEXT
,
963 WS_MESSAGE_PROPERTY_PROTECTION_LEVEL
964 } WS_MESSAGE_PROPERTY_ID
;
966 struct _WS_MESSAGE_PROPERTY
{
967 WS_MESSAGE_PROPERTY_ID id
;
972 struct _WS_MESSAGE_PROPERTIES
{
973 WS_MESSAGE_PROPERTY
*properties
;
978 WS_MESSAGE_STATE_EMPTY
= 1,
979 WS_MESSAGE_STATE_INITIALIZED
= 2,
980 WS_MESSAGE_STATE_READING
= 3,
981 WS_MESSAGE_STATE_WRITING
= 4,
982 WS_MESSAGE_STATE_DONE
= 5
987 WS_DUPLICATE_MESSAGE
,
991 } WS_MESSAGE_INITIALIZATION
;
994 WS_ACTION_HEADER
= 1,
996 WS_MESSAGE_ID_HEADER
= 3,
997 WS_RELATES_TO_HEADER
= 4,
999 WS_REPLY_TO_HEADER
= 6,
1000 WS_FAULT_TO_HEADER
= 7
1004 WS_DNS_ENDPOINT_IDENTITY_TYPE
= 1,
1005 WS_UPN_ENDPOINT_IDENTITY_TYPE
= 2,
1006 WS_SPN_ENDPOINT_IDENTITY_TYPE
= 3,
1007 WS_RSA_ENDPOINT_IDENTITY_TYPE
= 4,
1008 WS_CERT_ENDPOINT_IDENTITY_TYPE
= 5,
1009 WS_UNKNOWN_ENDPOINT_IDENTITY_TYPE
= 6
1010 } WS_ENDPOINT_IDENTITY_TYPE
;
1012 struct _WS_ENDPOINT_IDENTITY
{
1013 WS_ENDPOINT_IDENTITY_TYPE identityType
;
1016 struct _WS_ENDPOINT_ADDRESS
{
1018 WS_XML_BUFFER
*headers
;
1019 WS_XML_BUFFER
*extensions
;
1020 WS_ENDPOINT_IDENTITY
*identity
;
1023 struct _WS_HTTP_POLICY_DESCRIPTION
{
1024 WS_CHANNEL_PROPERTIES channelProperties
;
1027 struct _WS_MESSAGE_DESCRIPTION
{
1028 WS_XML_STRING
*action
;
1029 WS_ELEMENT_DESCRIPTION
*bodyElementDescription
;
1033 WS_PARAMETER_TYPE_NORMAL
,
1034 WS_PARAMETER_TYPE_ARRAY
,
1035 WS_PARAMETER_TYPE_ARRAY_COUNT
,
1036 WS_PARAMETER_TYPE_MESSAGES
1037 } WS_PARAMETER_TYPE
;
1039 struct _WS_PARAMETER_DESCRIPTION
{
1040 WS_PARAMETER_TYPE parameterType
;
1041 USHORT inputMessageIndex
;
1042 USHORT outputMessageIndex
;
1045 typedef HRESULT (CALLBACK
*WS_SERVICE_STUB_CALLBACK
)(
1046 const WS_OPERATION_CONTEXT
*context
,
1048 const void *callback
,
1049 const WS_ASYNC_CONTEXT
*asyncContext
,
1053 WS_NON_RPC_LITERAL_OPERATION
,
1054 WS_RPC_LITERAL_OPERATION
1055 } WS_OPERATION_STYLE
;
1057 struct _WS_OPERATION_DESCRIPTION
{
1059 WS_MESSAGE_DESCRIPTION
*inputMessageDescription
;
1060 WS_MESSAGE_DESCRIPTION
*outputMessageDescription
;
1061 ULONG inputMessageOptions
;
1062 ULONG outputMessageOptions
;
1063 USHORT parameterCount
;
1064 WS_PARAMETER_DESCRIPTION
*parameterDescription
;
1065 WS_SERVICE_STUB_CALLBACK stubCallback
;
1066 WS_OPERATION_STYLE style
;
1070 WS_CALL_PROPERTY_CHECK_MUST_UNDERSTAND
,
1071 WS_CALL_PROPERTY_SEND_MESSAGE_CONTEXT
,
1072 WS_CALL_PROPERTY_RECEIVE_MESSAGE_CONTEXT
,
1073 WS_CALL_PROPERTY_CALL_ID
1074 } WS_CALL_PROPERTY_ID
;
1076 struct _WS_CALL_PROPERTY
{
1077 WS_CALL_PROPERTY_ID id
;
1083 WS_DATETIME_FORMAT_UTC
,
1084 WS_DATETIME_FORMAT_LOCAL
,
1085 WS_DATETIME_FORMAT_NONE
1086 } WS_DATETIME_FORMAT
;
1088 struct _WS_DATETIME
{
1089 unsigned __int64 ticks
;
1090 WS_DATETIME_FORMAT format
;
1093 struct _WS_DATETIME_DESCRIPTION
{
1094 WS_DATETIME minValue
;
1095 WS_DATETIME maxValue
;
1099 WS_URL_HTTP_SCHEME_TYPE
,
1100 WS_URL_HTTPS_SCHEME_TYPE
,
1101 WS_URL_NETTCP_SCHEME_TYPE
,
1102 WS_URL_SOAPUDP_SCHEME_TYPE
,
1103 WS_URL_NETPIPE_SCHEME_TYPE
1104 } WS_URL_SCHEME_TYPE
;
1107 WS_URL_FLAGS_ALLOW_HOST_WILDCARDS
= 0x1,
1108 WS_URL_FLAGS_NO_PATH_COLLAPSE
= 0x2,
1109 WS_URL_FLAGS_ZERO_TERMINATE
= 0x4
1113 WS_URL_SCHEME_TYPE scheme
;
1116 struct _WS_HTTP_URL
{
1120 WS_STRING portAsString
;
1126 struct _WS_HTTPS_URL
{
1130 WS_STRING portAsString
;
1136 struct _WS_SOAPUDP_URL
{
1140 WS_STRING portAsString
;
1146 struct _WS_NETPIPE_URL
{
1150 WS_STRING portAsString
;
1158 WS_IP_VERSION_4
= 1,
1159 WS_IP_VERSION_6
= 2,
1160 WS_IP_VERSION_AUTO
= 3
1165 WS_BUFFERED_TRANSFER_MODE
= 0x0,
1166 WS_STREAMED_INPUT_TRANSFER_MODE
= 0x1,
1167 WS_STREAMED_OUTPUT_TRANSFER_MODE
= 0x2,
1168 WS_STREAMED_TRANSFER_MODE
= (WS_STREAMED_INPUT_TRANSFER_MODE
|WS_STREAMED_OUTPUT_TRANSFER_MODE
)
1171 typedef HRESULT (CALLBACK
*WS_CREATE_CHANNEL_CALLBACK
)
1172 (WS_CHANNEL_TYPE
, const void*, ULONG
, void**, WS_ERROR
*);
1174 typedef void (CALLBACK
*WS_FREE_CHANNEL_CALLBACK
)
1177 typedef HRESULT (CALLBACK
*WS_RESET_CHANNEL_CALLBACK
)
1180 typedef HRESULT (CALLBACK
*WS_OPEN_CHANNEL_CALLBACK
)
1181 (void*, const WS_ENDPOINT_ADDRESS
*, const WS_ASYNC_CONTEXT
*, WS_ERROR
*);
1183 typedef HRESULT (CALLBACK
*WS_CLOSE_CHANNEL_CALLBACK
)
1184 (void*, const WS_ASYNC_CONTEXT
*, WS_ERROR
*);
1186 typedef HRESULT (CALLBACK
*WS_ABORT_CHANNEL_CALLBACK
)
1189 typedef HRESULT (CALLBACK
*WS_GET_CHANNEL_PROPERTY_CALLBACK
)
1190 (void*, WS_CHANNEL_PROPERTY_ID
, void*, ULONG
, WS_ERROR
*);
1192 typedef HRESULT (CALLBACK
*WS_SET_CHANNEL_PROPERTY_CALLBACK
)
1193 (void*, WS_CHANNEL_PROPERTY_ID
, const void*, ULONG
, WS_ERROR
*);
1195 typedef HRESULT (CALLBACK
*WS_WRITE_MESSAGE_START_CALLBACK
)
1196 (void*, WS_MESSAGE
*, const WS_ASYNC_CONTEXT
*, WS_ERROR
*);
1198 typedef HRESULT (CALLBACK
*WS_WRITE_MESSAGE_END_CALLBACK
)
1199 (void*, WS_MESSAGE
*, const WS_ASYNC_CONTEXT
*, WS_ERROR
*);
1201 typedef HRESULT (CALLBACK
*WS_READ_MESSAGE_START_CALLBACK
)
1202 (void*, WS_MESSAGE
*, const WS_ASYNC_CONTEXT
*, WS_ERROR
*);
1204 typedef HRESULT (CALLBACK
*WS_READ_MESSAGE_END_CALLBACK
)
1205 (void*, WS_MESSAGE
*, const WS_ASYNC_CONTEXT
*, WS_ERROR
*);
1207 typedef HRESULT (CALLBACK
*WS_ABANDON_MESSAGE_CALLBACK
)
1208 (void*, WS_MESSAGE
*, WS_ERROR
*);
1210 typedef HRESULT (CALLBACK
*WS_SHUTDOWN_SESSION_CHANNEL_CALLBACK
)
1211 (void*, const WS_ASYNC_CONTEXT
*, WS_ERROR
*);
1213 struct _WS_CUSTOM_CHANNEL_CALLBACKS
1215 WS_CREATE_CHANNEL_CALLBACK createChannelCallback
;
1216 WS_FREE_CHANNEL_CALLBACK freeChannelCallback
;
1217 WS_RESET_CHANNEL_CALLBACK resetChannelCallback
;
1218 WS_OPEN_CHANNEL_CALLBACK openChannelCallback
;
1219 WS_CLOSE_CHANNEL_CALLBACK closeChannelCallback
;
1220 WS_ABORT_CHANNEL_CALLBACK abortChannelCallback
;
1221 WS_GET_CHANNEL_PROPERTY_CALLBACK getChannelPropertyCallback
;
1222 WS_SET_CHANNEL_PROPERTY_CALLBACK setChannelPropertyCallback
;
1223 WS_WRITE_MESSAGE_START_CALLBACK writeMessageStartCallback
;
1224 WS_WRITE_MESSAGE_END_CALLBACK writeMessageEndCallback
;
1225 WS_READ_MESSAGE_START_CALLBACK readMessageStartCallback
;
1226 WS_READ_MESSAGE_END_CALLBACK readMessageEndCallback
;
1227 WS_ABANDON_MESSAGE_CALLBACK abandonMessageCallback
;
1228 WS_SHUTDOWN_SESSION_CHANNEL_CALLBACK shutdownSessionChannelCallback
;
1231 typedef HRESULT (CALLBACK
*WS_CREATE_ENCODER_CALLBACK
)
1232 (void*, WS_WRITE_CALLBACK
, void*, void**, WS_ERROR
*);
1234 typedef HRESULT (CALLBACK
*WS_ENCODER_GET_CONTENT_TYPE_CALLBACK
)
1235 (void*, const WS_STRING
*, WS_STRING
*, WS_STRING
*, WS_ERROR
*);
1237 typedef HRESULT (CALLBACK
*WS_ENCODER_START_CALLBACK
)
1238 (void*, const WS_ASYNC_CONTEXT
*, WS_ERROR
*);
1240 typedef HRESULT (CALLBACK
*WS_ENCODER_ENCODE_CALLBACK
)
1241 (void*, const WS_BYTES
*, ULONG
, const WS_ASYNC_CONTEXT
*, WS_ERROR
*);
1243 typedef HRESULT (CALLBACK
*WS_ENCODER_END_CALLBACK
)
1244 (void*, const WS_ASYNC_CONTEXT
*, WS_ERROR
*);
1246 typedef void (CALLBACK
*WS_FREE_ENCODER_CALLBACK
)
1249 struct _WS_CHANNEL_ENCODER
1251 void *createContext
;
1252 WS_CREATE_ENCODER_CALLBACK createEncoderCallback
;
1253 WS_ENCODER_GET_CONTENT_TYPE_CALLBACK encoderGetContentTypeCallback
;
1254 WS_ENCODER_START_CALLBACK encoderStartCallback
;
1255 WS_ENCODER_ENCODE_CALLBACK encoderEncodeCallback
;
1256 WS_ENCODER_END_CALLBACK encoderEndCallback
;
1257 WS_FREE_ENCODER_CALLBACK freeEncoderCallback
;
1260 typedef HRESULT (CALLBACK
*WS_CREATE_DECODER_CALLBACK
)
1261 (void*, WS_READ_CALLBACK
, void*, void**, WS_ERROR
*);
1263 typedef HRESULT (CALLBACK
*WS_DECODER_GET_CONTENT_TYPE_CALLBACK
)
1264 (void*, const WS_STRING
*, const WS_STRING
*, WS_STRING
*, WS_ERROR
*);
1266 typedef HRESULT (CALLBACK
*WS_DECODER_START_CALLBACK
)
1267 (void*, const WS_ASYNC_CONTEXT
*, WS_ERROR
*);
1269 typedef HRESULT (CALLBACK
*WS_DECODER_DECODE_CALLBACK
)
1270 (void*, void*, ULONG
, ULONG
*, const WS_ASYNC_CONTEXT
*, WS_ERROR
*);
1272 typedef HRESULT (CALLBACK
*WS_DECODER_END_CALLBACK
)
1273 (void*, const WS_ASYNC_CONTEXT
*, WS_ERROR
*);
1275 typedef void (CALLBACK
*WS_FREE_DECODER_CALLBACK
)
1278 struct _WS_CHANNEL_DECODER
1280 void *createContext
;
1281 WS_CREATE_DECODER_CALLBACK createDecoderCallback
;
1282 WS_DECODER_GET_CONTENT_TYPE_CALLBACK decoderGetContentTypeCallback
;
1283 WS_DECODER_START_CALLBACK decoderStartCallback
;
1284 WS_DECODER_DECODE_CALLBACK decoderDecodeCallback
;
1285 WS_DECODER_END_CALLBACK decoderEndCallback
;
1286 WS_FREE_DECODER_CALLBACK freeDecoderCallback
;
1291 WS_PROTECTION_LEVEL_NONE
= 1,
1292 WS_PROTECTION_LEVEL_SIGN
= 2,
1293 WS_PROTECTION_LEVEL_SIGN_AND_ENCRYPT
= 3
1294 } WS_PROTECTION_LEVEL
;
1298 WS_MANUAL_COOKIE_MODE
= 1,
1299 WS_AUTO_COOKIE_MODE
= 2
1304 WS_HTTP_PROXY_SETTING_MODE_AUTO
= 0x1,
1305 WS_HTTP_PROXY_SETTING_MODE_NONE
= 0x2,
1306 WS_HTTP_PROXY_SETTING_MODE_CUSTOM
= 0x3
1307 } WS_HTTP_PROXY_SETTING_MODE
;
1309 struct _WS_CUSTOM_HTTP_PROXY
1315 struct _WS_HTTP_HEADER_MAPPING
1317 WS_XML_STRING headerName
;
1318 ULONG headerMappingOptions
;
1321 struct _WS_HTTP_MESSAGE_MAPPING
1323 ULONG requestMappingOptions
;
1324 ULONG responseMappingOptions
;
1325 WS_HTTP_HEADER_MAPPING
**requestHeaderMappings
;
1326 ULONG requestHeaderMappingCount
;
1327 WS_HTTP_HEADER_MAPPING
**responseHeaderMappings
;
1328 ULONG responseHeaderMappingCount
;
1331 typedef HRESULT (CALLBACK
*WS_HTTP_REDIRECT_CALLBACK
)
1332 (void*, const WS_STRING
*, const WS_STRING
*);
1334 struct _WS_HTTP_REDIRECT_CALLBACK_CONTEXT
1336 WS_HTTP_REDIRECT_CALLBACK callback
;
1342 WS_RECEIVE_REQUIRED_MESSAGE
= 1,
1343 WS_RECEIVE_OPTIONAL_MESSAGE
= 2
1344 } WS_RECEIVE_OPTION
;
1346 typedef void (CALLBACK
*WS_MESSAGE_DONE_CALLBACK
)
1349 HRESULT WINAPI
WsAddMappedHeader(WS_MESSAGE
*, const WS_XML_STRING
*, WS_TYPE
, WS_WRITE_OPTION
,
1350 const void*, ULONG
, WS_ERROR
*);
1351 HRESULT WINAPI
WsAddressMessage(WS_MESSAGE
*, const WS_ENDPOINT_ADDRESS
*, WS_ERROR
*);
1352 HRESULT WINAPI
WsAlloc(WS_HEAP
*, SIZE_T
, void**, WS_ERROR
*);
1353 HRESULT WINAPI
WsCall(WS_SERVICE_PROXY
*, const WS_OPERATION_DESCRIPTION
*, const void**,
1354 WS_HEAP
*, const WS_CALL_PROPERTY
*, const ULONG
, const WS_ASYNC_CONTEXT
*,
1356 HRESULT WINAPI
WsCloseChannel(WS_CHANNEL
*, const WS_ASYNC_CONTEXT
*, WS_ERROR
*);
1357 HRESULT WINAPI
WsCloseServiceProxy(WS_SERVICE_PROXY
*, const WS_ASYNC_CONTEXT
*, WS_ERROR
*);
1358 HRESULT WINAPI
WsCombineUrl(const WS_STRING
*, const WS_STRING
*, ULONG
, WS_HEAP
*, WS_STRING
*, WS_ERROR
*);
1359 HRESULT WINAPI
WsCopyNode(WS_XML_WRITER
*, WS_XML_READER
*, WS_ERROR
*);
1360 HRESULT WINAPI
WsCreateChannel(WS_CHANNEL_TYPE
, WS_CHANNEL_BINDING
, const WS_CHANNEL_PROPERTY
*,
1361 ULONG
, const WS_SECURITY_DESCRIPTION
*, WS_CHANNEL
**, WS_ERROR
*);
1362 HRESULT WINAPI
WsCreateError(const WS_ERROR_PROPERTY
*, ULONG
, WS_ERROR
**);
1363 HRESULT WINAPI
WsCreateHeap(SIZE_T
, SIZE_T
, const WS_HEAP_PROPERTY
*, ULONG
, WS_HEAP
**, WS_ERROR
*);
1364 HRESULT WINAPI
WsCreateMessage(WS_ENVELOPE_VERSION
, WS_ADDRESSING_VERSION
, const WS_MESSAGE_PROPERTY
*,
1365 ULONG
, WS_MESSAGE
**, WS_ERROR
*);
1366 HRESULT WINAPI
WsCreateMessageForChannel(WS_CHANNEL
*, const WS_MESSAGE_PROPERTY
*, ULONG
, WS_MESSAGE
**,
1368 HRESULT WINAPI
WsCreateReader(const WS_XML_READER_PROPERTY
*, ULONG
, WS_XML_READER
**, WS_ERROR
*);
1369 HRESULT WINAPI
WsCreateServiceProxy(const WS_CHANNEL_TYPE
, const WS_CHANNEL_BINDING
,
1370 const WS_SECURITY_DESCRIPTION
*, const WS_PROXY_PROPERTY
*,
1371 const ULONG
, const WS_CHANNEL_PROPERTY
*, const ULONG
,
1372 WS_SERVICE_PROXY
**, WS_ERROR
*);
1373 HRESULT WINAPI
WsCreateServiceProxyFromTemplate(WS_CHANNEL_TYPE
, const WS_PROXY_PROPERTY
*,
1374 const ULONG
, WS_BINDING_TEMPLATE_TYPE
,
1375 void*, ULONG
, const void*, ULONG
,
1376 WS_SERVICE_PROXY
**, WS_ERROR
*);
1377 HRESULT WINAPI
WsCreateWriter(const WS_XML_WRITER_PROPERTY
*, ULONG
, WS_XML_WRITER
**, WS_ERROR
*);
1378 HRESULT WINAPI
WsCreateXmlBuffer(WS_HEAP
*, const WS_XML_BUFFER_PROPERTY
*, ULONG
, WS_XML_BUFFER
**,
1380 HRESULT WINAPI
WsDateTimeToFileTime(const WS_DATETIME
*, FILETIME
*, WS_ERROR
*);
1381 HRESULT WINAPI
WsDecodeUrl(const WS_STRING
*, ULONG
, WS_HEAP
*, WS_URL
**, WS_ERROR
*);
1382 HRESULT WINAPI
WsEncodeUrl(const WS_URL
*, ULONG
, WS_HEAP
*, WS_STRING
*, WS_ERROR
*);
1383 HRESULT WINAPI
WsFileTimeToDateTime(const FILETIME
*, WS_DATETIME
*, WS_ERROR
*);
1384 HRESULT WINAPI
WsFillReader(WS_XML_READER
*, ULONG
, const WS_ASYNC_CONTEXT
*, WS_ERROR
*);
1385 HRESULT WINAPI
WsFindAttribute(WS_XML_READER
*, const WS_XML_STRING
*, const WS_XML_STRING
*, BOOL
,
1387 void WINAPI
WsFreeChannel(WS_CHANNEL
*);
1388 void WINAPI
WsFreeError(WS_ERROR
*);
1389 void WINAPI
WsFreeHeap(WS_HEAP
*);
1390 void WINAPI
WsFreeMessage(WS_MESSAGE
*);
1391 void WINAPI
WsFreeReader(WS_XML_READER
*);
1392 void WINAPI
WsFreeServiceProxy(WS_SERVICE_PROXY
*);
1393 void WINAPI
WsFreeWriter(WS_XML_WRITER
*);
1394 HRESULT WINAPI
WsGetChannelProperty(WS_CHANNEL
*, WS_CHANNEL_PROPERTY_ID
, void*, ULONG
, WS_ERROR
*);
1395 HRESULT WINAPI
WsGetErrorProperty(WS_ERROR
*, WS_ERROR_PROPERTY_ID
, void*, ULONG
);
1396 HRESULT WINAPI
WsGetErrorString(WS_ERROR
*, ULONG
, WS_STRING
*);
1397 HRESULT WINAPI
WsGetHeapProperty(WS_HEAP
*, WS_HEAP_PROPERTY_ID
, void*, ULONG
, WS_ERROR
*);
1398 HRESULT WINAPI
WsGetMessageProperty(WS_MESSAGE
*, WS_MESSAGE_PROPERTY_ID
, void*, ULONG
, WS_ERROR
*);
1399 HRESULT WINAPI
WsGetNamespaceFromPrefix(WS_XML_READER
*, const WS_XML_STRING
*, BOOL
,
1400 const WS_XML_STRING
**, WS_ERROR
*);
1401 HRESULT WINAPI
WsGetPrefixFromNamespace(WS_XML_WRITER
*, const WS_XML_STRING
*, BOOL
,
1402 const WS_XML_STRING
**, WS_ERROR
*);
1403 HRESULT WINAPI
WsGetReaderNode(WS_XML_READER
*, const WS_XML_NODE
**, WS_ERROR
*);
1404 HRESULT WINAPI
WsGetReaderPosition(WS_XML_READER
*, WS_XML_NODE_POSITION
*, WS_ERROR
*);
1405 HRESULT WINAPI
WsGetReaderProperty(WS_XML_READER
*, WS_XML_READER_PROPERTY_ID
, void*, ULONG
, WS_ERROR
*);
1406 HRESULT WINAPI
WsGetServiceProxyProperty(WS_SERVICE_PROXY
*, const WS_PROXY_PROPERTY_ID
, void*,
1408 HRESULT WINAPI
WsGetWriterPosition(WS_XML_WRITER
*, WS_XML_NODE_POSITION
*, WS_ERROR
*);
1409 HRESULT WINAPI
WsGetWriterProperty(WS_XML_WRITER
*, WS_XML_WRITER_PROPERTY_ID
, void*, ULONG
, WS_ERROR
*);
1410 HRESULT WINAPI
WsGetXmlAttribute(WS_XML_READER
*, const WS_XML_STRING
*, WS_HEAP
*, WCHAR
**,
1412 HRESULT WINAPI
WsInitializeMessage(WS_MESSAGE
*, WS_MESSAGE_INITIALIZATION
, WS_MESSAGE
*, WS_ERROR
*);
1413 HRESULT WINAPI
WsMoveReader(WS_XML_READER
*, WS_MOVE_TO
, BOOL
*, WS_ERROR
*);
1414 HRESULT WINAPI
WsMoveWriter(WS_XML_WRITER
*, WS_MOVE_TO
, BOOL
*, WS_ERROR
*);
1415 HRESULT WINAPI
WsOpenChannel(WS_CHANNEL
*, const WS_ENDPOINT_ADDRESS
*, const WS_ASYNC_CONTEXT
*, WS_ERROR
*);
1416 HRESULT WINAPI
WsOpenServiceProxy(WS_SERVICE_PROXY
*, const WS_ENDPOINT_ADDRESS
*, const WS_ASYNC_CONTEXT
*,
1418 HRESULT WINAPI
WsReadAttribute(WS_XML_READER
*, const WS_ATTRIBUTE_DESCRIPTION
*, WS_READ_OPTION
,
1419 WS_HEAP
*, void*, ULONG
, WS_ERROR
*);
1420 HRESULT WINAPI
WsReadElement(WS_XML_READER
*, const WS_ELEMENT_DESCRIPTION
*, WS_READ_OPTION
,
1421 WS_HEAP
*, void*, ULONG
, WS_ERROR
*);
1422 HRESULT WINAPI
WsReadEndAttribute(WS_XML_READER
*, WS_ERROR
*);
1423 HRESULT WINAPI
WsReadEndElement(WS_XML_READER
*, WS_ERROR
*);
1424 HRESULT WINAPI
WsReadNode(WS_XML_READER
*, WS_ERROR
*);
1425 HRESULT WINAPI
WsReadStartAttribute(WS_XML_READER
*, ULONG
, WS_ERROR
*);
1426 HRESULT WINAPI
WsReadStartElement(WS_XML_READER
*, WS_ERROR
*);
1427 HRESULT WINAPI
WsReadToStartElement(WS_XML_READER
*, const WS_XML_STRING
*, const WS_XML_STRING
*,
1429 HRESULT WINAPI
WsReadType(WS_XML_READER
*, WS_TYPE_MAPPING
, WS_TYPE
, const void*, WS_READ_OPTION
,
1430 WS_HEAP
*, void*, ULONG
, WS_ERROR
*);
1431 HRESULT WINAPI
WsReadValue(WS_XML_READER
*, WS_VALUE_TYPE
, void*, ULONG
, WS_ERROR
*);
1432 HRESULT WINAPI
WsReceiveMessage(WS_CHANNEL
*, WS_MESSAGE
*, const WS_MESSAGE_DESCRIPTION
**, ULONG
,
1433 WS_RECEIVE_OPTION
, WS_READ_OPTION
, WS_HEAP
*, void*, ULONG
, ULONG
*,
1434 const WS_ASYNC_CONTEXT
*, WS_ERROR
*);
1435 HRESULT WINAPI
WsRemoveHeader(WS_MESSAGE
*, WS_HEADER_TYPE
, WS_ERROR
*);
1436 HRESULT WINAPI
WsRemoveMappedHeader(WS_MESSAGE
*, const WS_XML_STRING
*, WS_ERROR
*);
1437 HRESULT WINAPI
WsRemoveNode(const WS_XML_NODE_POSITION
*, WS_ERROR
*);
1438 HRESULT WINAPI
WsResetChannel(WS_CHANNEL
*, WS_ERROR
*);
1439 HRESULT WINAPI
WsResetError(WS_ERROR
*);
1440 HRESULT WINAPI
WsResetHeap(WS_HEAP
*, WS_ERROR
*);
1441 HRESULT WINAPI
WsResetMessage(WS_MESSAGE
*, WS_ERROR
*);
1442 HRESULT WINAPI
WsRequestReply(WS_CHANNEL
*, WS_MESSAGE
*, const WS_MESSAGE_DESCRIPTION
*, WS_WRITE_OPTION
,
1443 const void*, ULONG
, WS_MESSAGE
*, const WS_MESSAGE_DESCRIPTION
*,
1444 WS_READ_OPTION
, WS_HEAP
*, void*, ULONG
, const WS_ASYNC_CONTEXT
*, WS_ERROR
*);
1445 HRESULT WINAPI
WsSendMessage(WS_CHANNEL
*, WS_MESSAGE
*, const WS_MESSAGE_DESCRIPTION
*, WS_WRITE_OPTION
,
1446 const void*, ULONG
, const WS_ASYNC_CONTEXT
*, WS_ERROR
*);
1447 HRESULT WINAPI
WsSendReplyMessage(WS_CHANNEL
*, WS_MESSAGE
*, const WS_MESSAGE_DESCRIPTION
*,
1448 WS_WRITE_OPTION
, const void*, ULONG
, WS_MESSAGE
*,
1449 const WS_ASYNC_CONTEXT
*, WS_ERROR
*);
1450 HRESULT WINAPI
WsSetChannelProperty(WS_CHANNEL
*, WS_CHANNEL_PROPERTY_ID
, const void*, ULONG
, WS_ERROR
*);
1451 HRESULT WINAPI
WsSetErrorProperty(WS_ERROR
*, WS_ERROR_PROPERTY_ID
, const void*, ULONG
);
1452 HRESULT WINAPI
WsSetHeader(WS_MESSAGE
*, WS_HEADER_TYPE
, WS_TYPE
, WS_WRITE_OPTION
, const void*, ULONG
,
1454 HRESULT WINAPI
WsSetInput(WS_XML_READER
*, const WS_XML_READER_ENCODING
*, const WS_XML_READER_INPUT
*,
1455 const WS_XML_READER_PROPERTY
*, ULONG
, WS_ERROR
*);
1456 HRESULT WINAPI
WsSetInputToBuffer(WS_XML_READER
*, WS_XML_BUFFER
*, const WS_XML_READER_PROPERTY
*,
1458 HRESULT WINAPI
WsSetMessageProperty(WS_MESSAGE
*, WS_MESSAGE_PROPERTY_ID
, const void*, ULONG
, WS_ERROR
*);
1459 HRESULT WINAPI
WsSetOutput(WS_XML_WRITER
*, const WS_XML_WRITER_ENCODING
*, const WS_XML_WRITER_OUTPUT
*,
1460 const WS_XML_WRITER_PROPERTY
*, ULONG
, WS_ERROR
*);
1461 HRESULT WINAPI
WsSetOutputToBuffer(WS_XML_WRITER
*, WS_XML_BUFFER
*, const WS_XML_WRITER_PROPERTY
*,
1463 HRESULT WINAPI
WsSetReaderPosition(WS_XML_READER
*, const WS_XML_NODE_POSITION
*, WS_ERROR
*);
1464 HRESULT WINAPI
WsSetWriterPosition(WS_XML_WRITER
*, const WS_XML_NODE_POSITION
*, WS_ERROR
*);
1465 HRESULT WINAPI
WsSkipNode(WS_XML_READER
*, WS_ERROR
*);
1466 HRESULT WINAPI
WsWriteAttribute(WS_XML_WRITER
*, const WS_ATTRIBUTE_DESCRIPTION
*, WS_WRITE_OPTION
,
1467 const void*, ULONG
, WS_ERROR
*);
1468 HRESULT WINAPI
WsWriteBody(WS_MESSAGE
*, const WS_ELEMENT_DESCRIPTION
*, WS_WRITE_OPTION
, const void*,
1470 HRESULT WINAPI
WsWriteElement(WS_XML_WRITER
*, const WS_ELEMENT_DESCRIPTION
*, WS_WRITE_OPTION
,
1471 const void*, ULONG
, WS_ERROR
*);
1472 HRESULT WINAPI
WsWriteEndAttribute(WS_XML_WRITER
*, WS_ERROR
*);
1473 HRESULT WINAPI
WsWriteEndCData(WS_XML_WRITER
*, WS_ERROR
*);
1474 HRESULT WINAPI
WsWriteEndElement(WS_XML_WRITER
*, WS_ERROR
*);
1475 HRESULT WINAPI
WsWriteEndStartElement(WS_XML_WRITER
*, WS_ERROR
*);
1476 HRESULT WINAPI
WsWriteEnvelopeEnd(WS_MESSAGE
*, WS_ERROR
*);
1477 HRESULT WINAPI
WsWriteEnvelopeStart(WS_MESSAGE
*, WS_XML_WRITER
*, WS_MESSAGE_DONE_CALLBACK
, void*, WS_ERROR
*);
1478 HRESULT WINAPI
WsWriteMessageStart(WS_CHANNEL
*, WS_MESSAGE
*, const WS_ASYNC_CONTEXT
*, WS_ERROR
*);
1479 HRESULT WINAPI
WsWriteMessageEnd(WS_CHANNEL
*, WS_MESSAGE
*, const WS_ASYNC_CONTEXT
*, WS_ERROR
*);
1480 HRESULT WINAPI
WsWriteNode(WS_XML_WRITER
*, const WS_XML_NODE
*, WS_ERROR
*);
1481 HRESULT WINAPI
WsWriteStartAttribute(WS_XML_WRITER
*, const WS_XML_STRING
*, const WS_XML_STRING
*,
1482 const WS_XML_STRING
*, BOOL
, WS_ERROR
*);
1483 HRESULT WINAPI
WsWriteStartCData(WS_XML_WRITER
*, WS_ERROR
*);
1484 HRESULT WINAPI
WsWriteStartElement(WS_XML_WRITER
*, const WS_XML_STRING
*, const WS_XML_STRING
*,
1485 const WS_XML_STRING
*, WS_ERROR
*);
1486 HRESULT WINAPI
WsWriteText(WS_XML_WRITER
*, const WS_XML_TEXT
*, WS_ERROR
*);
1487 HRESULT WINAPI
WsWriteType(WS_XML_WRITER
*, WS_TYPE_MAPPING
, WS_TYPE
, const void*, WS_WRITE_OPTION
,
1488 const void*, ULONG
, WS_ERROR
*);
1489 HRESULT WINAPI
WsWriteValue(WS_XML_WRITER
*, WS_VALUE_TYPE
, const void*, ULONG
, WS_ERROR
*);
1490 HRESULT WINAPI
WsWriteXmlBuffer(WS_XML_WRITER
*, WS_XML_BUFFER
*, WS_ERROR
*);
1491 HRESULT WINAPI
WsWriteXmlBufferToBytes(WS_XML_WRITER
*, WS_XML_BUFFER
*, const WS_XML_WRITER_ENCODING
*,
1492 const WS_XML_WRITER_PROPERTY
*, ULONG
, WS_HEAP
*, void**,
1494 HRESULT WINAPI
WsWriteXmlnsAttribute(WS_XML_WRITER
*, const WS_XML_STRING
*, const WS_XML_STRING
*,
1496 HRESULT WINAPI
WsXmlStringEquals(const WS_XML_STRING
*, const WS_XML_STRING
*, WS_ERROR
*);
1498 #define WS_S_ASYNC 0x003d0000
1499 #define WS_S_END 0x003d0001
1500 #define WS_E_INVALID_FORMAT 0x803d0000
1501 #define WS_E_OBJECT_FAULTED 0x803d0001
1502 #define WS_E_NUMERIC_OVERFLOW 0x803d0002
1503 #define WS_E_INVALID_OPERATION 0x803d0003
1504 #define WS_E_OPERATION_ABORTED 0x803d0004
1505 #define WS_E_ENDPOINT_ACCESS_DENIED 0x803d0005
1506 #define WS_E_OPERATION_TIMED_OUT 0x803d0006
1507 #define WS_E_OPERATION_ABANDONED 0x803d0007
1508 #define WS_E_QUOTA_EXCEEDED 0x803d0008
1509 #define WS_E_NO_TRANSLATION_AVAILABLE 0x803d0009
1510 #define WS_E_SECURITY_VERIFICATION_FAILURE 0x803d000a
1511 #define WS_E_ADDRESS_IN_USE 0x803d000b
1512 #define WS_E_ADDRESS_NOT_AVAILABLE 0x803d000c
1513 #define WS_E_ENDPOINT_NOT_FOUND 0x803d000d
1514 #define WS_E_ENDPOINT_NOT_AVAILABLE 0x803d000e
1515 #define WS_E_ENDPOINT_FAILURE 0x803d000f
1516 #define WS_E_ENDPOINT_UNREACHABLE 0x803d0010
1517 #define WS_E_ENDPOINT_ACTION_NOT_SUPPORTED 0x803d0011
1518 #define WS_E_ENDPOINT_TOO_BUSY 0x803d0012
1519 #define WS_E_ENDPOINT_FAULT_RECEIVED 0x803d0013
1520 #define WS_E_ENDPOINT_DISCONNECTED 0x803d0014
1521 #define WS_E_PROXY_FAILURE 0x803d0015
1522 #define WS_E_PROXY_ACCESS_DENIED 0x803d0016
1523 #define WS_E_NOT_SUPPORTED 0x803d0017
1524 #define WS_E_PROXY_REQUIRES_BASIC_AUTH 0x803d0018
1525 #define WS_E_PROXY_REQUIRES_DIGEST_AUTH 0x803d0019
1526 #define WS_E_PROXY_REQUIRES_NTLM_AUTH 0x803d001a
1527 #define WS_E_PROXY_REQUIRES_NEGOTIATE_AUTH 0x803d001b
1528 #define WS_E_SERVER_REQUIRES_BASIC_AUTH 0x803d001c
1529 #define WS_E_SERVER_REQUIRES_DIGEST_AUTH 0x803d001d
1530 #define WS_E_SERVER_REQUIRES_NTLM_AUTH 0x803d001e
1531 #define WS_E_SERVER_REQUIRES_NEGOTIATE_AUTH 0x803d001f
1532 #define WS_E_INVALID_ENDPOINT_URL 0x803d0020
1533 #define WS_E_OTHER 0x803d0021
1534 #define WS_E_SECURITY_TOKEN_EXPIRED 0x803d0022
1535 #define WS_E_SECURITY_SYSTEM_FAILURE 0x803d0023
1539 #endif /* __cplusplus */
1541 #endif /* __WINE_WEBSERVICES_H */