Headers diff for webservices.dll between 6.3.9600.17415-Windows 8.1 and 10.0.10586.0-Windows 10 1511 10586.494 versions



 webservices.h (6.3.9600.17415-Windows 8.1)   webservices.h (10.0.10586.0-Windows 10 1511 10586.494) 
skipping to change at line 33 skipping to change at line 33
typedef struct _WS_XML_BUFFER WS_XML_BUFFER; typedef struct _WS_XML_BUFFER WS_XML_BUFFER;
typedef struct _WS_CHANNEL WS_CHANNEL; typedef struct _WS_CHANNEL WS_CHANNEL;
typedef struct _WS_OPERATION_CONTEXT WS_OPERATION_CONTEXT; typedef struct _WS_OPERATION_CONTEXT WS_OPERATION_CONTEXT;
typedef struct _WS_ERROR WS_ERROR; typedef struct _WS_ERROR WS_ERROR;
typedef struct _WS_HEAP WS_HEAP; typedef struct _WS_HEAP WS_HEAP;
#pragma region Desktop Family #pragma region Desktop Family or Webservices Package
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_PKG_WEBS
ERVICES)
typedef struct _WS_LISTENER WS_LISTENER; typedef struct _WS_LISTENER WS_LISTENER;
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */ #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_PK G_WEBSERVICES) */
#pragma endregion #pragma endregion
typedef struct _WS_MESSAGE WS_MESSAGE; typedef struct _WS_MESSAGE WS_MESSAGE;
typedef struct _WS_SECURITY_TOKEN WS_SECURITY_TOKEN; typedef struct _WS_SECURITY_TOKEN WS_SECURITY_TOKEN;
typedef struct _WS_SECURITY_CONTEXT WS_SECURITY_CONTEXT; typedef struct _WS_SECURITY_CONTEXT WS_SECURITY_CONTEXT;
#pragma region Desktop Family #pragma region Desktop Family or Webservices Package
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_PKG_WEBS
ERVICES)
typedef struct _WS_SERVICE_HOST WS_SERVICE_HOST; typedef struct _WS_SERVICE_HOST WS_SERVICE_HOST;
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */ #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_PK G_WEBSERVICES) */
#pragma endregion #pragma endregion
typedef struct _WS_SERVICE_PROXY WS_SERVICE_PROXY; typedef struct _WS_SERVICE_PROXY WS_SERVICE_PROXY;
typedef struct _WS_METADATA WS_METADATA; typedef struct _WS_METADATA WS_METADATA;
typedef struct _WS_POLICY WS_POLICY; typedef struct _WS_POLICY WS_POLICY;
// STRUCT DECLARATIONS // STRUCT DECLARATIONS
typedef struct _WS_XML_DICTIONARY WS_XML_DICTIONARY; typedef struct _WS_XML_DICTIONARY WS_XML_DICTIONARY;
skipping to change at line 226 skipping to change at line 226
typedef struct _WS_FAULT_CODE WS_FAULT_CODE; typedef struct _WS_FAULT_CODE WS_FAULT_CODE;
typedef struct _WS_FAULT WS_FAULT; typedef struct _WS_FAULT WS_FAULT;
typedef struct _WS_FAULT_DETAIL_DESCRIPTION WS_FAULT_DETAIL_DESCRIPTION; typedef struct _WS_FAULT_DETAIL_DESCRIPTION WS_FAULT_DETAIL_DESCRIPTION;
typedef struct _WS_HEAP_PROPERTY WS_HEAP_PROPERTY; typedef struct _WS_HEAP_PROPERTY WS_HEAP_PROPERTY;
typedef struct _WS_HEAP_PROPERTIES WS_HEAP_PROPERTIES; typedef struct _WS_HEAP_PROPERTIES WS_HEAP_PROPERTIES;
#pragma region Desktop Family #pragma region Desktop Family or Webservices Package
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_PKG_WEBS
ERVICES)
typedef struct _WS_LISTENER_PROPERTY WS_LISTENER_PROPERTY; typedef struct _WS_LISTENER_PROPERTY WS_LISTENER_PROPERTY;
typedef struct _WS_DISALLOWED_USER_AGENT_SUBSTRINGS WS_DISALLOWED_USER_AGENT_SUB STRINGS; typedef struct _WS_DISALLOWED_USER_AGENT_SUBSTRINGS WS_DISALLOWED_USER_AGENT_SUB STRINGS;
typedef struct _WS_LISTENER_PROPERTIES WS_LISTENER_PROPERTIES; typedef struct _WS_LISTENER_PROPERTIES WS_LISTENER_PROPERTIES;
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */ #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_PK G_WEBSERVICES) */
#pragma endregion #pragma endregion
typedef struct _WS_HOST_NAMES WS_HOST_NAMES; typedef struct _WS_HOST_NAMES WS_HOST_NAMES;
#pragma region Desktop Family #pragma region Desktop Family or Webservices Package
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_PKG_WEBS
ERVICES)
typedef struct _WS_CUSTOM_LISTENER_CALLBACKS WS_CUSTOM_LISTENER_CALLBACKS; typedef struct _WS_CUSTOM_LISTENER_CALLBACKS WS_CUSTOM_LISTENER_CALLBACKS;
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */ #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_PK G_WEBSERVICES) */
#pragma endregion #pragma endregion
typedef struct _WS_MESSAGE_PROPERTY WS_MESSAGE_PROPERTY; typedef struct _WS_MESSAGE_PROPERTY WS_MESSAGE_PROPERTY;
typedef struct _WS_MESSAGE_PROPERTIES WS_MESSAGE_PROPERTIES; typedef struct _WS_MESSAGE_PROPERTIES WS_MESSAGE_PROPERTIES;
typedef struct _WS_SECURITY_ALGORITHM_PROPERTY WS_SECURITY_ALGORITHM_PROPERTY; typedef struct _WS_SECURITY_ALGORITHM_PROPERTY WS_SECURITY_ALGORITHM_PROPERTY;
typedef struct _WS_SECURITY_ALGORITHM_SUITE WS_SECURITY_ALGORITHM_SUITE; typedef struct _WS_SECURITY_ALGORITHM_SUITE WS_SECURITY_ALGORITHM_SUITE;
typedef struct _WS_SECURITY_PROPERTY WS_SECURITY_PROPERTY; typedef struct _WS_SECURITY_PROPERTY WS_SECURITY_PROPERTY;
typedef struct _WS_SECURITY_PROPERTIES WS_SECURITY_PROPERTIES; typedef struct _WS_SECURITY_PROPERTIES WS_SECURITY_PROPERTIES;
typedef struct _WS_SECURITY_BINDING_PROPERTY WS_SECURITY_BINDING_PROPERTY; typedef struct _WS_SECURITY_BINDING_PROPERTY WS_SECURITY_BINDING_PROPERTY;
typedef struct _WS_SECURITY_BINDING_PROPERTIES WS_SECURITY_BINDING_PROPERTIES; typedef struct _WS_SECURITY_BINDING_PROPERTIES WS_SECURITY_BINDING_PROPERTIES;
typedef struct _WS_SERVICE_SECURITY_IDENTITIES WS_SERVICE_SECURITY_IDENTITIES; typedef struct _WS_SERVICE_SECURITY_IDENTITIES WS_SERVICE_SECURITY_IDENTITIES;
#pragma region Desktop Family #pragma region Desktop Family or Webservices Package
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_PKG_WEBS
ERVICES)
typedef struct _WS_CERTIFICATE_VALIDATION_CALLBACK_CONTEXT WS_CERTIFICATE_VALIDA TION_CALLBACK_CONTEXT; typedef struct _WS_CERTIFICATE_VALIDATION_CALLBACK_CONTEXT WS_CERTIFICATE_VALIDA TION_CALLBACK_CONTEXT;
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */ #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_PK G_WEBSERVICES) */
#pragma endregion #pragma endregion
typedef struct _WS_CERT_CREDENTIAL WS_CERT_CREDENTIAL; typedef struct _WS_CERT_CREDENTIAL WS_CERT_CREDENTIAL;
typedef struct _WS_SUBJECT_NAME_CERT_CREDENTIAL WS_SUBJECT_NAME_CERT_CREDENTIAL; typedef struct _WS_SUBJECT_NAME_CERT_CREDENTIAL WS_SUBJECT_NAME_CERT_CREDENTIAL;
typedef struct _WS_THUMBPRINT_CERT_CREDENTIAL WS_THUMBPRINT_CERT_CREDENTIAL; typedef struct _WS_THUMBPRINT_CERT_CREDENTIAL WS_THUMBPRINT_CERT_CREDENTIAL;
typedef struct _WS_CUSTOM_CERT_CREDENTIAL WS_CUSTOM_CERT_CREDENTIAL; typedef struct _WS_CUSTOM_CERT_CREDENTIAL WS_CUSTOM_CERT_CREDENTIAL;
skipping to change at line 298 skipping to change at line 298
typedef struct _WS_OPAQUE_WINDOWS_INTEGRATED_AUTH_CREDENTIAL WS_OPAQUE_WINDOWS_I NTEGRATED_AUTH_CREDENTIAL; typedef struct _WS_OPAQUE_WINDOWS_INTEGRATED_AUTH_CREDENTIAL WS_OPAQUE_WINDOWS_I NTEGRATED_AUTH_CREDENTIAL;
typedef struct _WS_USERNAME_CREDENTIAL WS_USERNAME_CREDENTIAL; typedef struct _WS_USERNAME_CREDENTIAL WS_USERNAME_CREDENTIAL;
typedef struct _WS_STRING_USERNAME_CREDENTIAL WS_STRING_USERNAME_CREDENTIAL; typedef struct _WS_STRING_USERNAME_CREDENTIAL WS_STRING_USERNAME_CREDENTIAL;
typedef struct _WS_SECURITY_KEY_HANDLE WS_SECURITY_KEY_HANDLE; typedef struct _WS_SECURITY_KEY_HANDLE WS_SECURITY_KEY_HANDLE;
typedef struct _WS_RAW_SYMMETRIC_SECURITY_KEY_HANDLE WS_RAW_SYMMETRIC_SECURITY_K EY_HANDLE; typedef struct _WS_RAW_SYMMETRIC_SECURITY_KEY_HANDLE WS_RAW_SYMMETRIC_SECURITY_K EY_HANDLE;
#pragma region Desktop Family #pragma region Desktop Family or Webservices Package
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_PKG_WEBS
ERVICES)
typedef struct _WS_NCRYPT_ASYMMETRIC_SECURITY_KEY_HANDLE WS_NCRYPT_ASYMMETRIC_SE CURITY_KEY_HANDLE; typedef struct _WS_NCRYPT_ASYMMETRIC_SECURITY_KEY_HANDLE WS_NCRYPT_ASYMMETRIC_SE CURITY_KEY_HANDLE;
typedef struct _WS_CAPI_ASYMMETRIC_SECURITY_KEY_HANDLE WS_CAPI_ASYMMETRIC_SECURI TY_KEY_HANDLE; typedef struct _WS_CAPI_ASYMMETRIC_SECURITY_KEY_HANDLE WS_CAPI_ASYMMETRIC_SECURI TY_KEY_HANDLE;
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */ #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_PK G_WEBSERVICES) */
#pragma endregion #pragma endregion
typedef struct _WS_SECURITY_BINDING WS_SECURITY_BINDING; typedef struct _WS_SECURITY_BINDING WS_SECURITY_BINDING;
typedef struct _WS_SSL_TRANSPORT_SECURITY_BINDING WS_SSL_TRANSPORT_SECURITY_BIND ING; typedef struct _WS_SSL_TRANSPORT_SECURITY_BINDING WS_SSL_TRANSPORT_SECURITY_BIND ING;
typedef struct _WS_TCP_SSPI_TRANSPORT_SECURITY_BINDING WS_TCP_SSPI_TRANSPORT_SEC URITY_BINDING; typedef struct _WS_TCP_SSPI_TRANSPORT_SECURITY_BINDING WS_TCP_SSPI_TRANSPORT_SEC URITY_BINDING;
typedef struct _WS_NAMEDPIPE_SSPI_TRANSPORT_SECURITY_BINDING WS_NAMEDPIPE_SSPI_T RANSPORT_SECURITY_BINDING; typedef struct _WS_NAMEDPIPE_SSPI_TRANSPORT_SECURITY_BINDING WS_NAMEDPIPE_SSPI_T RANSPORT_SECURITY_BINDING;
skipping to change at line 426 skipping to change at line 426
typedef struct _WS_VOID_DESCRIPTION WS_VOID_DESCRIPTION; typedef struct _WS_VOID_DESCRIPTION WS_VOID_DESCRIPTION;
typedef struct _WS_CUSTOM_TYPE_DESCRIPTION WS_CUSTOM_TYPE_DESCRIPTION; typedef struct _WS_CUSTOM_TYPE_DESCRIPTION WS_CUSTOM_TYPE_DESCRIPTION;
typedef struct _WS_ATTRIBUTE_DESCRIPTION WS_ATTRIBUTE_DESCRIPTION; typedef struct _WS_ATTRIBUTE_DESCRIPTION WS_ATTRIBUTE_DESCRIPTION;
typedef struct _WS_PARAMETER_DESCRIPTION WS_PARAMETER_DESCRIPTION; typedef struct _WS_PARAMETER_DESCRIPTION WS_PARAMETER_DESCRIPTION;
typedef struct _WS_OPERATION_DESCRIPTION WS_OPERATION_DESCRIPTION; typedef struct _WS_OPERATION_DESCRIPTION WS_OPERATION_DESCRIPTION;
#pragma region Desktop Family #pragma region Desktop Family or Webservices Package
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_PKG_WEBS
ERVICES)
typedef struct _WS_CONTRACT_DESCRIPTION WS_CONTRACT_DESCRIPTION; typedef struct _WS_CONTRACT_DESCRIPTION WS_CONTRACT_DESCRIPTION;
typedef struct _WS_SERVICE_CONTRACT WS_SERVICE_CONTRACT; typedef struct _WS_SERVICE_CONTRACT WS_SERVICE_CONTRACT;
typedef struct _WS_SERVICE_PROPERTY WS_SERVICE_PROPERTY; typedef struct _WS_SERVICE_PROPERTY WS_SERVICE_PROPERTY;
typedef struct _WS_SERVICE_ENDPOINT_PROPERTY WS_SERVICE_ENDPOINT_PROPERTY; typedef struct _WS_SERVICE_ENDPOINT_PROPERTY WS_SERVICE_ENDPOINT_PROPERTY;
typedef struct _WS_SERVICE_PROPERTY_ACCEPT_CALLBACK WS_SERVICE_PROPERTY_ACCEPT_C ALLBACK; typedef struct _WS_SERVICE_PROPERTY_ACCEPT_CALLBACK WS_SERVICE_PROPERTY_ACCEPT_C ALLBACK;
skipping to change at line 449 skipping to change at line 449
typedef struct _WS_SERVICE_METADATA_DOCUMENT WS_SERVICE_METADATA_DOCUMENT; typedef struct _WS_SERVICE_METADATA_DOCUMENT WS_SERVICE_METADATA_DOCUMENT;
typedef struct _WS_SERVICE_METADATA WS_SERVICE_METADATA; typedef struct _WS_SERVICE_METADATA WS_SERVICE_METADATA;
typedef struct _WS_SERVICE_PROPERTY_CLOSE_CALLBACK WS_SERVICE_PROPERTY_CLOSE_CAL LBACK; typedef struct _WS_SERVICE_PROPERTY_CLOSE_CALLBACK WS_SERVICE_PROPERTY_CLOSE_CAL LBACK;
typedef struct _WS_SERVICE_ENDPOINT_METADATA WS_SERVICE_ENDPOINT_METADATA; typedef struct _WS_SERVICE_ENDPOINT_METADATA WS_SERVICE_ENDPOINT_METADATA;
typedef struct _WS_SERVICE_ENDPOINT WS_SERVICE_ENDPOINT; typedef struct _WS_SERVICE_ENDPOINT WS_SERVICE_ENDPOINT;
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */ #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_PK G_WEBSERVICES) */
#pragma endregion #pragma endregion
typedef struct _WS_PROXY_PROPERTY WS_PROXY_PROPERTY; typedef struct _WS_PROXY_PROPERTY WS_PROXY_PROPERTY;
typedef struct _WS_PROXY_MESSAGE_CALLBACK_CONTEXT WS_PROXY_MESSAGE_CALLBACK_CONT EXT; typedef struct _WS_PROXY_MESSAGE_CALLBACK_CONTEXT WS_PROXY_MESSAGE_CALLBACK_CONT EXT;
typedef struct _WS_CALL_PROPERTY WS_CALL_PROPERTY; typedef struct _WS_CALL_PROPERTY WS_CALL_PROPERTY;
typedef struct _WS_URL WS_URL; typedef struct _WS_URL WS_URL;
skipping to change at line 886 skipping to change at line 886
// Channel enum // Channel enum
// //
// The channel binding indicates the protocol stack to use for the channel. // The channel binding indicates the protocol stack to use for the channel.
// //
typedef enum typedef enum
{ {
WS_HTTP_CHANNEL_BINDING = 0, WS_HTTP_CHANNEL_BINDING = 0,
WS_TCP_CHANNEL_BINDING = 1, WS_TCP_CHANNEL_BINDING = 1,
WS_UDP_CHANNEL_BINDING = 2, WS_UDP_CHANNEL_BINDING = 2,
WS_CUSTOM_CHANNEL_BINDING = 3, WS_CUSTOM_CHANNEL_BINDING = 3,
#pragma region Desktop Family #pragma region Desktop Family or Webservices Package
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_PKG_WEBS
ERVICES)
WS_NAMEDPIPE_CHANNEL_BINDING = 4, WS_NAMEDPIPE_CHANNEL_BINDING = 4,
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */ #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_PK G_WEBSERVICES) */
#pragma endregion #pragma endregion
} WS_CHANNEL_BINDING; } WS_CHANNEL_BINDING;
// Channel enum // Channel enum
// //
// The channel type indicates the basic characteristics of the channel, such a s whether it is // The channel type indicates the basic characteristics of the channel, such a s whether it is
// sessionful, and what directions of communication are supported. // sessionful, and what directions of communication are supported.
// //
typedef enum typedef enum
{ {
skipping to change at line 1138 skipping to change at line 1138
// Each heap property is identified by an ID and has an associated value. // Each heap property is identified by an ID and has an associated value.
// //
typedef enum typedef enum
{ {
WS_HEAP_PROPERTY_MAX_SIZE = 0, WS_HEAP_PROPERTY_MAX_SIZE = 0,
WS_HEAP_PROPERTY_TRIM_SIZE = 1, WS_HEAP_PROPERTY_TRIM_SIZE = 1,
WS_HEAP_PROPERTY_REQUESTED_SIZE = 2, WS_HEAP_PROPERTY_REQUESTED_SIZE = 2,
WS_HEAP_PROPERTY_ACTUAL_SIZE = 3, WS_HEAP_PROPERTY_ACTUAL_SIZE = 3,
} WS_HEAP_PROPERTY_ID; } WS_HEAP_PROPERTY_ID;
#pragma region Desktop Family #pragma region Desktop Family or Webservices Package
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_PKG_WEBS
ERVICES)
// Listener enum // Listener enum
// And enumeration of the different states that a listener can be in. // And enumeration of the different states that a listener can be in.
typedef enum typedef enum
{ {
WS_LISTENER_STATE_CREATED = 0, WS_LISTENER_STATE_CREATED = 0,
WS_LISTENER_STATE_OPENING = 1, WS_LISTENER_STATE_OPENING = 1,
WS_LISTENER_STATE_OPEN = 2, WS_LISTENER_STATE_OPEN = 2,
WS_LISTENER_STATE_FAULTED = 3, WS_LISTENER_STATE_FAULTED = 3,
WS_LISTENER_STATE_CLOSING = 4, WS_LISTENER_STATE_CLOSING = 4,
skipping to change at line 1180 skipping to change at line 1180
WS_LISTENER_PROPERTY_MULTICAST_LOOPBACK = 9, WS_LISTENER_PROPERTY_MULTICAST_LOOPBACK = 9,
WS_LISTENER_PROPERTY_CLOSE_TIMEOUT = 10, WS_LISTENER_PROPERTY_CLOSE_TIMEOUT = 10,
WS_LISTENER_PROPERTY_TO_HEADER_MATCHING_OPTIONS = 11, WS_LISTENER_PROPERTY_TO_HEADER_MATCHING_OPTIONS = 11,
WS_LISTENER_PROPERTY_TRANSPORT_URL_MATCHING_OPTIONS = 12, WS_LISTENER_PROPERTY_TRANSPORT_URL_MATCHING_OPTIONS = 12,
WS_LISTENER_PROPERTY_CUSTOM_LISTENER_CALLBACKS = 13, WS_LISTENER_PROPERTY_CUSTOM_LISTENER_CALLBACKS = 13,
WS_LISTENER_PROPERTY_CUSTOM_LISTENER_PARAMETERS = 14, WS_LISTENER_PROPERTY_CUSTOM_LISTENER_PARAMETERS = 14,
WS_LISTENER_PROPERTY_CUSTOM_LISTENER_INSTANCE = 15, WS_LISTENER_PROPERTY_CUSTOM_LISTENER_INSTANCE = 15,
WS_LISTENER_PROPERTY_DISALLOWED_USER_AGENT = 16, WS_LISTENER_PROPERTY_DISALLOWED_USER_AGENT = 16,
} WS_LISTENER_PROPERTY_ID; } WS_LISTENER_PROPERTY_ID;
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */ #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_PK G_WEBSERVICES) */
#pragma endregion #pragma endregion
// Listener enum // Listener enum
// //
// Specifies an IP version. // Specifies an IP version.
// //
typedef enum typedef enum
{ {
WS_IP_VERSION_4 = 1, WS_IP_VERSION_4 = 1,
WS_IP_VERSION_6 = 2, WS_IP_VERSION_6 = 2,
WS_IP_VERSION_AUTO = 3, WS_IP_VERSION_AUTO = 3,
} WS_IP_VERSION; } WS_IP_VERSION;
#pragma region Desktop Family #pragma region Desktop Family or Webservices Package
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_PKG_WEBS
ERVICES)
// Listener enum // Listener enum
// //
// A set of flags used to specify how to match a URL. // A set of flags used to specify how to match a URL.
// //
enum enum
{ {
WS_MATCH_URL_DNS_HOST = 0x1, WS_MATCH_URL_DNS_HOST = 0x1,
WS_MATCH_URL_DNS_FULLY_QUALIFIED_HOST = 0x2, WS_MATCH_URL_DNS_FULLY_QUALIFIED_HOST = 0x2,
WS_MATCH_URL_NETBIOS_HOST = 0x4, WS_MATCH_URL_NETBIOS_HOST = 0x4,
WS_MATCH_URL_LOCAL_HOST = 0x8, WS_MATCH_URL_LOCAL_HOST = 0x8,
WS_MATCH_URL_HOST_ADDRESSES = 0x10, WS_MATCH_URL_HOST_ADDRESSES = 0x10,
WS_MATCH_URL_THIS_HOST = (WS_MATCH_URL_DNS_HOST | WS_MATC H_URL_DNS_FULLY_QUALIFIED_HOST | WS_MATCH_URL_NETBIOS_HOST | WS_MATCH_URL_LOCAL_ HOST | WS_MATCH_URL_HOST_ADDRESSES), WS_MATCH_URL_THIS_HOST = (WS_MATCH_URL_DNS_HOST | WS_MATC H_URL_DNS_FULLY_QUALIFIED_HOST | WS_MATCH_URL_NETBIOS_HOST | WS_MATCH_URL_LOCAL_ HOST | WS_MATCH_URL_HOST_ADDRESSES),
WS_MATCH_URL_PORT = 0x20, WS_MATCH_URL_PORT = 0x20,
WS_MATCH_URL_EXACT_PATH = 0x40, WS_MATCH_URL_EXACT_PATH = 0x40,
WS_MATCH_URL_PREFIX_PATH = 0x80, WS_MATCH_URL_PREFIX_PATH = 0x80,
WS_MATCH_URL_NO_QUERY = 0x100, WS_MATCH_URL_NO_QUERY = 0x100,
}; };
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */ #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_PK G_WEBSERVICES) */
#pragma endregion #pragma endregion
// Message enum // Message enum
// //
// The different states that a message can be in. // The different states that a message can be in.
// //
typedef enum typedef enum
{ {
WS_MESSAGE_STATE_EMPTY = 1, WS_MESSAGE_STATE_EMPTY = 1,
WS_MESSAGE_STATE_INITIALIZED = 2, WS_MESSAGE_STATE_INITIALIZED = 2,
skipping to change at line 1366 skipping to change at line 1366
// Security Binding Settings enum // Security Binding Settings enum
// //
// Defines the options for performing client authentication using HTTP // Defines the options for performing client authentication using HTTP
// authentication headers. // authentication headers.
// //
enum enum
{ {
WS_HTTP_HEADER_AUTH_SCHEME_NONE = 0x1, WS_HTTP_HEADER_AUTH_SCHEME_NONE = 0x1,
WS_HTTP_HEADER_AUTH_SCHEME_BASIC = 0x2, WS_HTTP_HEADER_AUTH_SCHEME_BASIC = 0x2,
WS_HTTP_HEADER_AUTH_SCHEME_DIGEST = 0x4, WS_HTTP_HEADER_AUTH_SCHEME_DIGEST = 0x4,
#pragma region Desktop Family #pragma region Desktop Family or Webservices Package
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_PKG_WEBS
ERVICES)
WS_HTTP_HEADER_AUTH_SCHEME_NTLM = 0x8, WS_HTTP_HEADER_AUTH_SCHEME_NTLM = 0x8,
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */ #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_PK G_WEBSERVICES) */
#pragma endregion #pragma endregion
WS_HTTP_HEADER_AUTH_SCHEME_NEGOTIATE = 0x10, WS_HTTP_HEADER_AUTH_SCHEME_NEGOTIATE = 0x10,
WS_HTTP_HEADER_AUTH_SCHEME_PASSPORT = 0x20, WS_HTTP_HEADER_AUTH_SCHEME_PASSPORT = 0x20,
}; };
// Security Binding Settings enum // Security Binding Settings enum
// //
// Defines the target for the HTTP header authentication security binding. // Defines the target for the HTTP header authentication security binding.
// //
typedef enum typedef enum
skipping to change at line 1393 skipping to change at line 1393
} WS_HTTP_HEADER_AUTH_TARGET; } WS_HTTP_HEADER_AUTH_TARGET;
// Security Binding Settings enum // Security Binding Settings enum
// //
// Defines the specific SSP package to be used for Windows Integrated // Defines the specific SSP package to be used for Windows Integrated
// Authentication. // Authentication.
// //
typedef enum typedef enum
{ {
WS_WINDOWS_INTEGRATED_AUTH_PACKAGE_KERBEROS = 1, WS_WINDOWS_INTEGRATED_AUTH_PACKAGE_KERBEROS = 1,
#pragma region Desktop Family #pragma region Desktop Family or Webservices Package
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_PKG_WEBS
ERVICES)
WS_WINDOWS_INTEGRATED_AUTH_PACKAGE_NTLM = 2, WS_WINDOWS_INTEGRATED_AUTH_PACKAGE_NTLM = 2,
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */ #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_PK G_WEBSERVICES) */
#pragma endregion #pragma endregion
WS_WINDOWS_INTEGRATED_AUTH_PACKAGE_SPNEGO = 3, WS_WINDOWS_INTEGRATED_AUTH_PACKAGE_SPNEGO = 3,
} WS_WINDOWS_INTEGRATED_AUTH_PACKAGE; } WS_WINDOWS_INTEGRATED_AUTH_PACKAGE;
// Security Channel Settings enum // Security Channel Settings enum
// //
// Defines the WS-Security specification version to be used with message // Defines the WS-Security specification version to be used with message
// security and mixed-mode security. // security and mixed-mode security.
// //
typedef enum typedef enum
skipping to change at line 1770 skipping to change at line 1770
WS_SECURITY_TOKEN_PROPERTY_SYMMETRIC_KEY = 7, WS_SECURITY_TOKEN_PROPERTY_SYMMETRIC_KEY = 7,
} WS_SECURITY_TOKEN_PROPERTY_ID; } WS_SECURITY_TOKEN_PROPERTY_ID;
// Security Bindings enum // Security Bindings enum
// //
// Types of security keys. // Types of security keys.
// //
typedef enum typedef enum
{ {
WS_RAW_SYMMETRIC_SECURITY_KEY_HANDLE_TYPE = 1, WS_RAW_SYMMETRIC_SECURITY_KEY_HANDLE_TYPE = 1,
#pragma region Desktop Family #pragma region Desktop Family or Webservices Package
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_PKG_WEBS
ERVICES)
WS_NCRYPT_ASYMMETRIC_SECURITY_KEY_HANDLE_TYPE = 2, WS_NCRYPT_ASYMMETRIC_SECURITY_KEY_HANDLE_TYPE = 2,
WS_CAPI_ASYMMETRIC_SECURITY_KEY_HANDLE_TYPE = 3, WS_CAPI_ASYMMETRIC_SECURITY_KEY_HANDLE_TYPE = 3,
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */ #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_PK G_WEBSERVICES) */
#pragma endregion #pragma endregion
} WS_SECURITY_KEY_HANDLE_TYPE; } WS_SECURITY_KEY_HANDLE_TYPE;
// Security Bindings enum // Security Bindings enum
// //
// Defines how a message security binding attaches the security token // Defines how a message security binding attaches the security token
// corresponding to it to a message using WS-Security mechanisms. // corresponding to it to a message using WS-Security mechanisms.
// //
typedef enum typedef enum
{ {
skipping to change at line 1840 skipping to change at line 1840
WS_REQUEST_SECURITY_TOKEN_PROPERTY_SECURE_CONVERSATION_VERSION = 3, WS_REQUEST_SECURITY_TOKEN_PROPERTY_SECURE_CONVERSATION_VERSION = 3,
WS_REQUEST_SECURITY_TOKEN_PROPERTY_ISSUED_TOKEN_TYPE = 4, WS_REQUEST_SECURITY_TOKEN_PROPERTY_ISSUED_TOKEN_TYPE = 4,
WS_REQUEST_SECURITY_TOKEN_PROPERTY_REQUEST_ACTION = 5, WS_REQUEST_SECURITY_TOKEN_PROPERTY_REQUEST_ACTION = 5,
WS_REQUEST_SECURITY_TOKEN_PROPERTY_EXISTING_TOKEN = 6, WS_REQUEST_SECURITY_TOKEN_PROPERTY_EXISTING_TOKEN = 6,
WS_REQUEST_SECURITY_TOKEN_PROPERTY_ISSUED_TOKEN_KEY_TYPE = 7, WS_REQUEST_SECURITY_TOKEN_PROPERTY_ISSUED_TOKEN_KEY_TYPE = 7,
WS_REQUEST_SECURITY_TOKEN_PROPERTY_ISSUED_TOKEN_KEY_SIZE = 8, WS_REQUEST_SECURITY_TOKEN_PROPERTY_ISSUED_TOKEN_KEY_SIZE = 8,
WS_REQUEST_SECURITY_TOKEN_PROPERTY_ISSUED_TOKEN_KEY_ENTROPY = 9, WS_REQUEST_SECURITY_TOKEN_PROPERTY_ISSUED_TOKEN_KEY_ENTROPY = 9,
WS_REQUEST_SECURITY_TOKEN_PROPERTY_LOCAL_REQUEST_PARAMETERS = 10, WS_REQUEST_SECURITY_TOKEN_PROPERTY_LOCAL_REQUEST_PARAMETERS = 10,
WS_REQUEST_SECURITY_TOKEN_PROPERTY_SERVICE_REQUEST_PARAMETERS = 11, WS_REQUEST_SECURITY_TOKEN_PROPERTY_SERVICE_REQUEST_PARAMETERS = 11,
WS_REQUEST_SECURITY_TOKEN_PROPERTY_MESSAGE_PROPERTIES = 12, WS_REQUEST_SECURITY_TOKEN_PROPERTY_MESSAGE_PROPERTIES = 12,
WS_REQUEST_SECURITY_TOKEN_PROPERTY_BEARER_KEY_TYPE_VERSION = 13,
} WS_REQUEST_SECURITY_TOKEN_PROPERTY_ID; } WS_REQUEST_SECURITY_TOKEN_PROPERTY_ID;
// Security Channel Settings enum
//
// The URI that a RequestSecurityToken request should use as the KeyType for a
bearer token request.
// Specified using the (WS_REQUEST_SECURITY_TOKEN_PROPERTY_ID) WS_REQUEST_SECUR
ITY_TOKEN_PROPERTY_BEARER_KEY_TYPE_VERSION WS_REQUEST_SECURITY_TOKEN_PROPERTY.
//
typedef enum
{
WS_SECURITY_BEARER_KEY_TYPE_VERSION_1_3_ORIGINAL_SPECIFICATION = 1,
WS_SECURITY_BEARER_KEY_TYPE_VERSION_1_3_ORIGINAL_SCHEMA = 2,
WS_SECURITY_BEARER_KEY_TYPE_VERSION_1_3_ERRATA_01 = 3,
} WS_SECURITY_BEARER_KEY_TYPE_VERSION;
// Serialization enum // Serialization enum
// //
// An enumeration of the different types supported for serialization. // An enumeration of the different types supported for serialization.
// //
typedef enum typedef enum
{ {
WS_BOOL_TYPE = 0, WS_BOOL_TYPE = 0,
WS_INT8_TYPE = 1, WS_INT8_TYPE = 1,
WS_INT16_TYPE = 2, WS_INT16_TYPE = 2,
WS_INT32_TYPE = 3, WS_INT32_TYPE = 3,
skipping to change at line 1970 skipping to change at line 1983
// and whether the value can be represented as nil in the XML content. // and whether the value can be represented as nil in the XML content.
// //
typedef enum typedef enum
{ {
WS_WRITE_REQUIRED_VALUE = 1, WS_WRITE_REQUIRED_VALUE = 1,
WS_WRITE_REQUIRED_POINTER = 2, WS_WRITE_REQUIRED_POINTER = 2,
WS_WRITE_NILLABLE_VALUE = 3, WS_WRITE_NILLABLE_VALUE = 3,
WS_WRITE_NILLABLE_POINTER = 4, WS_WRITE_NILLABLE_POINTER = 4,
} WS_WRITE_OPTION; } WS_WRITE_OPTION;
#pragma region Desktop Family #pragma region Desktop Family or Webservices Package
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_PKG_WEBS
ERVICES)
// Service Operation enum // Service Operation enum
// //
// An enumeration of the different reasons for which a cancel can occur. // An enumeration of the different reasons for which a cancel can occur.
// //
typedef enum typedef enum
{ {
WS_SERVICE_HOST_ABORT = 0, WS_SERVICE_HOST_ABORT = 0,
WS_SERVICE_CHANNEL_FAULTED = 1, WS_SERVICE_CHANNEL_FAULTED = 1,
} WS_SERVICE_CANCEL_REASON; } WS_SERVICE_CANCEL_REASON;
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */ #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_PK G_WEBSERVICES) */
#pragma endregion #pragma endregion
// Service Operation enum // Service Operation enum
// //
// An enumeration of the different operation styles. // An enumeration of the different operation styles.
// //
typedef enum typedef enum
{ {
WS_NON_RPC_LITERAL_OPERATION = 0, WS_NON_RPC_LITERAL_OPERATION = 0,
WS_RPC_LITERAL_OPERATION = 1, WS_RPC_LITERAL_OPERATION = 1,
skipping to change at line 2008 skipping to change at line 2021
// An enumeration of the different parameter types. // An enumeration of the different parameter types.
// //
typedef enum typedef enum
{ {
WS_PARAMETER_TYPE_NORMAL = 0, WS_PARAMETER_TYPE_NORMAL = 0,
WS_PARAMETER_TYPE_ARRAY = 1, WS_PARAMETER_TYPE_ARRAY = 1,
WS_PARAMETER_TYPE_ARRAY_COUNT = 2, WS_PARAMETER_TYPE_ARRAY_COUNT = 2,
WS_PARAMETER_TYPE_MESSAGES = 3, WS_PARAMETER_TYPE_MESSAGES = 3,
} WS_PARAMETER_TYPE; } WS_PARAMETER_TYPE;
#pragma region Desktop Family #pragma region Desktop Family or Webservices Package
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_PKG_WEBS
ERVICES)
// Service Operation enum // Service Operation enum
// //
// A set of flags used within a WS_OPERATION_DESCRIPTION. // A set of flags used within a WS_OPERATION_DESCRIPTION.
// //
enum enum
{ {
WS_SERVICE_OPERATION_MESSAGE_NILLABLE_ELEMENT = 0x1, WS_SERVICE_OPERATION_MESSAGE_NILLABLE_ELEMENT = 0x1,
}; };
skipping to change at line 2079 skipping to change at line 2092
typedef enum typedef enum
{ {
WS_SERVICE_HOST_STATE_CREATED = 0, WS_SERVICE_HOST_STATE_CREATED = 0,
WS_SERVICE_HOST_STATE_OPENING = 1, WS_SERVICE_HOST_STATE_OPENING = 1,
WS_SERVICE_HOST_STATE_OPEN = 2, WS_SERVICE_HOST_STATE_OPEN = 2,
WS_SERVICE_HOST_STATE_CLOSING = 3, WS_SERVICE_HOST_STATE_CLOSING = 3,
WS_SERVICE_HOST_STATE_CLOSED = 4, WS_SERVICE_HOST_STATE_CLOSED = 4,
WS_SERVICE_HOST_STATE_FAULTED = 5, WS_SERVICE_HOST_STATE_FAULTED = 5,
} WS_SERVICE_HOST_STATE; } WS_SERVICE_HOST_STATE;
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */ #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_PK G_WEBSERVICES) */
#pragma endregion #pragma endregion
// Service Proxy State Machine enum // Service Proxy State Machine enum
// //
// See Service Proxy State Machine for detail. // See Service Proxy State Machine for detail.
// //
typedef enum typedef enum
{ {
WS_SERVICE_PROXY_STATE_CREATED = 0, WS_SERVICE_PROXY_STATE_CREATED = 0,
WS_SERVICE_PROXY_STATE_OPENING = 1, WS_SERVICE_PROXY_STATE_OPENING = 1,
skipping to change at line 2828 skipping to change at line 2841
// redirected to another service utilizing HTTP auto redirect functionality // redirected to another service utilizing HTTP auto redirect functionality
// as described in RFC2616. If the redirection should not be allowed, this // as described in RFC2616. If the redirection should not be allowed, this
// callback should return S_FALSE or an error value. Otherwise the auto // callback should return S_FALSE or an error value. Otherwise the auto
// HTTP redirection will proceed. // HTTP redirection will proceed.
// //
typedef HRESULT (CALLBACK* WS_HTTP_REDIRECT_CALLBACK)( typedef HRESULT (CALLBACK* WS_HTTP_REDIRECT_CALLBACK)(
_In_opt_ void* state, _In_opt_ void* state,
_In_ const WS_STRING* originalUrl, _In_ const WS_STRING* originalUrl,
_In_ const WS_STRING* newUrl); _In_ const WS_STRING* newUrl);
#pragma region Desktop Family #pragma region Desktop Family or Webservices Package
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_PKG_WEBS
ERVICES)
// Listener callback // Listener callback
// //
// This callback handles the WsCreateListener call // This callback handles the WsCreateListener call
// for a WS_CUSTOM_CHANNEL_BINDING. // for a WS_CUSTOM_CHANNEL_BINDING.
// //
typedef HRESULT (CALLBACK* WS_CREATE_LISTENER_CALLBACK)( typedef HRESULT (CALLBACK* WS_CREATE_LISTENER_CALLBACK)(
_In_ WS_CHANNEL_TYPE channelType, _In_ WS_CHANNEL_TYPE channelType,
_In_reads_bytes_(listenerParametersSize) const void* listenerParameters, _In_reads_bytes_(listenerParametersSize) const void* listenerParameters,
_In_ ULONG listenerParametersSize, _In_ ULONG listenerParametersSize,
skipping to change at line 2936 skipping to change at line 2949
// This callback handles the WsCreateChannelForListener call // This callback handles the WsCreateChannelForListener call
// for a WS_CUSTOM_CHANNEL_BINDING. // for a WS_CUSTOM_CHANNEL_BINDING.
// //
typedef HRESULT (CALLBACK* WS_CREATE_CHANNEL_FOR_LISTENER_CALLBACK)( typedef HRESULT (CALLBACK* WS_CREATE_CHANNEL_FOR_LISTENER_CALLBACK)(
_In_ void* listenerInstance, _In_ void* listenerInstance,
_In_reads_bytes_(channelParametersSize) const void* channelParameters, _In_reads_bytes_(channelParametersSize) const void* channelParameters,
_In_ ULONG channelParametersSize, _In_ ULONG channelParametersSize,
_Outptr_ void** channelInstance, _Outptr_ void** channelInstance,
_In_opt_ WS_ERROR* error); _In_opt_ WS_ERROR* error);
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */ #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_PK G_WEBSERVICES) */
#pragma endregion #pragma endregion
// Message callback // Message callback
// //
// This callback is used as a notification that the message is done using // This callback is used as a notification that the message is done using
// the WS_XML_READER supplied to WsReadEnvelopeStart // the WS_XML_READER supplied to WsReadEnvelopeStart
// or the WS_XML_WRITER supplied to WsWriteEnvelopeStart. // or the WS_XML_WRITER supplied to WsWriteEnvelopeStart.
// //
typedef void (CALLBACK* WS_MESSAGE_DONE_CALLBACK)(_In_opt_ void* doneCallbackSta te); typedef void (CALLBACK* WS_MESSAGE_DONE_CALLBACK)(_In_opt_ void* doneCallbackSta te);
#pragma region Desktop Family #pragma region Desktop Family or Webservices Package
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_PKG_WEBS
ERVICES)
// Security Channel Settings callback // Security Channel Settings callback
// //
// This callback is invoked when a connection to an HTTP server was establishe d and // This callback is invoked when a connection to an HTTP server was establishe d and
// headers were sent. // headers were sent.
// //
typedef HRESULT (CALLBACK* WS_CERTIFICATE_VALIDATION_CALLBACK)( typedef HRESULT (CALLBACK* WS_CERTIFICATE_VALIDATION_CALLBACK)(
_In_ PCCERT_CONTEXT certContext, _In_ PCCERT_CONTEXT certContext,
_In_opt_ void* state); _In_opt_ void* state);
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */ #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_PK G_WEBSERVICES) */
#pragma endregion #pragma endregion
// Security Credentials callback // Security Credentials callback
// //
// Callback for providing a certificate to the security runtime. This // Callback for providing a certificate to the security runtime. This
// callback is specified as part of the WS_CUSTOM_CERT_CREDENTIAL, // callback is specified as part of the WS_CUSTOM_CERT_CREDENTIAL,
// which in turn may be specified as part of a security binding that requires a // which in turn may be specified as part of a security binding that requires a
// certificate credential. The runtime will invoke this callback when the chann el // certificate credential. The runtime will invoke this callback when the chann el
// (client-side) or the listener (server-side) is opened. // (client-side) or the listener (server-side) is opened.
// //
skipping to change at line 3111 skipping to change at line 3124
// when WS_FIELD_OPTIONAL in the WS_FIELD_DESCRIPTION. // when WS_FIELD_OPTIONAL in the WS_FIELD_DESCRIPTION.
// //
typedef HRESULT (CALLBACK* WS_IS_DEFAULT_VALUE_CALLBACK)( typedef HRESULT (CALLBACK* WS_IS_DEFAULT_VALUE_CALLBACK)(
_In_ const void* descriptionData, _In_ const void* descriptionData,
_In_reads_bytes_(valueSize) const void* value, _In_reads_bytes_(valueSize) const void* value,
_In_reads_bytes_opt_(valueSize) const void* defaultValue, _In_reads_bytes_opt_(valueSize) const void* defaultValue,
_In_ ULONG valueSize, _In_ ULONG valueSize,
_Out_ BOOL* isDefault, _Out_ BOOL* isDefault,
_In_opt_ WS_ERROR* error); _In_opt_ WS_ERROR* error);
#pragma region Desktop Family #pragma region Desktop Family or Webservices Package
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_PKG_WEBS
ERVICES)
// Contract callback // Contract callback
// //
// It is invoked when a WS_MESSAGE is received on an endpoint configured // It is invoked when a WS_MESSAGE is received on an endpoint configured
// with a WS_SERVICE_CONTRACT which has defaultMessageHandlerCallback set. // with a WS_SERVICE_CONTRACT which has defaultMessageHandlerCallback set.
// //
// The incoming WS_MESSAGE, the serviceProxy along with other parameters // The incoming WS_MESSAGE, the serviceProxy along with other parameters
// is made available to the callback through WS_OPERATION_CONTEXT. // is made available to the callback through WS_OPERATION_CONTEXT.
// //
typedef HRESULT (CALLBACK* WS_SERVICE_MESSAGE_RECEIVE_CALLBACK)( typedef HRESULT (CALLBACK* WS_SERVICE_MESSAGE_RECEIVE_CALLBACK)(
skipping to change at line 3143 skipping to change at line 3156
_In_ const WS_SERVICE_CANCEL_REASON reason, _In_ const WS_SERVICE_CANCEL_REASON reason,
_In_opt_ void* state); _In_opt_ void* state);
// Call cancellation callback // Call cancellation callback
// //
// This callback is invoked by service model to allow application to cleanup // This callback is invoked by service model to allow application to cleanup
// state that was registered with cancellation callback. // state that was registered with cancellation callback.
// //
typedef void (CALLBACK* WS_OPERATION_FREE_STATE_CALLBACK)(_In_opt_ void* state); typedef void (CALLBACK* WS_OPERATION_FREE_STATE_CALLBACK)(_In_opt_ void* state);
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */ #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_PK G_WEBSERVICES) */
#pragma endregion #pragma endregion
// Contract callback // Contract callback
// //
// This callback is invoked by service model to delegate to the service // This callback is invoked by service model to delegate to the service
// operation call. This callback is generated by (Web Service Compiler Tool) ws util.exe // operation call. This callback is generated by (Web Service Compiler Tool) ws util.exe
// for every service operation. It is defined on the WS_OPERATION_DESCRIPTION for each // for every service operation. It is defined on the WS_OPERATION_DESCRIPTION for each
// service operation. // service operation.
// //
typedef HRESULT (CALLBACK* WS_SERVICE_STUB_CALLBACK)( typedef HRESULT (CALLBACK* WS_SERVICE_STUB_CALLBACK)(
_In_ const WS_OPERATION_CONTEXT* context, _In_ const WS_OPERATION_CONTEXT* context,
_In_ void* frame, _In_ void* frame,
_In_ const void* callback, _In_ const void* callback,
_In_opt_ const WS_ASYNC_CONTEXT* asyncContext, _In_opt_ const WS_ASYNC_CONTEXT* asyncContext,
_In_opt_ WS_ERROR* error); _In_opt_ WS_ERROR* error);
#pragma region Desktop Family #pragma region Desktop Family or Webservices Package
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_PKG_WEBS
ERVICES)
// Service Host callback // Service Host callback
// //
// This callback is invoked when a channel is accepted on an endpoint // This callback is invoked when a channel is accepted on an endpoint
// listener by service host. // listener by service host.
// //
// For (Contract) session based service contract, this notification signifies session initiation. // For (Contract) session based service contract, this notification signifies session initiation.
// Thus an application state scoped for the session can be created within this callback. // Thus an application state scoped for the session can be created within this callback.
// //
typedef HRESULT (CALLBACK* WS_SERVICE_ACCEPT_CHANNEL_CALLBACK)( typedef HRESULT (CALLBACK* WS_SERVICE_ACCEPT_CHANNEL_CALLBACK)(
skipping to change at line 3209 skipping to change at line 3222
// Service Authorization callback // Service Authorization callback
// //
// This callback is invoked when headers of the incoming message // This callback is invoked when headers of the incoming message
// are received and the body is not processed. // are received and the body is not processed.
// //
typedef HRESULT (CALLBACK* WS_SERVICE_SECURITY_CALLBACK)( typedef HRESULT (CALLBACK* WS_SERVICE_SECURITY_CALLBACK)(
_In_ const WS_OPERATION_CONTEXT* context, _In_ const WS_OPERATION_CONTEXT* context,
_Out_ BOOL* authorized, _Out_ BOOL* authorized,
_In_opt_ WS_ERROR* error); _In_opt_ WS_ERROR* error);
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */ #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_PK G_WEBSERVICES) */
#pragma endregion #pragma endregion
// Service Proxy callback // Service Proxy callback
// //
// The callback is invoked when the headers of the input message are // The callback is invoked when the headers of the input message are
// about to be sent through, or when an output message headers are just receive d. // about to be sent through, or when an output message headers are just receive d.
// //
typedef HRESULT (CALLBACK* WS_PROXY_MESSAGE_CALLBACK)( typedef HRESULT (CALLBACK* WS_PROXY_MESSAGE_CALLBACK)(
_In_ WS_MESSAGE* message, _In_ WS_MESSAGE* message,
_In_ WS_HEAP* heap, _In_ WS_HEAP* heap,
skipping to change at line 4090 skipping to change at line 4103
// Heap structure // Heap structure
// //
// A structure that is used to specify a set of WS_HEAP_PROPERTYs. // A structure that is used to specify a set of WS_HEAP_PROPERTYs.
// //
struct _WS_HEAP_PROPERTIES { struct _WS_HEAP_PROPERTIES {
_Field_size_opt_(propertyCount) WS_HEAP_PROPERTY* properties; _Field_size_opt_(propertyCount) WS_HEAP_PROPERTY* properties;
ULONG propertyCount; ULONG propertyCount;
}; };
#pragma region Desktop Family #pragma region Desktop Family or Webservices Package
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_PKG_WEBS
ERVICES)
// Listener structure // Listener structure
// //
// Specifies a listener specific setting. // Specifies a listener specific setting.
// //
struct _WS_LISTENER_PROPERTY { struct _WS_LISTENER_PROPERTY {
WS_LISTENER_PROPERTY_ID id; WS_LISTENER_PROPERTY_ID id;
_Field_size_bytes_(valueSize) void* value; _Field_size_bytes_(valueSize) void* value;
ULONG valueSize; ULONG valueSize;
}; };
skipping to change at line 4123 skipping to change at line 4136
// Listener structure // Listener structure
// //
// A structure that is used to specify a set of WS_LISTENER_PROPERTYs. // A structure that is used to specify a set of WS_LISTENER_PROPERTYs.
// //
struct _WS_LISTENER_PROPERTIES { struct _WS_LISTENER_PROPERTIES {
WS_LISTENER_PROPERTY* properties; WS_LISTENER_PROPERTY* properties;
ULONG propertyCount; ULONG propertyCount;
}; };
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */ #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_PK G_WEBSERVICES) */
#pragma endregion #pragma endregion
// Listener structure // Listener structure
// //
// A structure containing a list of host names. // A structure containing a list of host names.
// //
struct _WS_HOST_NAMES { struct _WS_HOST_NAMES {
_Field_size_(hostNameCount) WS_STRING* hostNames; _Field_size_(hostNameCount) WS_STRING* hostNames;
ULONG hostNameCount; ULONG hostNameCount;
}; };
#pragma region Desktop Family #pragma region Desktop Family or Webservices Package
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_PKG_WEBS
ERVICES)
// Listener structure // Listener structure
// //
// A structure that is used to specify a set of callbacks // A structure that is used to specify a set of callbacks
// that form the implementation of a custom // that form the implementation of a custom
// listener. // listener.
// //
struct _WS_CUSTOM_LISTENER_CALLBACKS { struct _WS_CUSTOM_LISTENER_CALLBACKS {
WS_CREATE_LISTENER_CALLBACK createListenerCallback; WS_CREATE_LISTENER_CALLBACK createListenerCallback;
WS_FREE_LISTENER_CALLBACK freeListenerCallback; WS_FREE_LISTENER_CALLBACK freeListenerCallback;
WS_RESET_LISTENER_CALLBACK resetListenerCallback; WS_RESET_LISTENER_CALLBACK resetListenerCallback;
WS_OPEN_LISTENER_CALLBACK openListenerCallback; WS_OPEN_LISTENER_CALLBACK openListenerCallback;
WS_CLOSE_LISTENER_CALLBACK closeListenerCallback; WS_CLOSE_LISTENER_CALLBACK closeListenerCallback;
WS_ABORT_LISTENER_CALLBACK abortListenerCallback; WS_ABORT_LISTENER_CALLBACK abortListenerCallback;
WS_GET_LISTENER_PROPERTY_CALLBACK getListenerPropertyCallback; WS_GET_LISTENER_PROPERTY_CALLBACK getListenerPropertyCallback;
WS_SET_LISTENER_PROPERTY_CALLBACK setListenerPropertyCallback; WS_SET_LISTENER_PROPERTY_CALLBACK setListenerPropertyCallback;
WS_CREATE_CHANNEL_FOR_LISTENER_CALLBACK createChannelForListenerCallback; WS_CREATE_CHANNEL_FOR_LISTENER_CALLBACK createChannelForListenerCallback;
WS_ACCEPT_CHANNEL_CALLBACK acceptChannelCallback; WS_ACCEPT_CHANNEL_CALLBACK acceptChannelCallback;
}; };
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */ #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_PK G_WEBSERVICES) */
#pragma endregion #pragma endregion
// Message structure // Message structure
// //
// Specifies a message specific setting. // Specifies a message specific setting.
// //
struct _WS_MESSAGE_PROPERTY { struct _WS_MESSAGE_PROPERTY {
WS_MESSAGE_PROPERTY_ID id; WS_MESSAGE_PROPERTY_ID id;
_Field_size_bytes_(valueSize) void* value; _Field_size_bytes_(valueSize) void* value;
ULONG valueSize; ULONG valueSize;
skipping to change at line 4261 skipping to change at line 4274
// //
// A list of Server Principal Names (SPNs) that are used to validate Extended Protection. // A list of Server Principal Names (SPNs) that are used to validate Extended Protection.
// //
// Only available on the server. // Only available on the server.
// //
struct _WS_SERVICE_SECURITY_IDENTITIES { struct _WS_SERVICE_SECURITY_IDENTITIES {
_Field_size_(serviceIdentityCount) WS_STRING* serviceIdentities; _Field_size_(serviceIdentityCount) WS_STRING* serviceIdentities;
ULONG serviceIdentityCount; ULONG serviceIdentityCount;
}; };
#pragma region Desktop Family #pragma region Desktop Family or Webservices Package
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_PKG_WEBS
ERVICES)
// Security Channel Settings structure // Security Channel Settings structure
// //
// Specifies the callback function and state for validating the HTTP certifica te. // Specifies the callback function and state for validating the HTTP certifica te.
// //
// See also WS_SECURITY_BINDING_PROPERTY_CERTIFICATE_VALIDATION_CALLBACK_CONTE XT. // See also WS_SECURITY_BINDING_PROPERTY_CERTIFICATE_VALIDATION_CALLBACK_CONTE XT.
// //
struct _WS_CERTIFICATE_VALIDATION_CALLBACK_CONTEXT { struct _WS_CERTIFICATE_VALIDATION_CALLBACK_CONTEXT {
WS_CERTIFICATE_VALIDATION_CALLBACK callback; WS_CERTIFICATE_VALIDATION_CALLBACK callback;
void* state; void* state;
}; };
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */ #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_PK G_WEBSERVICES) */
#pragma endregion #pragma endregion
// Security Credentials structure // Security Credentials structure
// //
// The abstract base type for all certificate credential types. // The abstract base type for all certificate credential types.
// //
struct _WS_CERT_CREDENTIAL { struct _WS_CERT_CREDENTIAL {
WS_CERT_CREDENTIAL_TYPE credentialType; WS_CERT_CREDENTIAL_TYPE credentialType;
}; };
skipping to change at line 4427 skipping to change at line 4440
// Security Bindings structure // Security Bindings structure
// //
// The type for specifying a symmetric cryptographic key as raw bytes. // The type for specifying a symmetric cryptographic key as raw bytes.
// //
struct _WS_RAW_SYMMETRIC_SECURITY_KEY_HANDLE { struct _WS_RAW_SYMMETRIC_SECURITY_KEY_HANDLE {
WS_SECURITY_KEY_HANDLE keyHandle; WS_SECURITY_KEY_HANDLE keyHandle;
WS_BYTES rawKeyBytes; WS_BYTES rawKeyBytes;
}; };
#pragma region Desktop Family #pragma region Desktop Family or Webservices Package
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_PKG_WEBS
ERVICES)
// Security Bindings structure // Security Bindings structure
// //
// The type for specifying asymmetric cryptographic keys as a CryptoNG // The type for specifying asymmetric cryptographic keys as a CryptoNG
// NCRYPT_KEY_HANDLE. // NCRYPT_KEY_HANDLE.
// //
// When this structure is used in an API (such as with // When this structure is used in an API (such as with
// (WsCreateXmlSecurityToken) XML token creation) and subsequent // (WsCreateXmlSecurityToken) XML token creation) and subsequent
// (WS_XML_TOKEN_MESSAGE_SECURITY_BINDING) use of that XML // (WS_XML_TOKEN_MESSAGE_SECURITY_BINDING) use of that XML
// token for a channel), the application is responsible for making // token for a channel), the application is responsible for making
skipping to change at line 4472 skipping to change at line 4485
// //
// This type is supported only on pre-Windows Vista platforms: for // This type is supported only on pre-Windows Vista platforms: for
// Windows Vista and later, please use WS_NCRYPT_ASYMMETRIC_SECURITY_KEY_HANDLE . // Windows Vista and later, please use WS_NCRYPT_ASYMMETRIC_SECURITY_KEY_HANDLE .
// //
struct _WS_CAPI_ASYMMETRIC_SECURITY_KEY_HANDLE { struct _WS_CAPI_ASYMMETRIC_SECURITY_KEY_HANDLE {
WS_SECURITY_KEY_HANDLE keyHandle; WS_SECURITY_KEY_HANDLE keyHandle;
HCRYPTPROV provider; HCRYPTPROV provider;
ULONG keySpec; ULONG keySpec;
}; };
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */ #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_PK G_WEBSERVICES) */
#pragma endregion #pragma endregion
// Security Bindings structure // Security Bindings structure
// //
// The abstract base type for all security bindings. One or more // The abstract base type for all security bindings. One or more
// concrete subtypes of this are specified in the // concrete subtypes of this are specified in the
// (WS_SECURITY_DESCRIPTION) security description that is // (WS_SECURITY_DESCRIPTION) security description that is
// supplied during channel and listener creation. Each concrete subtype // supplied during channel and listener creation. Each concrete subtype
// of this corresponds to a security protocol and a way of using it to // of this corresponds to a security protocol and a way of using it to
// provide authentication and/or protection to a channel. // provide authentication and/or protection to a channel.
skipping to change at line 5373 skipping to change at line 5386
WS_MESSAGE_DESCRIPTION* inputMessageDescription; WS_MESSAGE_DESCRIPTION* inputMessageDescription;
WS_MESSAGE_DESCRIPTION* outputMessageDescription; WS_MESSAGE_DESCRIPTION* outputMessageDescription;
ULONG inputMessageOptions; ULONG inputMessageOptions;
ULONG outputMessageOptions; ULONG outputMessageOptions;
USHORT parameterCount; USHORT parameterCount;
_Field_size_(parameterCount) WS_PARAMETER_DESCRIPTION* parameterDescription; _Field_size_(parameterCount) WS_PARAMETER_DESCRIPTION* parameterDescription;
WS_SERVICE_STUB_CALLBACK stubCallback; WS_SERVICE_STUB_CALLBACK stubCallback;
WS_OPERATION_STYLE style; WS_OPERATION_STYLE style;
}; };
#pragma region Desktop Family #pragma region Desktop Family or Webservices Package
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_PKG_WEBS
ERVICES)
// Contract structure // Contract structure
// //
// The metadata for a service contract for service model. // The metadata for a service contract for service model.
// //
struct _WS_CONTRACT_DESCRIPTION { struct _WS_CONTRACT_DESCRIPTION {
ULONG operationCount; ULONG operationCount;
_Field_size_(operationCount) WS_OPERATION_DESCRIPTION** operations; _Field_size_(operationCount) WS_OPERATION_DESCRIPTION** operations;
}; };
skipping to change at line 5486 skipping to change at line 5499
WS_CHANNEL_BINDING channelBinding; WS_CHANNEL_BINDING channelBinding;
WS_CHANNEL_TYPE channelType; WS_CHANNEL_TYPE channelType;
const WS_SECURITY_DESCRIPTION* securityDescription; const WS_SECURITY_DESCRIPTION* securityDescription;
const WS_SERVICE_CONTRACT* contract; const WS_SERVICE_CONTRACT* contract;
WS_SERVICE_SECURITY_CALLBACK authorizationCallback; WS_SERVICE_SECURITY_CALLBACK authorizationCallback;
_Field_size_(propertyCount) const WS_SERVICE_ENDPOINT_PROPERTY* properties; _Field_size_(propertyCount) const WS_SERVICE_ENDPOINT_PROPERTY* properties;
ULONG propertyCount; ULONG propertyCount;
WS_CHANNEL_PROPERTIES channelProperties; WS_CHANNEL_PROPERTIES channelProperties;
}; };
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */ #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_PK G_WEBSERVICES) */
#pragma endregion #pragma endregion
// Service Proxy structure // Service Proxy structure
// //
// Specifies a proxy property. // Specifies a proxy property.
// //
struct _WS_PROXY_PROPERTY { struct _WS_PROXY_PROPERTY {
WS_PROXY_PROPERTY_ID id; WS_PROXY_PROPERTY_ID id;
_Field_size_bytes_(valueSize) void* value; _Field_size_bytes_(valueSize) void* value;
ULONG valueSize; ULONG valueSize;
skipping to change at line 7380 skipping to change at line 7393
// Channel function // Channel function
// //
// Used to signal the end of messages for a session channel. // Used to signal the end of messages for a session channel.
// //
HRESULT WINAPI WsShutdownSessionChannel( HRESULT WINAPI WsShutdownSessionChannel(
_In_ WS_CHANNEL* channel, _In_ WS_CHANNEL* channel,
_In_opt_ const WS_ASYNC_CONTEXT* asyncContext, _In_opt_ const WS_ASYNC_CONTEXT* asyncContext,
_In_opt_ WS_ERROR* error); _In_opt_ WS_ERROR* error);
#pragma region Desktop Family #pragma region Desktop Family or Webservices Package
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_PKG_WEBS
ERVICES)
// Context function // Context function
// //
// Returns a property of the specified operation context. It should be noted t hat the // Returns a property of the specified operation context. It should be noted t hat the
// validity of these property is limited to the lifetime of the operation conte xt itself. // validity of these property is limited to the lifetime of the operation conte xt itself.
// See Operation Context Lifetime and Threading for details around accessing // See Operation Context Lifetime and Threading for details around accessing
// these properties and the lifetime of the operation context. // these properties and the lifetime of the operation context.
// //
HRESULT WINAPI WsGetOperationContextProperty( HRESULT WINAPI WsGetOperationContextProperty(
_In_ const WS_OPERATION_CONTEXT* context, _In_ const WS_OPERATION_CONTEXT* context,
_In_ const WS_OPERATION_CONTEXT_PROPERTY_ID id, _In_ const WS_OPERATION_CONTEXT_PROPERTY_ID id,
_Out_writes_bytes_(valueSize) void* value, _Out_writes_bytes_(valueSize) void* value,
_In_ ULONG valueSize, _In_ ULONG valueSize,
_In_opt_ WS_ERROR* error); _In_opt_ WS_ERROR* error);
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */ #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_PK G_WEBSERVICES) */
#pragma endregion #pragma endregion
// Dictionaries function // Dictionaries function
HRESULT WINAPI WsGetDictionary( HRESULT WINAPI WsGetDictionary(
_In_ WS_ENCODING encoding, _In_ WS_ENCODING encoding,
_Outptr_result_maybenull_ WS_XML_DICTIONARY** dictionary, _Outptr_result_maybenull_ WS_XML_DICTIONARY** dictionary,
_In_opt_ WS_ERROR* error); _In_opt_ WS_ERROR* error);
// Message function // Message function
skipping to change at line 7588 skipping to change at line 7601
_In_ WS_HEAP* heap, _In_ WS_HEAP* heap,
_In_opt_ WS_ERROR* error); _In_opt_ WS_ERROR* error);
// Heap function // Heap function
// //
// This frees the heap object, and the memory associated with any allocations // This frees the heap object, and the memory associated with any allocations
// made on it using WsAlloc. // made on it using WsAlloc.
// //
void WINAPI WsFreeHeap(_In_ WS_HEAP* heap); void WINAPI WsFreeHeap(_In_ WS_HEAP* heap);
#pragma region Desktop Family #pragma region Desktop Family or Webservices Package
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_PKG_WEBS
ERVICES)
// Listener function // Listener function
// //
// Create a listener object. // Create a listener object.
// //
HRESULT WINAPI WsCreateListener( HRESULT WINAPI WsCreateListener(
_In_ WS_CHANNEL_TYPE channelType, _In_ WS_CHANNEL_TYPE channelType,
_In_ WS_CHANNEL_BINDING channelBinding, _In_ WS_CHANNEL_BINDING channelBinding,
_In_reads_opt_(propertyCount) const WS_LISTENER_PROPERTY* properties, _In_reads_opt_(propertyCount) const WS_LISTENER_PROPERTY* properties,
_In_ ULONG propertyCount, _In_ ULONG propertyCount,
skipping to change at line 7688 skipping to change at line 7701
// //
// Create a channel that is used to accept incoming message exchanges from a l istener. // Create a channel that is used to accept incoming message exchanges from a l istener.
// //
HRESULT WINAPI WsCreateChannelForListener( HRESULT WINAPI WsCreateChannelForListener(
_In_ WS_LISTENER* listener, _In_ WS_LISTENER* listener,
_In_reads_opt_(propertyCount) const WS_CHANNEL_PROPERTY* properties, _In_reads_opt_(propertyCount) const WS_CHANNEL_PROPERTY* properties,
_In_ ULONG propertyCount, _In_ ULONG propertyCount,
_Outptr_ WS_CHANNEL** channel, _Outptr_ WS_CHANNEL** channel,
_In_opt_ WS_ERROR* error); _In_opt_ WS_ERROR* error);
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */ #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_PK G_WEBSERVICES) */
#pragma endregion #pragma endregion
// Message function // Message function
// //
// Creates a message object. // Creates a message object.
// //
HRESULT WINAPI WsCreateMessage( HRESULT WINAPI WsCreateMessage(
_In_ WS_ENVELOPE_VERSION envelopeVersion, _In_ WS_ENVELOPE_VERSION envelopeVersion,
_In_ WS_ADDRESSING_VERSION addressingVersion, _In_ WS_ADDRESSING_VERSION addressingVersion,
_In_reads_opt_(propertyCount) const WS_MESSAGE_PROPERTY* properties, _In_reads_opt_(propertyCount) const WS_MESSAGE_PROPERTY* properties,
skipping to change at line 8147 skipping to change at line 8160
HRESULT WINAPI WsWriteType( HRESULT WINAPI WsWriteType(
_In_ WS_XML_WRITER* writer, _In_ WS_XML_WRITER* writer,
_In_ WS_TYPE_MAPPING typeMapping, _In_ WS_TYPE_MAPPING typeMapping,
_In_ WS_TYPE type, _In_ WS_TYPE type,
_In_opt_ const void* typeDescription, _In_opt_ const void* typeDescription,
_In_ WS_WRITE_OPTION writeOption, _In_ WS_WRITE_OPTION writeOption,
_In_reads_bytes_opt_(valueSize) const void* value, _In_reads_bytes_opt_(valueSize) const void* value,
_In_ ULONG valueSize, _In_ ULONG valueSize,
_In_opt_ WS_ERROR* error); _In_opt_ WS_ERROR* error);
#pragma region Desktop Family #pragma region Desktop Family or Webservices Package
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_PKG_WEBS
ERVICES)
// Call cancellation function // Call cancellation function
// //
// A service operation can use this function to register for a cancel notifica tion. // A service operation can use this function to register for a cancel notifica tion.
// It is only valid to call this API when the service operation is executing. T he behavior // It is only valid to call this API when the service operation is executing. T he behavior
// for calling it after the completion of Service Operation is not supported. // for calling it after the completion of Service Operation is not supported.
// //
// While this API is being called and the runtime has determined that the canc ellation of the // While this API is being called and the runtime has determined that the canc ellation of the
// service operation is necessary, it can call the callback during the call to this API by the application. // service operation is necessary, it can call the callback during the call to this API by the application.
// //
skipping to change at line 8243 skipping to change at line 8256
// Rather the creating a new service host from scratch WsResetServiceHost // Rather the creating a new service host from scratch WsResetServiceHost
// provides a convenient way to reuse service host. Specifically in a scenario // provides a convenient way to reuse service host. Specifically in a scenario
// where a service host has to go through close and open on a regular basis, // where a service host has to go through close and open on a regular basis,
// this allows for an efficient way for reusing the same service host. It reset s // this allows for an efficient way for reusing the same service host. It reset s
// the underlying channel and listeners for reuse. // the underlying channel and listeners for reuse.
// //
HRESULT WINAPI WsResetServiceHost( HRESULT WINAPI WsResetServiceHost(
_In_ WS_SERVICE_HOST* serviceHost, _In_ WS_SERVICE_HOST* serviceHost,
_In_opt_ WS_ERROR* error); _In_opt_ WS_ERROR* error);
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */ #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_PK G_WEBSERVICES) */
#pragma endregion #pragma endregion
// Service Proxy function // Service Proxy function
// //
// Retrieve a property of service proxy. // Retrieve a property of service proxy.
// //
HRESULT WINAPI WsGetServiceProxyProperty( HRESULT WINAPI WsGetServiceProxyProperty(
_In_ WS_SERVICE_PROXY* serviceProxy, _In_ WS_SERVICE_PROXY* serviceProxy,
_In_ const WS_PROXY_PROPERTY_ID id, _In_ const WS_PROXY_PROPERTY_ID id,
_Out_writes_bytes_(valueSize) void* value, _Out_writes_bytes_(valueSize) void* value,
skipping to change at line 8539 skipping to change at line 8552
_In_reads_opt_(propertyCount) const WS_PROXY_PROPERTY* properties, _In_reads_opt_(propertyCount) const WS_PROXY_PROPERTY* properties,
_In_ const ULONG propertyCount, _In_ const ULONG propertyCount,
_In_ WS_BINDING_TEMPLATE_TYPE templateType, _In_ WS_BINDING_TEMPLATE_TYPE templateType,
_In_reads_bytes_opt_(templateSize) void* templateValue, _In_reads_bytes_opt_(templateSize) void* templateValue,
_In_ ULONG templateSize, _In_ ULONG templateSize,
_In_ const void* templateDescription, _In_ const void* templateDescription,
_In_ ULONG templateDescriptionSize, _In_ ULONG templateDescriptionSize,
_Outptr_ WS_SERVICE_PROXY** serviceProxy, _Outptr_ WS_SERVICE_PROXY** serviceProxy,
_In_opt_ WS_ERROR* error); _In_opt_ WS_ERROR* error);
#pragma region Desktop Family #pragma region Desktop Family or Webservices Package
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_PKG_WEBS
ERVICES)
// Policy Support function // Policy Support function
// //
// Helper routine to create channel from policy templates. // Helper routine to create channel from policy templates.
// //
HRESULT WINAPI WsCreateServiceEndpointFromTemplate( HRESULT WINAPI WsCreateServiceEndpointFromTemplate(
_In_ WS_CHANNEL_TYPE channelType, _In_ WS_CHANNEL_TYPE channelType,
_In_reads_opt_(propertyCount) const WS_SERVICE_ENDPOINT_PROPERTY* properties , _In_reads_opt_(propertyCount) const WS_SERVICE_ENDPOINT_PROPERTY* properties ,
_In_ ULONG propertyCount, _In_ ULONG propertyCount,
_In_opt_ const WS_STRING* addressUrl, _In_opt_ const WS_STRING* addressUrl,
skipping to change at line 8562 skipping to change at line 8575
_In_opt_ WS_SERVICE_SECURITY_CALLBACK authorizationCallback, _In_opt_ WS_SERVICE_SECURITY_CALLBACK authorizationCallback,
_In_ WS_HEAP* heap, _In_ WS_HEAP* heap,
_In_ WS_BINDING_TEMPLATE_TYPE templateType, _In_ WS_BINDING_TEMPLATE_TYPE templateType,
_In_reads_bytes_opt_(templateSize) void* templateValue, _In_reads_bytes_opt_(templateSize) void* templateValue,
_In_ ULONG templateSize, _In_ ULONG templateSize,
_In_ const void* templateDescription, _In_ const void* templateDescription,
_In_ ULONG templateDescriptionSize, _In_ ULONG templateDescriptionSize,
_Outptr_ WS_SERVICE_ENDPOINT** serviceEndpoint, _Outptr_ WS_SERVICE_ENDPOINT** serviceEndpoint,
_In_opt_ WS_ERROR* error); _In_opt_ WS_ERROR* error);
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */ #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_PK G_WEBSERVICES) */
#pragma endregion #pragma endregion
// ERROR DEFINITIONS // ERROR DEFINITIONS
#ifndef FACILITY_WEBSERVICES #ifndef FACILITY_WEBSERVICES
#define FACILITY_WEBSERVICES 0x3d #define FACILITY_WEBSERVICES 0x3d
#define WS_S_ASYNC 0x003D0000 #define WS_S_ASYNC 0x003D0000
#define WS_S_END 0x003D0001 #define WS_S_END 0x003D0001
#define WS_E_INVALID_FORMAT 0x803D0000 #define WS_E_INVALID_FORMAT 0x803D0000
#define WS_E_OBJECT_FAULTED 0x803D0001 #define WS_E_OBJECT_FAULTED 0x803D0001
#define WS_E_NUMERIC_OVERFLOW 0x803D0002 #define WS_E_NUMERIC_OVERFLOW 0x803D0002
#define WS_E_INVALID_OPERATION 0x803D0003 #define WS_E_INVALID_OPERATION 0x803D0003
 End of changes. 58 change blocks. 
84 lines changed or deleted 127 lines changed or added

This html diff was produced by rfcdiff 1.41.