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



 http.h (6.3.9600.17415-Windows 8.1)   http.h (10.0.10586.0-Windows 10 1511 10586.494) 
skipping to change at line 89 skipping to change at line 89
// Following section defines the properties supported by the // Following section defines the properties supported by the
// server side HTTP API. // server side HTTP API.
// //
typedef enum _HTTP_SERVER_PROPERTY typedef enum _HTTP_SERVER_PROPERTY
{ {
// //
// Used for enabling server side authentication. // Used for enabling server side authentication.
// //
HttpServerAuthenticationProperty, HttpServerAuthenticationProperty = 0,
// //
// Used for enabling logging. // Used for enabling logging.
// //
HttpServerLoggingProperty, HttpServerLoggingProperty = 1,
// //
// Used for setting QoS properties. // Used for setting QoS properties.
// //
HttpServerQosProperty, HttpServerQosProperty = 2,
// //
// Used for configuring timeouts. // Used for configuring timeouts.
// //
HttpServerTimeoutsProperty, HttpServerTimeoutsProperty = 3,
// //
// Used for limiting request queue lengths. // Used for limiting request queue lengths.
// //
HttpServerQueueLengthProperty, HttpServerQueueLengthProperty = 4,
// //
// Used for manipulating the state. // Used for manipulating the state.
// //
HttpServerStateProperty, HttpServerStateProperty = 5,
// //
// Used for modifying the verbosity level of 503 type responses // Used for modifying the verbosity level of 503 type responses
// generated by server side API. // generated by server side API.
// //
HttpServer503VerbosityProperty, HttpServer503VerbosityProperty = 6,
// //
// Used for manipulating Url Group to Request Queue association. // Used for manipulating Url Group to Request Queue association.
// //
HttpServerBindingProperty, HttpServerBindingProperty = 7,
// //
// Extended authentication property. // Extended authentication property.
// //
HttpServerExtendedAuthenticationProperty, HttpServerExtendedAuthenticationProperty = 8,
// //
// Listening endpoint property. // Listening endpoint property.
// //
HttpServerListenEndpointProperty, HttpServerListenEndpointProperty = 9,
// //
// Authentication channel binding property // Authentication channel binding property
// //
HttpServerChannelBindProperty, HttpServerChannelBindProperty = 10,
// //
// IP Protection level policy for a Url Group. // IP Protection level policy for a Url Group.
// //
HttpServerProtectionLevelProperty HttpServerProtectionLevelProperty = 11,
} HTTP_SERVER_PROPERTY, *PHTTP_SERVER_PROPERTY; } HTTP_SERVER_PROPERTY, *PHTTP_SERVER_PROPERTY;
#define HTTP_MAX_SERVER_QUEUE_LENGTH 0x7FFFFFFF #define HTTP_MAX_SERVER_QUEUE_LENGTH 0x7FFFFFFF
#define HTTP_MIN_SERVER_QUEUE_LENGTH 1 #define HTTP_MIN_SERVER_QUEUE_LENGTH 1
// //
// Generic property flags. Each structure defining a property info typically // Generic property flags. Each structure defining a property info typically
// contain an element of this type. // contain an element of this type.
// //
skipping to change at line 502 skipping to change at line 502
{ {
PHTTP_SERVICE_BINDING_BASE ServiceName; PHTTP_SERVICE_BINDING_BASE ServiceName;
PUCHAR ChannelToken; PUCHAR ChannelToken;
ULONG ChannelTokenSize; ULONG ChannelTokenSize;
ULONG Flags; ULONG Flags;
} HTTP_REQUEST_CHANNEL_BIND_STATUS, *PHTTP_REQUEST_CHANNEL_BIND_STATUS; } HTTP_REQUEST_CHANNEL_BIND_STATUS, *PHTTP_REQUEST_CHANNEL_BIND_STATUS;
#endif #endif
typedef struct _HTTP_REQUEST_TOKEN_BINDING_INFO
{
PUCHAR TokenBinding;
ULONG TokenBindingSize;
PUCHAR TlsUnique;
ULONG TlsUniqueSize;
PWSTR KeyType;
} HTTP_REQUEST_TOKEN_BINDING_INFO, *PHTTP_REQUEST_TOKEN_BINDING_INFO;
// //
// Definitions used for setting logging property. // Definitions used for setting logging property.
// //
// //
// The known log fields recognized/supported by HTTPAPI. Following fields // The known log fields recognized/supported by HTTPAPI. Following fields
// are used for W3C logging. Subset of them are also used for error // are used for W3C logging. Subset of them are also used for error
// logging. // logging.
// //
skipping to change at line 534 skipping to change at line 546
#define HTTP_LOG_FIELD_BYTES_SENT 0x00001000 #define HTTP_LOG_FIELD_BYTES_SENT 0x00001000
#define HTTP_LOG_FIELD_BYTES_RECV 0x00002000 #define HTTP_LOG_FIELD_BYTES_RECV 0x00002000
#define HTTP_LOG_FIELD_TIME_TAKEN 0x00004000 #define HTTP_LOG_FIELD_TIME_TAKEN 0x00004000
#define HTTP_LOG_FIELD_SERVER_PORT 0x00008000 #define HTTP_LOG_FIELD_SERVER_PORT 0x00008000
#define HTTP_LOG_FIELD_USER_AGENT 0x00010000 #define HTTP_LOG_FIELD_USER_AGENT 0x00010000
#define HTTP_LOG_FIELD_COOKIE 0x00020000 #define HTTP_LOG_FIELD_COOKIE 0x00020000
#define HTTP_LOG_FIELD_REFERER 0x00040000 #define HTTP_LOG_FIELD_REFERER 0x00040000
#define HTTP_LOG_FIELD_VERSION 0x00080000 #define HTTP_LOG_FIELD_VERSION 0x00080000
#define HTTP_LOG_FIELD_HOST 0x00100000 #define HTTP_LOG_FIELD_HOST 0x00100000
#define HTTP_LOG_FIELD_SUB_STATUS 0x00200000 #define HTTP_LOG_FIELD_SUB_STATUS 0x00200000
#define HTTP_LOG_FIELD_STREAM_ID 0x08000000
// //
// Fields that are used only for error logging. // Fields that are used only for error logging.
// //
#define HTTP_LOG_FIELD_CLIENT_PORT 0x00400000 #define HTTP_LOG_FIELD_CLIENT_PORT 0x00400000
#define HTTP_LOG_FIELD_URI 0x00800000 #define HTTP_LOG_FIELD_URI 0x00800000
#define HTTP_LOG_FIELD_SITE_ID 0x01000000 #define HTTP_LOG_FIELD_SITE_ID 0x01000000
#define HTTP_LOG_FIELD_REASON 0x02000000 #define HTTP_LOG_FIELD_REASON 0x02000000
#define HTTP_LOG_FIELD_QUEUE_NAME 0x04000000 #define HTTP_LOG_FIELD_QUEUE_NAME 0x04000000
skipping to change at line 900 skipping to change at line 914
} HTTP_VERSION, *PHTTP_VERSION; } HTTP_VERSION, *PHTTP_VERSION;
// //
// Some useful macros for HTTP protocol version manipulation. // Some useful macros for HTTP protocol version manipulation.
// //
#define HTTP_VERSION_UNKNOWN { 0, 0 } #define HTTP_VERSION_UNKNOWN { 0, 0 }
#define HTTP_VERSION_0_9 { 0, 9 } #define HTTP_VERSION_0_9 { 0, 9 }
#define HTTP_VERSION_1_0 { 1, 0 } #define HTTP_VERSION_1_0 { 1, 0 }
#define HTTP_VERSION_1_1 { 1, 1 } #define HTTP_VERSION_1_1 { 1, 1 }
#define HTTP_VERSION_2_0 { 2, 0 }
#define HTTP_SET_VERSION(version, major, minor) \ #define HTTP_SET_VERSION(version, major, minor) \
do { \ do { \
(version).MajorVersion = (major); \ (version).MajorVersion = (major); \
(version).MinorVersion = (minor); \ (version).MinorVersion = (minor); \
} while (0, 0) } while (0, 0)
#define HTTP_EQUAL_VERSION(version, major, minor) \ #define HTTP_EQUAL_VERSION(version, major, minor) \
((version).MajorVersion == (major) && \ ((version).MajorVersion == (major) && \
(version).MinorVersion == (minor)) (version).MinorVersion == (minor))
skipping to change at line 1405 skipping to change at line 1420
ULONG ServerCertSubjectSize; ULONG ServerCertSubjectSize;
PCSTR pServerCertIssuer; PCSTR pServerCertIssuer;
PCSTR pServerCertSubject; PCSTR pServerCertSubject;
PHTTP_SSL_CLIENT_CERT_INFO pClientCertInfo; PHTTP_SSL_CLIENT_CERT_INFO pClientCertInfo;
ULONG SslClientCertNegotiated; ULONG SslClientCertNegotiated;
} HTTP_SSL_INFO, *PHTTP_SSL_INFO; } HTTP_SSL_INFO, *PHTTP_SSL_INFO;
//
// HttpRequestInfoTypeSslProtocol payload. Contains basic information about the
// SSL/TLS protocol and cipher. See SecPkgContext_ConnectionInfo documentation
// for details. This information is meant for statistics. Do not use this for
// security enforcement because by the time you check this the client may
// already have transmitted the information being protected (e.g. HTTP request
// headers).
//
typedef struct _HTTP_SSL_PROTOCOL_INFO
{
ULONG Protocol;
ULONG CipherType;
ULONG CipherStrength;
ULONG HashType;
ULONG HashStrength;
ULONG KeyExchangeType;
ULONG KeyExchangeStrength;
} HTTP_SSL_PROTOCOL_INFO, *PHTTP_SSL_PROTOCOL_INFO;
#if _WIN32_WINNT >= 0x0600 #if _WIN32_WINNT >= 0x0600
// //
// Generic request information type. // Generic request information type.
// //
typedef enum _HTTP_REQUEST_INFO_TYPE typedef enum _HTTP_REQUEST_INFO_TYPE
{ {
HttpRequestInfoTypeAuth, HttpRequestInfoTypeAuth,
HttpRequestInfoTypeChannelBind HttpRequestInfoTypeChannelBind,
HttpRequestInfoTypeSslProtocol,
HttpRequestInfoTypeSslTokenBinding
} HTTP_REQUEST_INFO_TYPE, *PHTTP_REQUEST_INFO_TYPE; } HTTP_REQUEST_INFO_TYPE, *PHTTP_REQUEST_INFO_TYPE;
typedef struct _HTTP_REQUEST_INFO typedef struct _HTTP_REQUEST_INFO
{ {
HTTP_REQUEST_INFO_TYPE InfoType; HTTP_REQUEST_INFO_TYPE InfoType;
ULONG InfoLength; ULONG InfoLength;
PVOID pInfo; PVOID pInfo;
} HTTP_REQUEST_INFO, *PHTTP_REQUEST_INFO; } HTTP_REQUEST_INFO, *PHTTP_REQUEST_INFO;
skipping to change at line 1649 skipping to change at line 1687
// //
// Values for HTTP_REQUEST::Flags. Zero or more of these may be ORed together. // Values for HTTP_REQUEST::Flags. Zero or more of these may be ORed together.
// //
// HTTP_REQUEST_FLAG_MORE_ENTITY_BODY_EXISTS - there is more entity body // HTTP_REQUEST_FLAG_MORE_ENTITY_BODY_EXISTS - there is more entity body
// to be read for this request. Otherwise, there is no entity body or // to be read for this request. Otherwise, there is no entity body or
// all of the entity body was copied into pEntityChunks. // all of the entity body was copied into pEntityChunks.
// HTTP_REQUEST_FLAG_IP_ROUTED - This flag indicates that the request has been // HTTP_REQUEST_FLAG_IP_ROUTED - This flag indicates that the request has been
// routed based on host plus ip or ip binding.This is a hint for the application // routed based on host plus ip or ip binding.This is a hint for the application
// to include the local ip while flushing kernel cache entries build for this // to include the local ip while flushing kernel cache entries build for this
// request if any. // request if any.
// HTTP_REQUEST_FLAG_HTTP2 - Indicates the request was received over HTTP/2.
// //
#define HTTP_REQUEST_FLAG_MORE_ENTITY_BODY_EXISTS 0x00000001 #define HTTP_REQUEST_FLAG_MORE_ENTITY_BODY_EXISTS 0x00000001
#define HTTP_REQUEST_FLAG_IP_ROUTED 0x00000002 #define HTTP_REQUEST_FLAG_IP_ROUTED 0x00000002
#define HTTP_REQUEST_FLAG_HTTP2 0x00000004
// //
// This structure describes an HTTP response. // This structure describes an HTTP response.
// //
typedef struct _HTTP_RESPONSE_V1 typedef struct _HTTP_RESPONSE_V1
{ {
// //
// Response flags (see HTTP_RESPONSE_FLAG_* definitions below). // Response flags (see HTTP_RESPONSE_FLAG_* definitions below).
// //
skipping to change at line 2011 skipping to change at line 2051
DWORD DefaultFlags; DWORD DefaultFlags;
} HTTP_SERVICE_CONFIG_SSL_PARAM, *PHTTP_SERVICE_CONFIG_SSL_PARAM; } HTTP_SERVICE_CONFIG_SSL_PARAM, *PHTTP_SERVICE_CONFIG_SSL_PARAM;
#define HTTP_SERVICE_CONFIG_SSL_FLAG_USE_DS_MAPPER 0x00000001 #define HTTP_SERVICE_CONFIG_SSL_FLAG_USE_DS_MAPPER 0x00000001
#define HTTP_SERVICE_CONFIG_SSL_FLAG_NEGOTIATE_CLIENT_CERT 0x00000002 #define HTTP_SERVICE_CONFIG_SSL_FLAG_NEGOTIATE_CLIENT_CERT 0x00000002
#if _WIN32_WINNT < 0x0600 #if _WIN32_WINNT < 0x0600
#define HTTP_SERVICE_CONFIG_SSL_FLAG_NO_RAW_FILTER 0x00000004 #define HTTP_SERVICE_CONFIG_SSL_FLAG_NO_RAW_FILTER 0x00000004
#endif // _WIN32_WINNT < 0x0600 #endif // _WIN32_WINNT < 0x0600
#define HTTP_SERVICE_CONFIG_SSL_FLAG_REJECT 0x00000008
// //
// These data structures are used by HttpSetServiceConfiguration() to add a new // These data structures are used by HttpSetServiceConfiguration() to add a new
// record to the SSL bindings list. // record to the SSL bindings list.
// //
// ConfigId | Structure // ConfigId | Structure
// --------------------------------+--------------------------------- // --------------------------------+---------------------------------
// HttpServiceConfigSSLCertInfo | HTTP_SERVICE_CONFIG_SSL_SET // HttpServiceConfigSSLCertInfo | HTTP_SERVICE_CONFIG_SSL_SET
// HttpServiceConfigSslSniCertInfo | HTTP_SERVICE_CONFIG_SSL_SNI_SET // HttpServiceConfigSslSniCertInfo | HTTP_SERVICE_CONFIG_SSL_SNI_SET
// HttpServiceConfigSslCcsCertInfo | HTTP_SERVICE_CONFIG_SSL_CCS_SET // HttpServiceConfigSslCcsCertInfo | HTTP_SERVICE_CONFIG_SSL_CCS_SET
skipping to change at line 2251 skipping to change at line 2292
// HttpCreateRequestQueue() API must be used. // HttpCreateRequestQueue() API must be used.
// //
// Use CloseHandle() to release the handles returned by // Use CloseHandle() to release the handles returned by
// HttpCreateHttpHandle() API. // HttpCreateHttpHandle() API.
// //
HTTPAPI_LINKAGE HTTPAPI_LINKAGE
ULONG ULONG
WINAPI WINAPI
HttpCreateHttpHandle( HttpCreateHttpHandle(
OUT PHANDLE pReqQueueHandle, OUT PHANDLE RequestQueueHandle,
_Reserved_ ULONG Reserved _Reserved_ ULONG Reserved
); );
#if _WIN32_WINNT >= 0x0600 #if _WIN32_WINNT >= 0x0600
// //
// Extended Request Queue manipulation APIs. // Extended Request Queue manipulation APIs.
// //
// Use HttpCloseRequestQueue() API to close the handles // Use HttpCloseRequestQueue() API to close the handles
// created by the HttpCreateRequestQueue API. // created by the HttpCreateRequestQueue API.
// //
HTTPAPI_LINKAGE HTTPAPI_LINKAGE
ULONG ULONG
WINAPI WINAPI
HttpCreateRequestQueue( HttpCreateRequestQueue(
IN HTTPAPI_VERSION Version, IN HTTPAPI_VERSION Version,
IN PCWSTR pName OPTIONAL, IN PCWSTR Name OPTIONAL,
IN PSECURITY_ATTRIBUTES pSecurityAttributes OPTIONAL, IN PSECURITY_ATTRIBUTES SecurityAttributes OPTIONAL,
IN ULONG Flags OPTIONAL, IN ULONG Flags OPTIONAL,
OUT PHANDLE pReqQueueHandle OUT PHANDLE RequestQueueHandle
); );
HTTPAPI_LINKAGE HTTPAPI_LINKAGE
ULONG ULONG
WINAPI WINAPI
HttpCloseRequestQueue( HttpCloseRequestQueue(
IN HANDLE ReqQueueHandle IN HANDLE RequestQueueHandle
); );
HTTPAPI_LINKAGE HTTPAPI_LINKAGE
ULONG ULONG
WINAPI WINAPI
HttpSetRequestQueueProperty( HttpSetRequestQueueProperty(
IN HANDLE Handle, IN HANDLE RequestQueueHandle,
IN HTTP_SERVER_PROPERTY Property, IN HTTP_SERVER_PROPERTY Property,
_In_reads_bytes_(PropertyInformationLength) IN PVOID pPropertyInformation, _In_reads_bytes_(PropertyInformationLength) PVOID PropertyInformation,
IN ULONG PropertyInformationLength, IN ULONG PropertyInformationLength,
_Reserved_ IN ULONG Reserved, _Reserved_ IN ULONG Reserved1,
_Reserved_ IN PVOID pReserved _Reserved_ IN PVOID Reserved2
); );
HTTPAPI_LINKAGE HTTPAPI_LINKAGE
ULONG ULONG
WINAPI WINAPI
HttpQueryRequestQueueProperty( HttpQueryRequestQueueProperty(
IN HANDLE Handle, IN HANDLE RequestQueueProperty,
IN HTTP_SERVER_PROPERTY Property, IN HTTP_SERVER_PROPERTY Property,
_Out_writes_bytes_to_opt_(PropertyInformationLength, *pReturnLength) _Out_writes_bytes_to_opt_(PropertyInformationLength, *ReturnLength) PVOID Pr
OUT PVOID pPropertyInformation, opertyInformation,
IN ULONG PropertyInformationLength, IN ULONG PropertyInformationLength,
_Reserved_ IN ULONG Reserved, _Reserved_ IN ULONG Reserved1,
_Out_opt_ OUT PULONG pReturnLength OPTIONAL, _Out_opt_ PULONG ReturnLength OPTIONAL,
_Reserved_ IN PVOID pReserved _Reserved_ IN PVOID Reserved2
); );
HTTPAPI_LINKAGE HTTPAPI_LINKAGE
ULONG ULONG
WINAPI WINAPI
HttpShutdownRequestQueue( HttpShutdownRequestQueue(
IN HANDLE ReqQueueHandle IN HANDLE RequestQueueHandle
); );
#endif // _WIN32_WINNT >= 0x0600 #endif // _WIN32_WINNT >= 0x0600
// //
// SSL APIs. // SSL APIs.
// //
HTTPAPI_LINKAGE HTTPAPI_LINKAGE
ULONG ULONG
WINAPI WINAPI
HttpReceiveClientCertificate( HttpReceiveClientCertificate(
IN HANDLE ReqQueueHandle, IN HANDLE RequestQueueHandle,
IN HTTP_CONNECTION_ID ConnectionId, IN HTTP_CONNECTION_ID ConnectionId,
IN ULONG Flags, IN ULONG Flags,
_Out_writes_bytes_to_(SslClientCertInfoSize, *pBytesReceived) _Out_writes_bytes_to_(SslClientCertInfoSize, *BytesReceived) PHTTP_SSL_CLIEN
OUT PHTTP_SSL_CLIENT_CERT_INFO pSslClientCertInfo, T_CERT_INFO SslClientCertInfo,
IN ULONG SslClientCertInfoSize, IN ULONG SslClientCertInfoSize,
_Out_opt_ OUT PULONG pBytesReceived OPTIONAL, _Out_opt_ PULONG BytesReceived,
IN LPOVERLAPPED pOverlapped OPTIONAL IN LPOVERLAPPED Overlapped OPTIONAL
); );
#if _WIN32_WINNT >= 0x0600 #if _WIN32_WINNT >= 0x0600
// //
// Server Session APIs. // Server Session APIs.
// //
HTTPAPI_LINKAGE HTTPAPI_LINKAGE
ULONG ULONG
WINAPI WINAPI
HttpCreateServerSession( HttpCreateServerSession(
IN HTTPAPI_VERSION Version, IN HTTPAPI_VERSION Version,
OUT PHTTP_SERVER_SESSION_ID pServerSessionId, OUT PHTTP_SERVER_SESSION_ID ServerSessionId,
_Reserved_ IN ULONG Reserved _Reserved_ IN ULONG Reserved
); );
HTTPAPI_LINKAGE HTTPAPI_LINKAGE
ULONG ULONG
WINAPI WINAPI
HttpCloseServerSession( HttpCloseServerSession(
IN HTTP_SERVER_SESSION_ID ServerSessionId IN HTTP_SERVER_SESSION_ID ServerSessionId
); );
HTTPAPI_LINKAGE HTTPAPI_LINKAGE
_Success_(return == NO_ERROR)
ULONG ULONG
WINAPI WINAPI
HttpQueryServerSessionProperty( HttpQueryServerSessionProperty(
IN HTTP_SERVER_SESSION_ID ServerSessionId, IN HTTP_SERVER_SESSION_ID ServerSessionId,
IN HTTP_SERVER_PROPERTY Property, IN HTTP_SERVER_PROPERTY Property,
_Out_writes_bytes_to_opt_(PropertyInformationLength, *pReturnLength) _Out_writes_bytes_to_opt_(PropertyInformationLength, *ReturnLength) PVOID Pr
OUT PVOID pPropertyInformation, opertyInformation,
IN ULONG PropertyInformationLength, IN ULONG PropertyInformationLength,
_Out_opt_ OUT PULONG pReturnLength OPTIONAL _Out_opt_ PULONG ReturnLength
); );
HTTPAPI_LINKAGE HTTPAPI_LINKAGE
ULONG ULONG
WINAPI WINAPI
HttpSetServerSessionProperty( HttpSetServerSessionProperty(
IN HTTP_SERVER_SESSION_ID ServerSessionId, IN HTTP_SERVER_SESSION_ID ServerSessionId,
IN HTTP_SERVER_PROPERTY Property, IN HTTP_SERVER_PROPERTY Property,
_In_reads_bytes_(PropertyInformationLength) IN PVOID pPropertyInformation, _In_reads_bytes_(PropertyInformationLength) PVOID PropertyInformation,
IN ULONG PropertyInformationLength IN ULONG PropertyInformationLength
); );
#endif // _WIN32_WINNT >= 0x0600 #endif // _WIN32_WINNT >= 0x0600
// //
// Url Configuration APIs. Can only be used for V1 request queues. // Url Configuration APIs. Can only be used for V1 request queues.
// //
HTTPAPI_LINKAGE HTTPAPI_LINKAGE
ULONG ULONG
WINAPI WINAPI
HttpAddUrl( HttpAddUrl(
IN HANDLE ReqQueueHandle, IN HANDLE RequestQueueHandle,
IN PCWSTR pFullyQualifiedUrl, IN PCWSTR FullyQualifiedUrl,
_Reserved_ PVOID pReserved _Reserved_ PVOID Reserved
); );
HTTPAPI_LINKAGE HTTPAPI_LINKAGE
ULONG ULONG
WINAPI WINAPI
HttpRemoveUrl( HttpRemoveUrl(
IN HANDLE ReqQueueHandle, IN HANDLE RequestQueueHandle,
IN PCWSTR pFullyQualifiedUrl IN PCWSTR FullyQualifiedUrl
); );
#if _WIN32_WINNT >= 0x0600 #if _WIN32_WINNT >= 0x0600
// //
// Url Group APIs. // Url Group APIs.
// //
HTTPAPI_LINKAGE HTTPAPI_LINKAGE
ULONG ULONG
skipping to change at line 2449 skipping to change at line 2488
IN PCWSTR pFullyQualifiedUrl, IN PCWSTR pFullyQualifiedUrl,
IN ULONG Flags IN ULONG Flags
); );
HTTPAPI_LINKAGE HTTPAPI_LINKAGE
ULONG ULONG
WINAPI WINAPI
HttpSetUrlGroupProperty( HttpSetUrlGroupProperty(
IN HTTP_URL_GROUP_ID UrlGroupId, IN HTTP_URL_GROUP_ID UrlGroupId,
IN HTTP_SERVER_PROPERTY Property, IN HTTP_SERVER_PROPERTY Property,
_In_reads_bytes_(PropertyInformationLength) IN PVOID pPropertyInformation, _In_reads_bytes_(PropertyInformationLength) PVOID PropertyInformation,
IN ULONG PropertyInformationLength IN ULONG PropertyInformationLength
); );
HTTPAPI_LINKAGE HTTPAPI_LINKAGE
_Success_(return == NO_ERROR)
ULONG ULONG
WINAPI WINAPI
HttpQueryUrlGroupProperty( HttpQueryUrlGroupProperty(
IN HTTP_URL_GROUP_ID UrlGroupId, IN HTTP_URL_GROUP_ID UrlGroupId,
IN HTTP_SERVER_PROPERTY Property, IN HTTP_SERVER_PROPERTY Property,
_Out_writes_bytes_to_opt_(PropertyInformationLength, *pReturnLength) _Out_writes_bytes_to_opt_(PropertyInformationLength, *ReturnLength) PVOID Pr
OUT PVOID pPropertyInformation, opertyInformation,
IN ULONG PropertyInformationLength, IN ULONG PropertyInformationLength,
_Out_opt_ OUT PULONG pReturnLength OPTIONAL _Out_opt_ PULONG ReturnLength
); );
#endif // _WIN32_WINNT >= 0x0600 #endif // _WIN32_WINNT >= 0x0600
#if _WIN32_WINNT >= _WIN32_WINNT_WIN8 #if _WIN32_WINNT >= _WIN32_WINNT_WIN8
HTTPAPI_LINKAGE HTTPAPI_LINKAGE
ULONG ULONG
WINAPI WINAPI
HttpPrepareUrl( HttpPrepareUrl(
skipping to change at line 2489 skipping to change at line 2528
#endif #endif
// //
// HTTP Server I/O APIs. // HTTP Server I/O APIs.
// //
HTTPAPI_LINKAGE HTTPAPI_LINKAGE
ULONG ULONG
WINAPI WINAPI
HttpReceiveHttpRequest( HttpReceiveHttpRequest(
IN HANDLE ReqQueueHandle, IN HANDLE RequestQueueHandle,
IN HTTP_REQUEST_ID RequestId, IN HTTP_REQUEST_ID RequestId,
IN ULONG Flags, IN ULONG Flags,
_Out_writes_bytes_to_(RequestBufferLength, *pBytesReturned) _Out_writes_bytes_to_(RequestBufferLength, *BytesReturned) PHTTP_REQUEST Req
OUT PHTTP_REQUEST pRequestBuffer, uestBuffer,
IN ULONG RequestBufferLength, IN ULONG RequestBufferLength,
_Out_opt_ OUT PULONG pBytesReturned OPTIONAL, _Out_opt_ PULONG BytesReturned,
IN LPOVERLAPPED pOverlapped OPTIONAL IN LPOVERLAPPED Overlapped OPTIONAL
); );
HTTPAPI_LINKAGE HTTPAPI_LINKAGE
ULONG ULONG
WINAPI WINAPI
HttpReceiveRequestEntityBody( HttpReceiveRequestEntityBody(
IN HANDLE ReqQueueHandle, IN HANDLE RequestQueueHandle,
IN HTTP_REQUEST_ID RequestId, IN HTTP_REQUEST_ID RequestId,
IN ULONG Flags, IN ULONG Flags,
_Out_writes_bytes_to_(EntityBufferLength, *pBytesReturned) PVOID pBuffer, _Out_writes_bytes_to_(EntityBufferLength, *BytesReturned) PVOID EntityBuffer ,
IN ULONG EntityBufferLength, IN ULONG EntityBufferLength,
_Out_opt_ OUT PULONG pBytesReturned OPTIONAL, _Out_opt_ PULONG BytesReturned,
IN LPOVERLAPPED pOverlapped OPTIONAL IN LPOVERLAPPED Overlapped OPTIONAL
); );
#if _WIN32_WINNT >= 0x0600 #if _WIN32_WINNT >= 0x0600
HTTPAPI_LINKAGE HTTPAPI_LINKAGE
ULONG ULONG
WINAPI WINAPI
HttpSendHttpResponse( HttpSendHttpResponse(
IN HANDLE ReqQueueHandle, IN HANDLE RequestQueueHandle,
IN HTTP_REQUEST_ID RequestId, IN HTTP_REQUEST_ID RequestId,
IN ULONG Flags, IN ULONG Flags,
IN PHTTP_RESPONSE pHttpResponse, IN PHTTP_RESPONSE HttpResponse,
IN PHTTP_CACHE_POLICY pCachePolicy OPTIONAL, IN PHTTP_CACHE_POLICY CachePolicy OPTIONAL,
OUT PULONG pBytesSent OPTIONAL, OUT PULONG BytesSent OPTIONAL,
_Reserved_ PVOID pReserved1, // must be NULL _Reserved_ PVOID Reserved1,
_Reserved_ ULONG Reserved2, // must be 0 _Reserved_ ULONG Reserved2,
IN LPOVERLAPPED pOverlapped OPTIONAL, IN LPOVERLAPPED Overlapped OPTIONAL,
IN PHTTP_LOG_DATA pLogData OPTIONAL IN PHTTP_LOG_DATA LogData OPTIONAL
); );
#else // _WIN32_WINNT >= 0x0600 #else // _WIN32_WINNT >= 0x0600
HTTPAPI_LINKAGE HTTPAPI_LINKAGE
ULONG ULONG
WINAPI WINAPI
HttpSendHttpResponse( HttpSendHttpResponse(
IN HANDLE ReqQueueHandle, IN HANDLE ReqQueueHandle,
IN HTTP_REQUEST_ID RequestId, IN HTTP_REQUEST_ID RequestId,
skipping to change at line 2556 skipping to change at line 2594
); );
#endif // _WIN32_WINNT >= 0x0600 #endif // _WIN32_WINNT >= 0x0600
#if _WIN32_WINNT >= 0x0600 #if _WIN32_WINNT >= 0x0600
HTTPAPI_LINKAGE HTTPAPI_LINKAGE
ULONG ULONG
WINAPI WINAPI
HttpSendResponseEntityBody( HttpSendResponseEntityBody(
IN HANDLE ReqQueueHandle, IN HANDLE RequestQueueHandle,
IN HTTP_REQUEST_ID RequestId, IN HTTP_REQUEST_ID RequestId,
IN ULONG Flags, IN ULONG Flags,
IN USHORT EntityChunkCount OPTIONAL, IN USHORT EntityChunkCount OPTIONAL,
_In_reads_opt_(EntityChunkCount) _In_reads_opt_(EntityChunkCount) PHTTP_DATA_CHUNK EntityChunks,
IN PHTTP_DATA_CHUNK pEntityChunks OPTIONAL, OUT PULONG BytesSent OPTIONAL,
OUT PULONG pBytesSent OPTIONAL, _Reserved_ PVOID Reserved1 OPTIONAL,
_Reserved_ PVOID pReserved1 OPTIONAL, // must be NULL _Reserved_ ULONG Reserved2 OPTIONAL,
_Reserved_ ULONG Reserved2 OPTIONAL, // must be 0 IN LPOVERLAPPED Overlapped OPTIONAL,
IN LPOVERLAPPED pOverlapped OPTIONAL, IN PHTTP_LOG_DATA LogData OPTIONAL
IN PHTTP_LOG_DATA pLogData OPTIONAL
); );
#else // _WIN32_WINNT >= 0x0600 #else // _WIN32_WINNT >= 0x0600
HTTPAPI_LINKAGE HTTPAPI_LINKAGE
ULONG ULONG
WINAPI WINAPI
HttpSendResponseEntityBody( HttpSendResponseEntityBody(
IN HANDLE ReqQueueHandle, IN HANDLE ReqQueueHandle,
IN HTTP_REQUEST_ID RequestId, IN HTTP_REQUEST_ID RequestId,
skipping to change at line 2593 skipping to change at line 2630
_Reserved_ ULONG Reserved2 OPTIONAL, // must be 0 _Reserved_ ULONG Reserved2 OPTIONAL, // must be 0
IN LPOVERLAPPED pOverlapped OPTIONAL, IN LPOVERLAPPED pOverlapped OPTIONAL,
IN PVOID pReserved3 OPTIONAL // must be NULL IN PVOID pReserved3 OPTIONAL // must be NULL
); );
#endif // _WIN32_WINNT >= 0x0600 #endif // _WIN32_WINNT >= 0x0600
HTTPAPI_LINKAGE HTTPAPI_LINKAGE
ULONG ULONG
WINAPI WINAPI
HttpDeclarePush(
_In_ HANDLE RequestQueueHandle,
_In_ HTTP_REQUEST_ID RequestId,
_In_ HTTP_VERB Verb,
_In_ PCWSTR Path,
_In_opt_ PCSTR Query,
_In_opt_ PHTTP_REQUEST_HEADERS Headers
);
HTTPAPI_LINKAGE
ULONG
WINAPI
HttpWaitForDisconnect( HttpWaitForDisconnect(
IN HANDLE ReqQueueHandle, IN HANDLE RequestQueueHandle,
IN HTTP_CONNECTION_ID ConnectionId, IN HTTP_CONNECTION_ID ConnectionId,
IN LPOVERLAPPED pOverlapped OPTIONAL IN LPOVERLAPPED Overlapped OPTIONAL
); );
#if _WIN32_WINNT >= 0x0600 #if _WIN32_WINNT >= 0x0600
HTTPAPI_LINKAGE HTTPAPI_LINKAGE
ULONG ULONG
WINAPI WINAPI
HttpWaitForDisconnectEx( HttpWaitForDisconnectEx(
IN HANDLE ReqQueueHandle, IN HANDLE RequestQueueHandle,
IN HTTP_CONNECTION_ID ConnectionId, IN HTTP_CONNECTION_ID ConnectionId,
_Reserved_ IN ULONG Reserved OPTIONAL, _Reserved_ IN ULONG Reserved OPTIONAL,
IN LPOVERLAPPED pOverlapped OPTIONAL IN LPOVERLAPPED Overlapped OPTIONAL
); );
HTTPAPI_LINKAGE HTTPAPI_LINKAGE
ULONG ULONG
WINAPI WINAPI
HttpCancelHttpRequest( HttpCancelHttpRequest(
IN HANDLE ReqQueueHandle, IN HANDLE RequestQueueHandle,
IN HTTP_REQUEST_ID RequestId, IN HTTP_REQUEST_ID RequestId,
IN LPOVERLAPPED pOverlapped OPTIONAL IN LPOVERLAPPED Overlapped OPTIONAL
); );
HTTPAPI_LINKAGE HTTPAPI_LINKAGE
ULONG ULONG
WINAPI WINAPI
HttpWaitForDemandStart( HttpWaitForDemandStart(
IN HANDLE ReqQueueHandle, IN HANDLE RequestQueueHandle,
IN LPOVERLAPPED pOverlapped OPTIONAL IN LPOVERLAPPED Overlapped OPTIONAL
); );
#endif // _WIN32_WINNT >= 0x0600 #endif // _WIN32_WINNT >= 0x0600
// //
// Cache manipulation APIs. // Cache manipulation APIs.
// //
HTTPAPI_LINKAGE HTTPAPI_LINKAGE
ULONG ULONG
WINAPI WINAPI
HttpFlushResponseCache( HttpFlushResponseCache(
IN HANDLE ReqQueueHandle, IN HANDLE RequestQueueHandle,
IN PCWSTR pUrlPrefix, IN PCWSTR UrlPrefix,
IN ULONG Flags, IN ULONG Flags,
IN LPOVERLAPPED pOverlapped OPTIONAL IN LPOVERLAPPED Overlapped OPTIONAL
); );
HTTPAPI_LINKAGE HTTPAPI_LINKAGE
ULONG ULONG
WINAPI WINAPI
HttpAddFragmentToCache( HttpAddFragmentToCache(
IN HANDLE ReqQueueHandle, IN HANDLE RequestQueueHandle,
IN PCWSTR pUrlPrefix, IN PCWSTR UrlPrefix,
IN PHTTP_DATA_CHUNK pDataChunk, IN PHTTP_DATA_CHUNK DataChunk,
IN PHTTP_CACHE_POLICY pCachePolicy, IN PHTTP_CACHE_POLICY CachePolicy,
IN LPOVERLAPPED pOverlapped OPTIONAL IN LPOVERLAPPED Overlapped OPTIONAL
); );
HTTPAPI_LINKAGE HTTPAPI_LINKAGE
ULONG ULONG
WINAPI WINAPI
HttpReadFragmentFromCache( HttpReadFragmentFromCache(
IN HANDLE ReqQueueHandle, IN HANDLE RequestQueueHandle,
IN PCWSTR pUrlPrefix, IN PCWSTR UrlPrefix,
IN PHTTP_BYTE_RANGE pByteRange OPTIONAL, IN PHTTP_BYTE_RANGE ByteRange OPTIONAL,
_Out_writes_bytes_to_(BufferLength, *pBytesRead) PVOID pBuffer, _Out_writes_bytes_to_(BufferLength, *BytesRead) PVOID Buffer,
IN ULONG BufferLength, IN ULONG BufferLength,
_Out_opt_ PULONG pBytesRead, _Out_opt_ PULONG BytesRead,
IN LPOVERLAPPED pOverlapped OPTIONAL IN LPOVERLAPPED Overlapped OPTIONAL
); );
// //
// Server configuration APIs // Server configuration APIs
// //
HTTPAPI_LINKAGE HTTPAPI_LINKAGE
ULONG ULONG
WINAPI WINAPI
HttpSetServiceConfiguration( HttpSetServiceConfiguration(
 End of changes. 68 change blocks. 
95 lines changed or deleted 148 lines changed or added

This html diff was produced by rfcdiff 1.41.