From 051f326c0044e28d1a0c1576c16b6ef952312856 Mon Sep 17 00:00:00 2001 From: Hans Leidekker Date: Wed, 13 Apr 2016 13:49:43 +0200 Subject: [PATCH] include: Add missing Web Services declarations. Signed-off-by: Hans Leidekker Signed-off-by: Alexandre Julliard --- include/webservices.h | 377 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 377 insertions(+) diff --git a/include/webservices.h b/include/webservices.h index 1b13fce306b..bfc84e2248d 100644 --- a/include/webservices.h +++ b/include/webservices.h @@ -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*);