include: Add missing Web Services declarations.

Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
oldstable
Hans Leidekker 2016-04-13 13:49:43 +02:00 committed by Alexandre Julliard
parent 2b5b0f0174
commit 051f326c00
1 changed files with 377 additions and 0 deletions

View File

@ -28,6 +28,27 @@ typedef struct _WS_HEAP WS_HEAP;
typedef struct _WS_XML_BUFFER WS_XML_BUFFER;
typedef struct _WS_XML_READER WS_XML_READER;
typedef struct _WS_XML_WRITER WS_XML_WRITER;
typedef struct _WS_PROXY_PROPERTY WS_PROXY_PROPERTY;
typedef struct _WS_SECURITY_DESCRIPTION WS_SECURITY_DESCRIPTION;
typedef struct _WS_CHANNEL_PROPERTY WS_CHANNEL_PROPERTY;
typedef struct _WS_SERVICE_PROXY WS_SERVICE_PROXY;
typedef struct _WS_SECURITY_BINDING_PROPERTY WS_SECURITY_BINDING_PROPERTY;
typedef struct _WS_SECURITY_PROPERTY WS_SECURITY_PROPERTY;
typedef struct _WS_SECURITY_PROPERTIES WS_SECURITY_PROPERTIES;
typedef struct _WS_SECURITY_BINDING WS_SECURITY_BINDING;
typedef struct _WS_CHANNEL WS_CHANNEL;
typedef struct _WS_MESSAGE_PROPERTY WS_MESSAGE_PROPERTY;
typedef struct _WS_MESSAGE_PROPERTIES WS_MESSAGE_PROPERTIES;
typedef struct _WS_HTTP_SSL_BINDING_TEMPLATE WS_HTTP_SSL_BINDING_TEMPLATE;
typedef struct _WS_CHANNEL_PROPERTIES WS_CHANNEL_PROPERTIES;
typedef struct _WS_SSL_TRANSPORT_SECURITY_BINDING_TEMPLATE WS_SSL_TRANSPORT_SECURITY_BINDING_TEMPLATE;
typedef struct _WS_SECURITY_BINDING_PROPERTIES WS_SECURITY_BINDING_PROPERTIES;
typedef struct _WS_CERT_CREDENTIAL WS_CERT_CREDENTIAL;
typedef struct _WS_ENDPOINT_ADDRESS WS_ENDPOINT_ADDRESS;
typedef struct _WS_ENDPOINT_IDENTITY WS_ENDPOINT_IDENTITY;
typedef struct _WS_ENUM_DESCRIPTION WS_ENUM_DESCRIPTION;
typedef struct _WS_ENUM_VALUE WS_ENUM_VALUE;
typedef struct _WS_OPERATION_DESCRIPTION WS_OPERATION_DESCRIPTION;
struct _WS_STRUCT_DESCRIPTION;
struct _WS_XML_STRING;
@ -339,6 +360,18 @@ typedef struct _WS_WSZ_DESCRIPTION {
ULONG maxCharCount;
} WS_WSZ_DESCRIPTION;
struct _WS_ENUM_VALUE {
int value;
WS_XML_STRING *name;
};
struct _WS_ENUM_DESCRIPTION {
WS_ENUM_VALUE *values;
ULONG valueCount;
ULONG maxByteCount;
ULONG *nameIndices;
};
typedef enum {
WS_TYPE_ATTRIBUTE_FIELD_MAPPING,
WS_ATTRIBUTE_FIELD_MAPPING,
@ -539,20 +572,359 @@ typedef struct _WS_XML_NODE_POSITION {
void *node;
} WS_XML_NODE_POSITION;
typedef enum {
WS_SERVICE_PROXY_STATE_CREATED,
WS_SERVICE_PROXY_STATE_OPENING,
WS_SERVICE_PROXY_STATE_OPEN,
WS_SERVICE_PROXY_STATE_CLOSING,
WS_SERVICE_PROXY_STATE_CLOSED,
WS_SERVICE_PROXY_STATE_FAULTED
} WS_SERVICE_PROXY_STATE;
typedef enum {
WS_PROXY_PROPERTY_CALL_TIMEOUT,
WS_PROXY_PROPERTY_MESSAGE_PROPERTIES,
WS_PROXY_PROPERTY_MAX_CALL_POOL_SIZE,
WS_PROXY_PROPERTY_STATE,
WS_PROXY_PROPERTY_MAX_PENDING_CALLS,
WS_PROXY_PROPERTY_MAX_CLOSE_TIMEOUT,
WS_PROXY_FAULT_LANG_ID
} WS_PROXY_PROPERTY_ID;
struct _WS_PROXY_PROPERTY {
WS_PROXY_PROPERTY_ID id;
void *value;
ULONG valueSize;
};
typedef enum {
WS_CHANNEL_TYPE_INPUT = 0x1,
WS_CHANNEL_TYPE_OUTPUT = 0x2,
WS_CHANNEL_TYPE_SESSION = 0x4,
WS_CHANNEL_TYPE_INPUT_SESSION = (WS_CHANNEL_TYPE_INPUT | WS_CHANNEL_TYPE_SESSION),
WS_CHANNEL_TYPE_OUTPUT_SESSION = (WS_CHANNEL_TYPE_OUTPUT | WS_CHANNEL_TYPE_SESSION),
WS_CHANNEL_TYPE_DUPLEX = (WS_CHANNEL_TYPE_INPUT | WS_CHANNEL_TYPE_OUTPUT),
WS_CHANNEL_TYPE_DUPLEX_SESSION = (WS_CHANNEL_TYPE_INPUT | WS_CHANNEL_TYPE_OUTPUT | WS_CHANNEL_TYPE_SESSION),
WS_CHANNEL_TYPE_REQUEST = 0x8,
WS_CHANNEL_TYPE_REPLY = 0x10
} WS_CHANNEL_TYPE;
typedef enum {
WS_ENCODING_XML_BINARY_1,
WS_ENCODING_XML_BINARY_SESSION_1,
WS_ENCODING_XML_MTOM_UTF8,
WS_ENCODING_XML_MTOM_UTF16BE,
WS_ENCODING_XML_MTOM_UTF16LE,
WS_ENCODING_XML_UTF8,
WS_ENCODING_XML_UTF16BE,
WS_ENCODING_XML_UTF16LE,
WS_ENCODING_RAW
} WS_ENCODING;
typedef enum {
WS_CHANNEL_STATE_CREATED,
WS_CHANNEL_STATE_OPENING,
WS_CHANNEL_STATE_ACCEPTING,
WS_CHANNEL_STATE_OPEN,
WS_CHANNEL_STATE_FAULTED,
WS_CHANNEL_STATE_CLOSING,
WS_CHANNEL_STATE_CLOSED
} WS_CHANNEL_STATE;
typedef enum {
WS_CHANNEL_PROPERTY_MAX_BUFFERED_MESSAGE_SIZE = 0,
WS_CHANNEL_PROPERTY_MAX_STREAMED_MESSAGE_SIZE = 1,
WS_CHANNEL_PROPERTY_MAX_STREAMED_START_SIZE = 2,
WS_CHANNEL_PROPERTY_MAX_STREAMED_FLUSH_SIZE = 3,
WS_CHANNEL_PROPERTY_ENCODING = 4,
WS_CHANNEL_PROPERTY_ENVELOPE_VERSION = 5,
WS_CHANNEL_PROPERTY_ADDRESSING_VERSION = 6,
WS_CHANNEL_PROPERTY_MAX_SESSION_DICTIONARY_SIZE = 7,
WS_CHANNEL_PROPERTY_STATE = 8,
WS_CHANNEL_PROPERTY_ASYNC_CALLBACK_MODEL = 9,
WS_CHANNEL_PROPERTY_IP_VERSION = 10,
WS_CHANNEL_PROPERTY_RESOLVE_TIMEOUT = 11,
WS_CHANNEL_PROPERTY_CONNECT_TIMEOUT = 12,
WS_CHANNEL_PROPERTY_SEND_TIMEOUT = 13,
WS_CHANNEL_PROPERTY_RECEIVE_RESPONSE_TIMEOUT = 14,
WS_CHANNEL_PROPERTY_RECEIVE_TIMEOUT = 15,
WS_CHANNEL_PROPERTY_CLOSE_TIMEOUT = 16,
WS_CHANNEL_PROPERTY_ENABLE_TIMEOUTS = 17,
WS_CHANNEL_PROPERTY_TRANSFER_MODE = 18,
WS_CHANNEL_PROPERTY_MULTICAST_INTERFACE = 19,
WS_CHANNEL_PROPERTY_MULTICAST_HOPS = 20,
WS_CHANNEL_PROPERTY_REMOTE_ADDRESS = 21,
WS_CHANNEL_PROPERTY_REMOTE_IP_ADDRESS = 22,
WS_CHANNEL_PROPERTY_HTTP_CONNECTION_ID = 23,
WS_CHANNEL_PROPERTY_CUSTOM_CHANNEL_CALLBACKS = 24,
WS_CHANNEL_PROPERTY_CUSTOM_CHANNEL_PARAMETERS = 25,
WS_CHANNEL_PROPERTY_CUSTOM_CHANNEL_INSTANCE = 26,
WS_CHANNEL_PROPERTY_TRANSPORT_URL = 27,
WS_CHANNEL_PROPERTY_NO_DELAY = 28,
WS_CHANNEL_PROPERTY_SEND_KEEP_ALIVES = 29,
WS_CHANNEL_PROPERTY_KEEP_ALIVE_TIME = 30,
WS_CHANNEL_PROPERTY_KEEP_ALIVE_INTERVAL = 31,
WS_CHANNEL_PROPERTY_MAX_HTTP_SERVER_CONNECTIONS = 32,
WS_CHANNEL_PROPERTY_IS_SESSION_SHUT_DOWN = 33,
WS_CHANNEL_PROPERTY_CHANNEL_TYPE = 34,
WS_CHANNEL_PROPERTY_TRIM_BUFFERED_MESSAGE_SIZE = 35,
WS_CHANNEL_PROPERTY_ENCODER = 36,
WS_CHANNEL_PROPERTY_DECODER = 37,
WS_CHANNEL_PROPERTY_PROTECTION_LEVEL = 38,
WS_CHANNEL_PROPERTY_COOKIE_MODE = 39,
WS_CHANNEL_PROPERTY_HTTP_PROXY_SETTING_MODE = 40,
WS_CHANNEL_PROPERTY_CUSTOM_HTTP_PROXY = 41,
WS_CHANNEL_PROPERTY_HTTP_MESSAGE_MAPPING = 42,
WS_CHANNEL_PROPERTY_ENABLE_HTTP_REDIRECT = 43,
WS_CHANNEL_PROPERTY_HTTP_REDIRECT_CALLBACK_CONTEXT = 44,
WS_CHANNEL_PROPERTY_FAULTS_AS_ERRORS = 45,
WS_CHANNEL_PROPERTY_ALLOW_UNSECURED_FAULTS = 46,
WS_CHANNEL_PROPERTY_HTTP_SERVER_SPN = 47,
WS_CHANNEL_PROPERTY_HTTP_PROXY_SPN = 48,
WS_CHANNEL_PROPERTY_MAX_HTTP_REQUEST_HEADERS_BUFFER_SIZE = 49
} WS_CHANNEL_PROPERTY_ID;
struct _WS_CHANNEL_PROPERTY {
WS_CHANNEL_PROPERTY_ID id;
void *value;
ULONG valueSize;
};
struct _WS_CHANNEL_PROPERTIES {
WS_CHANNEL_PROPERTY *properties;
ULONG propertyCount;
};
typedef enum {
WS_HTTP_CHANNEL_BINDING,
WS_TCP_CHANNEL_BINDING,
WS_UDP_CHANNEL_BINDING,
WS_CUSTOM_CHANNEL_BINDING,
WS_NAMEDPIPE_CHANNEL_BINDING
} WS_CHANNEL_BINDING;
typedef enum {
WS_SSL_TRANSPORT_SECURITY_BINDING_TYPE,
WS_TCP_SSPI_TRANSPORT_SECURITY_BINDING_TYPE,
WS_HTTP_HEADER_AUTH_SECURITY_BINDING_TYPE,
WS_USERNAME_MESSAGE_SECURITY_BINDING_TYPE,
WS_KERBEROS_APREQ_MESSAGE_SECURITY_BINDING_TYPE,
WS_XML_TOKEN_MESSAGE_SECURITY_BINDING_TYPE,
WS_SAML_MESSAGE_SECURITY_BINDING_TYPE,
WS_SECURITY_CONTEXT_MESSAGE_SECURITY_BINDING_TYPE,
WS_NAMEDPIPE_SSPI_TRANSPORT_SECURITY_BINDING_TYPE
} WS_SECURITY_BINDING_TYPE;
typedef enum {
WS_SECURITY_BINDING_PROPERTY_REQUIRE_SSL_CLIENT_CERT = 1,
WS_SECURITY_BINDING_PROPERTY_WINDOWS_INTEGRATED_AUTH_PACKAGE = 2,
WS_SECURITY_BINDING_PROPERTY_REQUIRE_SERVER_AUTH = 3,
WS_SECURITY_BINDING_PROPERTY_ALLOW_ANONYMOUS_CLIENTS = 4,
WS_SECURITY_BINDING_PROPERTY_ALLOWED_IMPERSONATION_LEVEL = 5,
WS_SECURITY_BINDING_PROPERTY_HTTP_HEADER_AUTH_SCHEME = 6,
WS_SECURITY_BINDING_PROPERTY_HTTP_HEADER_AUTH_TARGET = 7,
WS_SECURITY_BINDING_PROPERTY_HTTP_HEADER_AUTH_BASIC_REALM = 8,
WS_SECURITY_BINDING_PROPERTY_HTTP_HEADER_AUTH_DIGEST_REALM = 9,
WS_SECURITY_BINDING_PROPERTY_HTTP_HEADER_AUTH_DIGEST_DOMAIN = 10,
WS_SECURITY_BINDING_PROPERTY_SECURITY_CONTEXT_KEY_SIZE = 11,
WS_SECURITY_BINDING_PROPERTY_SECURITY_CONTEXT_KEY_ENTROPY_MODE = 12,
WS_SECURITY_BINDING_PROPERTY_MESSAGE_PROPERTIES = 13,
WS_SECURITY_BINDING_PROPERTY_SECURITY_CONTEXT_MAX_PENDING_CONTEXTS = 14,
WS_SECURITY_BINDING_PROPERTY_SECURITY_CONTEXT_MAX_ACTIVE_CONTEXTS = 15,
WS_SECURITY_BINDING_PROPERTY_SECURE_CONVERSATION_VERSION = 16,
WS_SECURITY_BINDING_PROPERTY_SECURITY_CONTEXT_SUPPORT_RENEW = 17,
WS_SECURITY_BINDING_PROPERTY_SECURITY_CONTEXT_RENEWAL_INTERVAL = 18,
WS_SECURITY_BINDING_PROPERTY_SECURITY_CONTEXT_ROLLOVER_INTERVAL = 19,
WS_SECURITY_BINDING_PROPERTY_CERT_FAILURES_TO_IGNORE = 20,
WS_SECURITY_BINDING_PROPERTY_DISABLE_CERT_REVOCATION_CHECK = 21,
WS_SECURITY_BINDING_PROPERTY_DISALLOWED_SECURE_PROTOCOLS = 22,
WS_SECURITY_BINDING_PROPERTY_CERTIFICATE_VALIDATION_CALLBACK_CONTEXT = 23
} WS_SECURITY_BINDING_PROPERTY_ID;
struct _WS_SECURITY_BINDING_PROPERTY {
WS_SECURITY_BINDING_PROPERTY_ID id;
void *value;
ULONG valueSize;
};
struct _WS_SECURITY_BINDING_PROPERTIES {
WS_SECURITY_BINDING_PROPERTY *properties;
ULONG propertyCount;
};
struct _WS_SECURITY_BINDING {
WS_SECURITY_BINDING_TYPE bindingType;
WS_SECURITY_BINDING_PROPERTY *properties;
ULONG propertyCount;
};
typedef enum {
WS_SECURITY_PROPERTY_TRANSPORT_PROTECTION_LEVEL = 1,
WS_SECURITY_PROPERTY_ALGORITHM_SUITE = 2,
WS_SECURITY_PROPERTY_ALGORITHM_SUITE_NAME = 3,
WS_SECURITY_PROPERTY_MAX_ALLOWED_LATENCY = 4,
WS_SECURITY_PROPERTY_TIMESTAMP_VALIDITY_DURATION = 5,
WS_SECURITY_PROPERTY_MAX_ALLOWED_CLOCK_SKEW = 6,
WS_SECURITY_PROPERTY_TIMESTAMP_USAGE = 7,
WS_SECURITY_PROPERTY_SECURITY_HEADER_LAYOUT = 8,
WS_SECURITY_PROPERTY_SECURITY_HEADER_VERSION = 9,
WS_SECURITY_PROPERTY_EXTENDED_PROTECTION_POLICY = 10,
WS_SECURITY_PROPERTY_EXTENDED_PROTECTION_SCENARIO = 11,
WS_SECURITY_PROPERTY_SERVICE_IDENTITIES = 12
} WS_SECURITY_PROPERTY_ID;
struct _WS_SECURITY_PROPERTY {
WS_SECURITY_PROPERTY_ID id;
void *value;
ULONG valueSize;
};
struct _WS_SECURITY_PROPERTIES {
WS_SECURITY_PROPERTY *properties;
ULONG propertyCount;
};
struct _WS_SECURITY_DESCRIPTION {
WS_SECURITY_BINDING **securityBindings;
ULONG securityBindingCount;
WS_SECURITY_PROPERTY *properties;
ULONG propertyCount;
};
typedef enum {
WS_HTTP_BINDING_TEMPLATE_TYPE,
WS_HTTP_SSL_BINDING_TEMPLATE_TYPE,
WS_HTTP_HEADER_AUTH_BINDING_TEMPLATE_TYPE,
WS_HTTP_SSL_HEADER_AUTH_BINDING_TEMPLATE_TYPE,
WS_HTTP_SSL_USERNAME_BINDING_TEMPLATE_TYPE,
WS_HTTP_SSL_KERBEROS_APREQ_BINDING_TEMPLATE_TYPE,
WS_TCP_BINDING_TEMPLATE_TYPE,
WS_TCP_SSPI_BINDING_TEMPLATE_TYPE,
WS_TCP_SSPI_USERNAME_BINDING_TEMPLATE_TYPE,
WS_TCP_SSPI_KERBEROS_APREQ_BINDING_TEMPLATE_TYPE,
WS_HTTP_SSL_USERNAME_SECURITY_CONTEXT_BINDING_TEMPLATE_TYPE,
WS_HTTP_SSL_KERBEROS_APREQ_SECURITY_CONTEXT_BINDING_TEMPLATE_TYPE,
WS_TCP_SSPI_USERNAME_SECURITY_CONTEXT_BINDING_TEMPLATE_TYPE,
WS_TCP_SSPI_KERBEROS_APREQ_SECURITY_CONTEXT_BINDING_TEMPLATE_TYPE
} WS_BINDING_TEMPLATE_TYPE;
typedef enum {
WS_SUBJECT_NAME_CERT_CREDENTIAL_TYPE = 1,
WS_THUMBPRINT_CERT_CREDENTIAL_TYPE = 2,
WS_CUSTOM_CERT_CREDENTIAL_TYPE = 3
} WS_CERT_CREDENTIAL_TYPE;
struct _WS_CERT_CREDENTIAL {
WS_CERT_CREDENTIAL_TYPE credentialType;
};
struct _WS_SSL_TRANSPORT_SECURITY_BINDING_TEMPLATE {
WS_SECURITY_BINDING_PROPERTIES securityBindingProperties;
WS_CERT_CREDENTIAL *localCertCredential;
};
struct _WS_HTTP_SSL_BINDING_TEMPLATE {
WS_CHANNEL_PROPERTIES channelProperties;
WS_SECURITY_PROPERTIES securityProperties;
WS_SSL_TRANSPORT_SECURITY_BINDING_TEMPLATE sslTransportSecurityBinding;
};
typedef enum {
WS_ADDRESSING_VERSION_0_9 = 1,
WS_ADDRESSING_VERSION_1_0 = 2,
WS_ADDRESSING_VERSION_TRANSPORT = 3
} WS_ADDRESSING_VERSION;
typedef enum {
WS_ENVELOPE_VERSION_SOAP_1_1 = 1,
WS_ENVELOPE_VERSION_SOAP_1_2 = 2,
WS_ENVELOPE_VERSION_NONE = 3
} WS_ENVELOPE_VERSION;
typedef enum {
WS_MESSAGE_PROPERTY_STATE,
WS_MESSAGE_PROPERTY_HEAP,
WS_MESSAGE_PROPERTY_ENVELOPE_VERSION,
WS_MESSAGE_PROPERTY_ADDRESSING_VERSION,
WS_MESSAGE_PROPERTY_HEADER_BUFFER,
WS_MESSAGE_PROPERTY_HEADER_POSITION,
WS_MESSAGE_PROPERTY_BODY_READER,
WS_MESSAGE_PROPERTY_BODY_WRITER,
WS_MESSAGE_PROPERTY_IS_ADDRESSED,
WS_MESSAGE_PROPERTY_HEAP_PROPERTIES,
WS_MESSAGE_PROPERTY_XML_READER_PROPERTIES,
WS_MESSAGE_PROPERTY_XML_WRITER_PROPERTIES,
WS_MESSAGE_PROPERTY_IS_FAULT,
WS_MESSAGE_PROPERTY_MAX_PROCESSED_HEADERS,
WS_MESSAGE_PROPERTY_USERNAME,
WS_MESSAGE_PROPERTY_ENCODED_CERT,
WS_MESSAGE_PROPERTY_TRANSPORT_SECURITY_WINDOWS_TOKEN,
WS_MESSAGE_PROPERTY_HTTP_HEADER_AUTH_WINDOWS_TOKEN,
WS_MESSAGE_PROPERTY_MESSAGE_SECURITY_WINDOWS_TOKEN,
WS_MESSAGE_PROPERTY_SAML_ASSERTION,
WS_MESSAGE_PROPERTY_SECURITY_CONTEXT,
WS_MESSAGE_PROPERTY_PROTECTION_LEVEL
} WS_MESSAGE_PROPERTY_ID;
struct _WS_MESSAGE_PROPERTY {
WS_MESSAGE_PROPERTY_ID id;
void *value;
ULONG valueSize;
};
struct _WS_MESSAGE_PROPERTIES {
WS_MESSAGE_PROPERTY *properties;
ULONG propertyCount;
};
typedef enum {
WS_DNS_ENDPOINT_IDENTITY_TYPE = 1,
WS_UPN_ENDPOINT_IDENTITY_TYPE = 2,
WS_SPN_ENDPOINT_IDENTITY_TYPE = 3,
WS_RSA_ENDPOINT_IDENTITY_TYPE = 4,
WS_CERT_ENDPOINT_IDENTITY_TYPE = 5,
WS_UNKNOWN_ENDPOINT_IDENTITY_TYPE = 6
} WS_ENDPOINT_IDENTITY_TYPE;
struct _WS_ENDPOINT_IDENTITY {
WS_ENDPOINT_IDENTITY_TYPE identityType;
};
struct _WS_ENDPOINT_ADDRESS {
WS_STRING url;
WS_XML_BUFFER *headers;
WS_XML_BUFFER *extensions;
WS_ENDPOINT_IDENTITY *identity;
};
HRESULT WINAPI WsAlloc(WS_HEAP*, SIZE_T, void**, WS_ERROR*);
HRESULT WINAPI WsCloseServiceProxy(WS_SERVICE_PROXY*, const WS_ASYNC_CONTEXT*, WS_ERROR*);
HRESULT WINAPI WsCreateChannel(WS_CHANNEL_TYPE, WS_CHANNEL_BINDING, const WS_CHANNEL_PROPERTY*,
ULONG, const WS_SECURITY_DESCRIPTION*, WS_CHANNEL**, WS_ERROR*);
HRESULT WINAPI WsCreateError(const WS_ERROR_PROPERTY*, ULONG, WS_ERROR**);
HRESULT WINAPI WsCreateHeap(SIZE_T, SIZE_T, const WS_HEAP_PROPERTY*, ULONG, WS_HEAP**, WS_ERROR*);
HRESULT WINAPI WsCreateReader(const WS_XML_READER_PROPERTY*, ULONG, WS_XML_READER**, WS_ERROR*);
HRESULT WINAPI WsCreateServiceProxy(const WS_CHANNEL_TYPE, const WS_CHANNEL_BINDING,
const WS_SECURITY_DESCRIPTION*, const WS_PROXY_PROPERTY*,
const ULONG, const WS_CHANNEL_PROPERTY*, const ULONG,
WS_SERVICE_PROXY**, WS_ERROR*);
HRESULT WINAPI WsCreateServiceProxyFromTemplate(WS_CHANNEL_TYPE, const WS_PROXY_PROPERTY*,
const ULONG, WS_BINDING_TEMPLATE_TYPE,
void*, ULONG, const void*, ULONG,
WS_SERVICE_PROXY**, WS_ERROR*);
HRESULT WINAPI WsCreateWriter(const WS_XML_WRITER_PROPERTY*, ULONG, WS_XML_WRITER**, WS_ERROR*);
HRESULT WINAPI WsCreateXmlBuffer(WS_HEAP*, const WS_XML_BUFFER_PROPERTY*, ULONG, WS_XML_BUFFER**,
WS_ERROR*);
HRESULT WINAPI WsFillReader(WS_XML_READER*, ULONG, const WS_ASYNC_CONTEXT*, WS_ERROR*);
HRESULT WINAPI WsFindAttribute(WS_XML_READER*, const WS_XML_STRING*, const WS_XML_STRING*, BOOL,
ULONG*, WS_ERROR*);
void WINAPI WsFreeChannel(WS_CHANNEL*);
void WINAPI WsFreeError(WS_ERROR*);
void WINAPI WsFreeHeap(WS_HEAP*);
void WINAPI WsFreeReader(WS_XML_READER*);
void WINAPI WsFreeServiceProxy(WS_SERVICE_PROXY*);
void WINAPI WsFreeWriter(WS_XML_WRITER*);
HRESULT WINAPI WsGetChannelProperty(WS_CHANNEL*, WS_CHANNEL_PROPERTY_ID, void*, ULONG, WS_ERROR*);
HRESULT WINAPI WsGetErrorProperty(WS_ERROR*, WS_ERROR_PROPERTY_ID, void*, ULONG);
HRESULT WINAPI WsGetErrorString(WS_ERROR*, ULONG, WS_STRING*);
HRESULT WINAPI WsGetHeapProperty(WS_HEAP*, WS_HEAP_PROPERTY_ID, void*, ULONG, WS_ERROR*);
@ -563,11 +935,15 @@ HRESULT WINAPI WsGetPrefixFromNamespace(WS_XML_WRITER*, const WS_XML_STRING*, BO
HRESULT WINAPI WsGetReaderNode(WS_XML_READER*, const WS_XML_NODE**, WS_ERROR*);
HRESULT WINAPI WsGetReaderPosition(WS_XML_READER*, WS_XML_NODE_POSITION*, WS_ERROR*);
HRESULT WINAPI WsGetReaderProperty(WS_XML_READER*, WS_XML_READER_PROPERTY_ID, void*, ULONG, WS_ERROR*);
HRESULT WINAPI WsGetServiceProxyProperty(WS_SERVICE_PROXY*, const WS_PROXY_PROPERTY_ID, void*,
ULONG, WS_ERROR*);
HRESULT WINAPI WsGetWriterProperty(WS_XML_WRITER*, WS_XML_WRITER_PROPERTY_ID, void*, ULONG, WS_ERROR*);
HRESULT WINAPI WsGetXmlAttribute(WS_XML_READER*, const WS_XML_STRING*, WS_HEAP*, WCHAR**,
ULONG*, WS_ERROR*);
HRESULT WINAPI WsMoveReader(WS_XML_READER*, WS_MOVE_TO, BOOL*, WS_ERROR*);
HRESULT WINAPI WsMoveWriter(WS_XML_WRITER*, WS_MOVE_TO, BOOL*, WS_ERROR*);
HRESULT WINAPI WsOpenServiceProxy(WS_SERVICE_PROXY*, const WS_ENDPOINT_ADDRESS*, const WS_ASYNC_CONTEXT*,
WS_ERROR*);
HRESULT WINAPI WsReadAttribute(WS_XML_READER*, const WS_ATTRIBUTE_DESCRIPTION*, WS_READ_OPTION,
WS_HEAP*, void*, ULONG, WS_ERROR*);
HRESULT WINAPI WsReadEndAttribute(WS_XML_READER*, WS_ERROR*);
@ -579,6 +955,7 @@ HRESULT WINAPI WsReadToStartElement(WS_XML_READER*, const WS_XML_STRING*, const
BOOL*, WS_ERROR*);
HRESULT WINAPI WsReadType(WS_XML_READER*, WS_TYPE_MAPPING, WS_TYPE, const void*, WS_READ_OPTION,
WS_HEAP*, void*, ULONG, WS_ERROR*);
HRESULT WINAPI WsSetChannelProperty(WS_CHANNEL*, WS_CHANNEL_PROPERTY_ID, const void*, ULONG, WS_ERROR*);
HRESULT WINAPI WsSetErrorProperty(WS_ERROR*, WS_ERROR_PROPERTY_ID, const void*, ULONG);
HRESULT WINAPI WsSetInput(WS_XML_READER*, const WS_XML_READER_ENCODING*, const WS_XML_READER_INPUT*,
const WS_XML_READER_PROPERTY*, ULONG, WS_ERROR*);