| http.h (6.1.7601.17514-Windows_7.0) | | http.h (6.3.9600.17415-Windows_8.1) |
| | |
| skipping to change at line 22 | | skipping to change at line 22 |
| This header corresponds to the HTTP API specification | | This header corresponds to the HTTP API specification |
| | |
| Revision History: | | Revision History: |
| | |
| --*/ | | --*/ |
| | |
| #ifndef __HTTP_H__ | | #ifndef __HTTP_H__ |
| #define __HTTP_H__ | | #define __HTTP_H__ |
| | |
| #pragma once | | #pragma once |
|
| | #include <winapifamily.h> |
| | |
| | #pragma region Desktop Family |
| | #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) |
| | |
| #if _WIN32_WINNT >= 0x0501 | | #if _WIN32_WINNT >= 0x0501 |
| | |
| // | | // |
| // HTTPAPI is available on | | // HTTPAPI is available on |
| // | | // |
| // a) WinXP SP2 and higher | | // a) WinXP SP2 and higher |
| // b) Windows 2003 and higher | | // b) Windows 2003 and higher |
| // c) Vista and higher. | | // c) Vista and higher. |
| // | | // |
| | |
| skipping to change at line 43 | | skipping to change at line 47 |
| #include <winsock2.h> | | #include <winsock2.h> |
| #include <ws2tcpip.h> | | #include <ws2tcpip.h> |
| | |
| #ifdef __cplusplus | | #ifdef __cplusplus |
| extern "C" { | | extern "C" { |
| #endif // __cplusplus | | #endif // __cplusplus |
| | |
| // | | // |
| // Flags for HttpInitialize() and HttpTerminate(). | | // Flags for HttpInitialize() and HttpTerminate(). |
| // | | // |
|
| | | |
| // | | // |
| // HTTP_INITIALIZE_SERVER - Initializes the HTTP API layer and driver for | | // HTTP_INITIALIZE_SERVER - Initializes the HTTP API layer and driver for |
| // applications using server APIs. | | // applications using server APIs. |
| // | | // |
| // HTTP_INITIALIZE_CONFIG - Initializes the HTTP API layer and driver for | | // HTTP_INITIALIZE_CONFIG - Initializes the HTTP API layer and driver for |
| // applications using HTTP configuration APIs. | | // applications using HTTP configuration APIs. |
| // | | // |
|
| | // HTTP_DEMAND_CBT - Pre-Win7, it checks HTTP API layer and driver for |
| | // Extended Protection capabilities. |
| | // On Win7 and above, this flag has no use and is |
| | // present only for app-compat reasons. |
| | // It must be combined with HTTP_INITIALIZE_SERVER. |
| // | | // |
| // Notes - | | // Notes - |
| // | | // |
| // 1. These flags can be used in combination. | | // 1. These flags can be used in combination. |
| // | | // |
| // 2. HttpTerminate() must be called for each call to HttpInitialize() made | | // 2. HttpTerminate() must be called for each call to HttpInitialize() made |
| // with each flag set when invoking HttpInitialize. For example, one | | // with each flag set when invoking HttpInitialize. For example, one |
| // could make two calls to HttpInitialize() setting HTTP_INITIALIZE_SERVER | | // could make two calls to HttpInitialize() setting HTTP_INITIALIZE_SERVER |
| // the first time and HTTP_INITIALIZE_CONFIG the second time. One call | | // the first time and HTTP_INITIALIZE_CONFIG the second time. One call |
| // to HttpTerminate() with both flags set suffices to clean up both | | // to HttpTerminate() with both flags set suffices to clean up both |
| // calls to HttpInitialize(). | | // calls to HttpInitialize(). |
| // | | // |
| | |
| #define HTTP_INITIALIZE_SERVER 0x00000001 | | #define HTTP_INITIALIZE_SERVER 0x00000001 |
| #define HTTP_INITIALIZE_CONFIG 0x00000002 | | #define HTTP_INITIALIZE_CONFIG 0x00000002 |
|
| | #define HTTP_DEMAND_CBT 0x00000004 |
| | |
| #if _WIN32_WINNT >= 0x0600 | | #if _WIN32_WINNT >= 0x0600 |
| | |
| // | | // |
| // 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 |
| { | | { |
| | |
| skipping to change at line 135 | | skipping to change at line 144 |
| // | | // |
| // Extended authentication property. | | // Extended authentication property. |
| // | | // |
| | |
| HttpServerExtendedAuthenticationProperty, | | HttpServerExtendedAuthenticationProperty, |
| | |
| // | | // |
| // Listening endpoint property. | | // Listening endpoint property. |
| // | | // |
| | |
|
| HttpServerListenEndpointProperty | | HttpServerListenEndpointProperty, |
| | |
| // | | // |
| // Authentication channel binding property | | // Authentication channel binding property |
| // | | // |
| | |
|
| #endif | | HttpServerChannelBindProperty, |
| #if _WIN32_WINNT >= _WIN32_WINNT_WIN7 | | |
| | |
| ,HttpServerChannelBindProperty | | |
| | |
| // | | // |
| // IP Protection level policy for a Url Group. | | // IP Protection level policy for a Url Group. |
| // | | // |
| | |
|
| ,HttpServerProtectionLevelProperty | | HttpServerProtectionLevelProperty |
| #endif | | |
| #if _WIN32_WINNT >= 0x0600 | | |
| | |
| } 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 816 | | skipping to change at line 820 |
| // response to complete as soon as possible at the cost of buffering partial | | // response to complete as soon as possible at the cost of buffering partial |
| // or the entire response. | | // or the entire response. |
| // | | // |
| // HTTP_SEND_RESPONSE_FLAG_ENABLE_NAGLING - Specifies that a caller wants to | | // HTTP_SEND_RESPONSE_FLAG_ENABLE_NAGLING - Specifies that a caller wants to |
| // enable the TCP nagling algorithm for this particular send. | | // enable the TCP nagling algorithm for this particular send. |
| // | | // |
| // HTTP_SEND_RESPONSE_FLAG_PROCESS_RANGES - Specifies that for a range request | | // HTTP_SEND_RESPONSE_FLAG_PROCESS_RANGES - Specifies that for a range request |
| // a full response content is passed and a caller wants HTTP API to process | | // a full response content is passed and a caller wants HTTP API to process |
| // ranges properly. | | // ranges properly. |
| // | | // |
|
| | // HTTP_SEND_RESPONSE_FLAG_OPAQUE - Specifies that the request/response is not |
| | // HTTP compliant and all subsequent bytes should be treated as entity-body. |
| | // |
| | |
| #define HTTP_SEND_RESPONSE_FLAG_DISCONNECT 0x00000001 | | #define HTTP_SEND_RESPONSE_FLAG_DISCONNECT 0x00000001 |
| #define HTTP_SEND_RESPONSE_FLAG_MORE_DATA 0x00000002 | | #define HTTP_SEND_RESPONSE_FLAG_MORE_DATA 0x00000002 |
| #define HTTP_SEND_RESPONSE_FLAG_BUFFER_DATA 0x00000004 | | #define HTTP_SEND_RESPONSE_FLAG_BUFFER_DATA 0x00000004 |
| #define HTTP_SEND_RESPONSE_FLAG_ENABLE_NAGLING 0x00000008 | | #define HTTP_SEND_RESPONSE_FLAG_ENABLE_NAGLING 0x00000008 |
| #define HTTP_SEND_RESPONSE_FLAG_PROCESS_RANGES 0x00000020 | | #define HTTP_SEND_RESPONSE_FLAG_PROCESS_RANGES 0x00000020 |
|
| | #define HTTP_SEND_RESPONSE_FLAG_OPAQUE 0x00000040 |
| | |
| // | | // |
| // Flags for HttpFlushResponseCache(). | | // Flags for HttpFlushResponseCache(). |
| // | | // |
| // HTTP_FLUSH_RESPONSE_FLAG_RECURSIVE - Flushes the specified URL and all | | // HTTP_FLUSH_RESPONSE_FLAG_RECURSIVE - Flushes the specified URL and all |
| // hierarchally-related sub-URLs from the response or fragment cache. | | // hierarchally-related sub-URLs from the response or fragment cache. |
| // | | // |
| | |
| #define HTTP_FLUSH_RESPONSE_FLAG_RECURSIVE 0x00000001 | | #define HTTP_FLUSH_RESPONSE_FLAG_RECURSIVE 0x00000001 |
| | |
| | |
| skipping to change at line 1405 | | skipping to change at line 1413 |
| } HTTP_SSL_INFO, *PHTTP_SSL_INFO; | | } HTTP_SSL_INFO, *PHTTP_SSL_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 |
| #if _WIN32_WINNT >= _WIN32_WINNT_WIN7 | | |
| ,HttpRequestInfoTypeChannelBind | | |
| #endif | | |
| | |
| } 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 1710 | | skipping to change at line 1715 |
| // | | // |
| // HTTP_RESPONSE_FLAG_MULTIPLE_ENCODINGS_AVAILABLE - Set this flag if encodings | | // HTTP_RESPONSE_FLAG_MULTIPLE_ENCODINGS_AVAILABLE - Set this flag if encodings |
| // other than identity form are available for this resource.This flag is ignored | | // other than identity form are available for this resource.This flag is ignored |
| // if application has not asked for response to be cached. It's used as a hint | | // if application has not asked for response to be cached. It's used as a hint |
| // to the Http Server API for content negotiation used when serving from the | | // to the Http Server API for content negotiation used when serving from the |
| // the kernel response cache. | | // the kernel response cache. |
| // | | // |
| | |
| #define HTTP_RESPONSE_FLAG_MULTIPLE_ENCODINGS_AVAILABLE 0x00000001 | | #define HTTP_RESPONSE_FLAG_MULTIPLE_ENCODINGS_AVAILABLE 0x00000001 |
| | |
|
| // Vista | | |
| | | |
| typedef enum _HTTP_RESPONSE_INFO_TYPE | | typedef enum _HTTP_RESPONSE_INFO_TYPE |
| { | | { |
| HttpResponseInfoTypeMultipleKnownHeaders, | | HttpResponseInfoTypeMultipleKnownHeaders, |
| HttpResponseInfoTypeAuthenticationProperty, | | HttpResponseInfoTypeAuthenticationProperty, |
|
| HttpResponseInfoTypeQoSProperty | | HttpResponseInfoTypeQoSProperty, |
| | HttpResponseInfoTypeChannelBind |
| #if _WIN32_WINNT >= _WIN32_WINNT_WIN7 | | |
| ,HttpResponseInfoTypeChannelBind | | |
| #endif | | |
| | |
| } HTTP_RESPONSE_INFO_TYPE, PHTTP_RESPONSE_INFO_TYPE; | | } HTTP_RESPONSE_INFO_TYPE, PHTTP_RESPONSE_INFO_TYPE; |
| | |
| typedef struct _HTTP_RESPONSE_INFO | | typedef struct _HTTP_RESPONSE_INFO |
| { | | { |
| HTTP_RESPONSE_INFO_TYPE Type; | | HTTP_RESPONSE_INFO_TYPE Type; |
| ULONG Length; | | ULONG Length; |
| PVOID pInfo; | | PVOID pInfo; |
| } HTTP_RESPONSE_INFO, *PHTTP_RESPONSE_INFO; | | } HTTP_RESPONSE_INFO, *PHTTP_RESPONSE_INFO; |
| | |
| | |
| skipping to change at line 1891 | | skipping to change at line 1891 |
| // HttpQueryServiceConfiguration(), and HttpDeleteServiceConfiguration() APIs. | | // HttpQueryServiceConfiguration(), and HttpDeleteServiceConfiguration() APIs. |
| // | | // |
| | |
| typedef enum _HTTP_SERVICE_CONFIG_ID | | typedef enum _HTTP_SERVICE_CONFIG_ID |
| { | | { |
| HttpServiceConfigIPListenList, // Set, Query & Delete. | | HttpServiceConfigIPListenList, // Set, Query & Delete. |
| HttpServiceConfigSSLCertInfo, // Set, Query & Delete. | | HttpServiceConfigSSLCertInfo, // Set, Query & Delete. |
| HttpServiceConfigUrlAclInfo, // Set, Query & Delete. | | HttpServiceConfigUrlAclInfo, // Set, Query & Delete. |
| HttpServiceConfigTimeout, // Set, Query & Delete. | | HttpServiceConfigTimeout, // Set, Query & Delete. |
| HttpServiceConfigCache, // Set, Query & Delete. | | HttpServiceConfigCache, // Set, Query & Delete. |
|
| | |
| | #if _WIN32_WINNT >= _WIN32_WINNT_WIN8 |
| | |
| | HttpServiceConfigSslSniCertInfo, // Set, Query & Delete. |
| | HttpServiceConfigSslCcsCertInfo, // Set, Query & Delete. |
| | |
| | #endif |
| | |
| HttpServiceConfigMax | | HttpServiceConfigMax |
| | |
| } HTTP_SERVICE_CONFIG_ID, *PHTTP_SERVICE_CONFIG_ID; | | } HTTP_SERVICE_CONFIG_ID, *PHTTP_SERVICE_CONFIG_ID; |
| | |
| // | | // |
| // Generic Query enum that can be used with HttpQueryServiceConfiguration() | | // Generic Query enum that can be used with HttpQueryServiceConfiguration() |
| // | | // |
| | |
| typedef enum _HTTP_SERVICE_CONFIG_QUERY_TYPE | | typedef enum _HTTP_SERVICE_CONFIG_QUERY_TYPE |
| { | | { |
| HttpServiceConfigQueryExact, | | HttpServiceConfigQueryExact, |
| HttpServiceConfigQueryNext, | | HttpServiceConfigQueryNext, |
| HttpServiceConfigQueryMax | | HttpServiceConfigQueryMax |
| | |
| } HTTP_SERVICE_CONFIG_QUERY_TYPE, *PHTTP_SERVICE_CONFIG_QUERY_TYPE; | | } HTTP_SERVICE_CONFIG_QUERY_TYPE, *PHTTP_SERVICE_CONFIG_QUERY_TYPE; |
| | |
| // | | // |
|
| // This data structure is used to define a key of the SSL certificate hash | | // These data structures are used to define the key types of the various SSL |
| // store. | | // bindings. |
| // | | // |
| | |
| typedef struct _HTTP_SERVICE_CONFIG_SSL_KEY | | typedef struct _HTTP_SERVICE_CONFIG_SSL_KEY |
| { | | { |
| PSOCKADDR pIpPort; | | PSOCKADDR pIpPort; |
| } HTTP_SERVICE_CONFIG_SSL_KEY, *PHTTP_SERVICE_CONFIG_SSL_KEY; | | } HTTP_SERVICE_CONFIG_SSL_KEY, *PHTTP_SERVICE_CONFIG_SSL_KEY; |
| | |
|
| | #if _WIN32_WINNT >= _WIN32_WINNT_WIN8 |
| | |
| | typedef struct _HTTP_SERVICE_CONFIG_SSL_SNI_KEY |
| | { |
| | SOCKADDR_STORAGE IpPort; |
| | PWSTR Host; |
| | } HTTP_SERVICE_CONFIG_SSL_SNI_KEY, *PHTTP_SERVICE_CONFIG_SSL_SNI_KEY; |
| | |
| | typedef struct _HTTP_SERVICE_CONFIG_SSL_CCS_KEY |
| | { |
| | SOCKADDR_STORAGE LocalAddress; |
| | } HTTP_SERVICE_CONFIG_SSL_CCS_KEY, *PHTTP_SERVICE_CONFIG_SSL_CCS_KEY; |
| | |
| | #endif |
| | |
| // | | // |
| // This defines a record for the SSL config store. | | // This defines a record for the SSL config store. |
| // | | // |
| | |
| typedef struct _HTTP_SERVICE_CONFIG_SSL_PARAM | | typedef struct _HTTP_SERVICE_CONFIG_SSL_PARAM |
| { | | { |
| ULONG SslHashLength; // Length of the SSL hash (in bytes) | | ULONG SslHashLength; // Length of the SSL hash (in bytes) |
| PVOID pSslHash; // Pointer to the SSL hash | | PVOID pSslHash; // Pointer to the SSL hash |
| GUID AppId; // A unique identifier that can be used to | | GUID AppId; // A unique identifier that can be used to |
| // identify the app that has set this parameter | | // identify the app that has set this parameter |
| | |
| skipping to change at line 1990 | | skipping to change at line 2013 |
| | |
| } 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 |
| | |
| // | | // |
|
| // This data structure is used by HttpSetServiceConfiguration() for the | | // These data structures are used by HttpSetServiceConfiguration() to add a new |
| // config ID HttpServiceConfigSSLCertInfo. It's used to add a new record | | // record to the SSL bindings list. |
| // to the SSL store. | | // |
| | // ConfigId | Structure |
| | // --------------------------------+--------------------------------- |
| | // HttpServiceConfigSSLCertInfo | HTTP_SERVICE_CONFIG_SSL_SET |
| | // HttpServiceConfigSslSniCertInfo | HTTP_SERVICE_CONFIG_SSL_SNI_SET |
| | // HttpServiceConfigSslCcsCertInfo | HTTP_SERVICE_CONFIG_SSL_CCS_SET |
| // | | // |
| | |
| typedef struct _HTTP_SERVICE_CONFIG_SSL_SET | | typedef struct _HTTP_SERVICE_CONFIG_SSL_SET |
| { | | { |
|
| HTTP_SERVICE_CONFIG_SSL_KEY KeyDesc; | | HTTP_SERVICE_CONFIG_SSL_KEY KeyDesc; |
| HTTP_SERVICE_CONFIG_SSL_PARAM ParamDesc; | | HTTP_SERVICE_CONFIG_SSL_PARAM ParamDesc; |
| } HTTP_SERVICE_CONFIG_SSL_SET, *PHTTP_SERVICE_CONFIG_SSL_SET; | | } HTTP_SERVICE_CONFIG_SSL_SET, *PHTTP_SERVICE_CONFIG_SSL_SET; |
| | |
|
| | #if _WIN32_WINNT >= _WIN32_WINNT_WIN8 |
| | |
| | typedef struct _HTTP_SERVICE_CONFIG_SSL_SNI_SET |
| | { |
| | HTTP_SERVICE_CONFIG_SSL_SNI_KEY KeyDesc; |
| | HTTP_SERVICE_CONFIG_SSL_PARAM ParamDesc; |
| | } HTTP_SERVICE_CONFIG_SSL_SNI_SET, *PHTTP_SERVICE_CONFIG_SSL_SNI_SET; |
| | |
| | typedef struct _HTTP_SERVICE_CONFIG_SSL_CCS_SET |
| | { |
| | HTTP_SERVICE_CONFIG_SSL_CCS_KEY KeyDesc; |
| | HTTP_SERVICE_CONFIG_SSL_PARAM ParamDesc; |
| | } HTTP_SERVICE_CONFIG_SSL_CCS_SET, *PHTTP_SERVICE_CONFIG_SSL_CCS_SET; |
| | |
| | #endif |
| | |
| // | | // |
|
| // This data structure is used by HttpQueryServiceConfiguration() for the | | // These data structures are used by HttpQueryServiceConfiguration() to query a |
| // config ID HttpServiceConfigSSLCertInfo. It's used to query a particular | | // particular record from the SSL store. |
| // record from the SSL store. | | |
| // | | // |
|
| // If QueryType is HttpServiceConfigQueryExact, then one particular record of | | // ConfigId | Structure |
| // the type HTTP_SERVICE_CONFIG_SSL_SET is returned. If the QueryType is | | // --------------------------------+--------------------------------- |
| // HttpServiceConfigQueryNext, then the next instance of | | // HttpServiceConfigSSLCertInfo | HTTP_SERVICE_CONFIG_SSL_QUERY |
| // HTTP_SERVICE_CONFIG_SSL_SET is returned. In such cases, the dwToken field | | // HttpServiceConfigSSLSniCertInfo | HTTP_SERVICE_CONFIG_SSL_SNI_QUERY |
| // represents the cursor. For the first item, dwToken has to be 0. | | // HttpServiceConfigSslCcsCertInfo | HTTP_SERVICE_CONFIG_SSL_CCS_QUERY |
| // For subsequent items, dwToken has to be incremented by 1, | | // |
| // until ERROR_NO_MORE_ITEMS is returned. | | // If QueryDesc is HttpServiceConfigQueryExact, then the one particular record |
| | // is returned. If the QueryType is HttpServiceConfigQueryNext, then the next |
| | // instance is returned. In such cases, the dwToken field represents the cursor. |
| | // To retrieve the first item, dwToken has to be 0. For retrieving subsequent |
| | // items, dwToken has to be incremented by 1, until ERROR_NO_MORE_ITEMS is |
| | // returned. |
| // | | // |
| | |
| typedef struct _HTTP_SERVICE_CONFIG_SSL_QUERY | | typedef struct _HTTP_SERVICE_CONFIG_SSL_QUERY |
| { | | { |
| HTTP_SERVICE_CONFIG_QUERY_TYPE QueryDesc; | | HTTP_SERVICE_CONFIG_QUERY_TYPE QueryDesc; |
| HTTP_SERVICE_CONFIG_SSL_KEY KeyDesc; | | HTTP_SERVICE_CONFIG_SSL_KEY KeyDesc; |
| DWORD dwToken; | | DWORD dwToken; |
| } HTTP_SERVICE_CONFIG_SSL_QUERY, *PHTTP_SERVICE_CONFIG_SSL_QUERY; | | } HTTP_SERVICE_CONFIG_SSL_QUERY, *PHTTP_SERVICE_CONFIG_SSL_QUERY; |
| | |
|
| | #if _WIN32_WINNT >= _WIN32_WINNT_WIN8 |
| | |
| | typedef struct _HTTP_SERVICE_CONFIG_SSL_SNI_QUERY |
| | { |
| | HTTP_SERVICE_CONFIG_QUERY_TYPE QueryDesc; |
| | HTTP_SERVICE_CONFIG_SSL_SNI_KEY KeyDesc; |
| | DWORD dwToken; |
| | } HTTP_SERVICE_CONFIG_SSL_SNI_QUERY, *PHTTP_SERVICE_CONFIG_SSL_SNI_QUERY; |
| | |
| | typedef struct _HTTP_SERVICE_CONFIG_SSL_CCS_QUERY |
| | { |
| | HTTP_SERVICE_CONFIG_QUERY_TYPE QueryDesc; |
| | HTTP_SERVICE_CONFIG_SSL_CCS_KEY KeyDesc; |
| | DWORD dwToken; |
| | } HTTP_SERVICE_CONFIG_SSL_CCS_QUERY, *PHTTP_SERVICE_CONFIG_SSL_CCS_QUERY; |
| | |
| | #endif |
| | |
| // | | // |
| // Set/Delete IP Listen-Only List record | | // Set/Delete IP Listen-Only List record |
| // | | // |
| // Used as a parameter to both HttpSetServiceConfiguration() and | | // Used as a parameter to both HttpSetServiceConfiguration() and |
| // HttpDeleteServiceConfiguration() functions. | | // HttpDeleteServiceConfiguration() functions. |
| // | | // |
| | |
| typedef struct _HTTP_SERVICE_CONFIG_IP_LISTEN_PARAM | | typedef struct _HTTP_SERVICE_CONFIG_IP_LISTEN_PARAM |
| { | | { |
| USHORT AddrLength; | | USHORT AddrLength; |
| | |
| skipping to change at line 2157 | | skipping to change at line 2223 |
| // | | // |
| | |
| // NOTE: MUST be called once before all other APIs | | // NOTE: MUST be called once before all other APIs |
| | |
| HTTPAPI_LINKAGE | | HTTPAPI_LINKAGE |
| ULONG | | ULONG |
| WINAPI | | WINAPI |
| HttpInitialize( | | HttpInitialize( |
| IN HTTPAPI_VERSION Version, | | IN HTTPAPI_VERSION Version, |
| IN ULONG Flags, | | IN ULONG Flags, |
|
| __reserved IN OUT PVOID pReserved | | _Reserved_ IN OUT PVOID pReserved |
| ); | | ); |
| | |
| // NOTE: MUST be called after final API call returns. | | // NOTE: MUST be called after final API call returns. |
| | |
| HTTPAPI_LINKAGE | | HTTPAPI_LINKAGE |
| ULONG | | ULONG |
| WINAPI | | WINAPI |
| HttpTerminate( | | HttpTerminate( |
| IN ULONG Flags, | | IN ULONG Flags, |
|
| __reserved IN OUT PVOID pReserved | | _Reserved_ IN OUT PVOID pReserved |
| ); | | ); |
| | |
| // | | // |
| // HTTP Request Queue manipulation APIs. | | // HTTP Request Queue manipulation APIs. |
| // | | // |
| // This API is maintained for backward competibility for the first | | // This API is maintained for backward competibility for the first |
| // version of the HTTPAPI and should not be used. Instead the new | | // version of the HTTPAPI and should not be used. Instead the new |
| // 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 pReqQueueHandle, |
|
| __reserved IN 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. |
| // | | // |
| | |
| skipping to change at line 2222 | | skipping to change at line 2288 |
| HttpCloseRequestQueue( | | HttpCloseRequestQueue( |
| IN HANDLE ReqQueueHandle | | IN HANDLE ReqQueueHandle |
| ); | | ); |
| | |
| HTTPAPI_LINKAGE | | HTTPAPI_LINKAGE |
| ULONG | | ULONG |
| WINAPI | | WINAPI |
| HttpSetRequestQueueProperty( | | HttpSetRequestQueueProperty( |
| IN HANDLE Handle, | | IN HANDLE Handle, |
| IN HTTP_SERVER_PROPERTY Property, | | IN HTTP_SERVER_PROPERTY Property, |
|
| __in_bcount(PropertyInformationLength) IN PVOID pPropertyInformation, | | _In_reads_bytes_(PropertyInformationLength) IN PVOID pPropertyInformation, |
| IN ULONG PropertyInformationLength, | | IN ULONG PropertyInformationLength, |
|
| __reserved IN ULONG Reserved, | | _Reserved_ IN ULONG Reserved, |
| __reserved IN PVOID pReserved | | _Reserved_ IN PVOID pReserved |
| ); | | ); |
| | |
| HTTPAPI_LINKAGE | | HTTPAPI_LINKAGE |
| ULONG | | ULONG |
| WINAPI | | WINAPI |
| HttpQueryRequestQueueProperty( | | HttpQueryRequestQueueProperty( |
| IN HANDLE Handle, | | IN HANDLE Handle, |
| IN HTTP_SERVER_PROPERTY Property, | | IN HTTP_SERVER_PROPERTY Property, |
|
| __out_bcount_part(PropertyInformationLength, *pReturnLength) | | _Out_writes_bytes_to_opt_(PropertyInformationLength, *pReturnLength) |
| OUT PVOID pPropertyInformation, | | OUT PVOID pPropertyInformation, |
| IN ULONG PropertyInformationLength, | | IN ULONG PropertyInformationLength, |
|
| __reserved IN ULONG Reserved, | | _Reserved_ IN ULONG Reserved, |
| __out_opt OUT PULONG pReturnLength OPTIONAL, | | _Out_opt_ OUT PULONG pReturnLength OPTIONAL, |
| __reserved IN PVOID pReserved | | _Reserved_ IN PVOID pReserved |
| ); | | ); |
| | |
| HTTPAPI_LINKAGE | | HTTPAPI_LINKAGE |
| ULONG | | ULONG |
| WINAPI | | WINAPI |
| HttpShutdownRequestQueue( | | HttpShutdownRequestQueue( |
| IN HANDLE ReqQueueHandle | | IN HANDLE ReqQueueHandle |
| ); | | ); |
| | |
| #endif // _WIN32_WINNT >= 0x0600 | | #endif // _WIN32_WINNT >= 0x0600 |
| | |
| skipping to change at line 2262 | | skipping to change at line 2328 |
| // SSL APIs. | | // SSL APIs. |
| // | | // |
| | |
| HTTPAPI_LINKAGE | | HTTPAPI_LINKAGE |
| ULONG | | ULONG |
| WINAPI | | WINAPI |
| HttpReceiveClientCertificate( | | HttpReceiveClientCertificate( |
| IN HANDLE ReqQueueHandle, | | IN HANDLE ReqQueueHandle, |
| IN HTTP_CONNECTION_ID ConnectionId, | | IN HTTP_CONNECTION_ID ConnectionId, |
| IN ULONG Flags, | | IN ULONG Flags, |
|
| __out_bcount_part(SslClientCertInfoSize, *pBytesReceived) | | _Out_writes_bytes_to_(SslClientCertInfoSize, *pBytesReceived) |
| OUT PHTTP_SSL_CLIENT_CERT_INFO pSslClientCertInfo, | | OUT PHTTP_SSL_CLIENT_CERT_INFO pSslClientCertInfo, |
| IN ULONG SslClientCertInfoSize, | | IN ULONG SslClientCertInfoSize, |
|
| __out_opt OUT PULONG pBytesReceived OPTIONAL, | | _Out_opt_ OUT PULONG pBytesReceived OPTIONAL, |
| IN LPOVERLAPPED pOverlapped OPTIONAL | | IN LPOVERLAPPED pOverlapped 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 pServerSessionId, |
|
| __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 |
| 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_bcount_part(PropertyInformationLength, *pReturnLength) | | _Out_writes_bytes_to_opt_(PropertyInformationLength, *pReturnLength) |
| OUT PVOID pPropertyInformation, | | OUT PVOID pPropertyInformation, |
| IN ULONG PropertyInformationLength, | | IN ULONG PropertyInformationLength, |
|
| __out_opt OUT PULONG pReturnLength OPTIONAL | | _Out_opt_ OUT PULONG pReturnLength OPTIONAL |
| ); | | ); |
| | |
| 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_bcount(PropertyInformationLength) IN PVOID pPropertyInformation, | | _In_reads_bytes_(PropertyInformationLength) IN PVOID pPropertyInformation, |
| 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 ReqQueueHandle, |
| IN PCWSTR pFullyQualifiedUrl, | | IN PCWSTR pFullyQualifiedUrl, |
|
| __reserved IN PVOID pReserved | | _Reserved_ PVOID pReserved |
| ); | | ); |
| | |
| HTTPAPI_LINKAGE | | HTTPAPI_LINKAGE |
| ULONG | | ULONG |
| WINAPI | | WINAPI |
| HttpRemoveUrl( | | HttpRemoveUrl( |
| IN HANDLE ReqQueueHandle, | | IN HANDLE ReqQueueHandle, |
| IN PCWSTR pFullyQualifiedUrl | | IN PCWSTR pFullyQualifiedUrl |
| ); | | ); |
| | |
| | |
| skipping to change at line 2348 | | skipping to change at line 2414 |
| // | | // |
| // Url Group APIs. | | // Url Group APIs. |
| // | | // |
| | |
| HTTPAPI_LINKAGE | | HTTPAPI_LINKAGE |
| ULONG | | ULONG |
| WINAPI | | WINAPI |
| HttpCreateUrlGroup( | | HttpCreateUrlGroup( |
| IN HTTP_SERVER_SESSION_ID ServerSessionId, | | IN HTTP_SERVER_SESSION_ID ServerSessionId, |
| OUT PHTTP_URL_GROUP_ID pUrlGroupId, | | OUT PHTTP_URL_GROUP_ID pUrlGroupId, |
|
| __reserved IN ULONG Reserved | | _Reserved_ IN ULONG Reserved |
| ); | | ); |
| | |
| HTTPAPI_LINKAGE | | HTTPAPI_LINKAGE |
| ULONG | | ULONG |
| WINAPI | | WINAPI |
| HttpCloseUrlGroup( | | HttpCloseUrlGroup( |
| IN HTTP_URL_GROUP_ID UrlGroupId | | IN HTTP_URL_GROUP_ID UrlGroupId |
| ); | | ); |
| | |
| HTTPAPI_LINKAGE | | HTTPAPI_LINKAGE |
| ULONG | | ULONG |
| WINAPI | | WINAPI |
| HttpAddUrlToUrlGroup( | | HttpAddUrlToUrlGroup( |
| IN HTTP_URL_GROUP_ID UrlGroupId, | | IN HTTP_URL_GROUP_ID UrlGroupId, |
| IN PCWSTR pFullyQualifiedUrl, | | IN PCWSTR pFullyQualifiedUrl, |
| IN HTTP_URL_CONTEXT UrlContext OPTIONAL, | | IN HTTP_URL_CONTEXT UrlContext OPTIONAL, |
|
| __reserved IN ULONG Reserved | | _Reserved_ IN ULONG Reserved |
| ); | | ); |
| | |
| HTTPAPI_LINKAGE | | HTTPAPI_LINKAGE |
| ULONG | | ULONG |
| WINAPI | | WINAPI |
| HttpRemoveUrlFromUrlGroup( | | HttpRemoveUrlFromUrlGroup( |
| IN HTTP_URL_GROUP_ID UrlGroupId, | | IN HTTP_URL_GROUP_ID UrlGroupId, |
| 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_bcount(PropertyInformationLength) IN PVOID pPropertyInformation, | | _In_reads_bytes_(PropertyInformationLength) IN PVOID pPropertyInformation, |
| IN ULONG PropertyInformationLength | | IN ULONG PropertyInformationLength |
| ); | | ); |
| | |
| HTTPAPI_LINKAGE | | HTTPAPI_LINKAGE |
| 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_bcount_part(PropertyInformationLength, *pReturnLength) | | _Out_writes_bytes_to_opt_(PropertyInformationLength, *pReturnLength) |
| OUT PVOID pPropertyInformation, | | OUT PVOID pPropertyInformation, |
| IN ULONG PropertyInformationLength, | | IN ULONG PropertyInformationLength, |
|
| __out_opt OUT PULONG pReturnLength OPTIONAL | | _Out_opt_ OUT PULONG pReturnLength OPTIONAL |
| ); | | ); |
| | |
| #endif // _WIN32_WINNT >= 0x0600 | | #endif // _WIN32_WINNT >= 0x0600 |
| | |
|
| | #if _WIN32_WINNT >= _WIN32_WINNT_WIN8 |
| | |
| | HTTPAPI_LINKAGE |
| | ULONG |
| | WINAPI |
| | HttpPrepareUrl( |
| | _Reserved_ PVOID Reserved, |
| | _Reserved_ ULONG Flags, |
| | _In_ PCWSTR Url, |
| | _Outptr_ PWSTR *PreparedUrl |
| | ); |
| | |
| | #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 ReqQueueHandle, |
| IN HTTP_REQUEST_ID RequestId, | | IN HTTP_REQUEST_ID RequestId, |
| IN ULONG Flags, | | IN ULONG Flags, |
|
| __out_bcount_part(RequestBufferLength, *pBytesReceived) | | _Out_writes_bytes_to_(RequestBufferLength, *pBytesReturned) |
| OUT PHTTP_REQUEST pRequestBuffer, | | OUT PHTTP_REQUEST pRequestBuffer, |
| IN ULONG RequestBufferLength, | | IN ULONG RequestBufferLength, |
|
| __out_opt OUT PULONG pBytesReceived OPTIONAL, | | _Out_opt_ OUT PULONG pBytesReturned OPTIONAL, |
| IN LPOVERLAPPED pOverlapped OPTIONAL | | IN LPOVERLAPPED pOverlapped OPTIONAL |
| ); | | ); |
| | |
| HTTPAPI_LINKAGE | | HTTPAPI_LINKAGE |
| ULONG | | ULONG |
| WINAPI | | WINAPI |
| HttpReceiveRequestEntityBody( | | HttpReceiveRequestEntityBody( |
| IN HANDLE ReqQueueHandle, | | IN HANDLE ReqQueueHandle, |
| IN HTTP_REQUEST_ID RequestId, | | IN HTTP_REQUEST_ID RequestId, |
| IN ULONG Flags, | | IN ULONG Flags, |
|
| __out_bcount_part(BufferLength, *pBytesReceived) OUT PVOID pBuffer, | | _Out_writes_bytes_to_(EntityBufferLength, *pBytesReturned) PVOID pBuffer, |
| IN ULONG BufferLength, | | IN ULONG EntityBufferLength, |
| __out_opt OUT PULONG pBytesReceived OPTIONAL, | | _Out_opt_ OUT PULONG pBytesReturned OPTIONAL, |
| IN LPOVERLAPPED pOverlapped OPTIONAL | | IN LPOVERLAPPED pOverlapped OPTIONAL |
| ); | | ); |
| | |
| #if _WIN32_WINNT >= 0x0600 | | #if _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, |
| IN ULONG Flags, | | IN ULONG Flags, |
| IN PHTTP_RESPONSE pHttpResponse, | | IN PHTTP_RESPONSE pHttpResponse, |
| IN PHTTP_CACHE_POLICY pCachePolicy OPTIONAL, | | IN PHTTP_CACHE_POLICY pCachePolicy OPTIONAL, |
| OUT PULONG pBytesSent OPTIONAL, | | OUT PULONG pBytesSent OPTIONAL, |
|
| OUT PVOID pReserved1 OPTIONAL, // must be NULL | | _Reserved_ PVOID pReserved1, // must be NULL |
| IN ULONG Reserved2 OPTIONAL, // must be 0 | | _Reserved_ ULONG Reserved2, // must be 0 |
| IN LPOVERLAPPED pOverlapped OPTIONAL, | | IN LPOVERLAPPED pOverlapped OPTIONAL, |
| IN PHTTP_LOG_DATA pLogData OPTIONAL | | IN PHTTP_LOG_DATA pLogData 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, |
| IN ULONG Flags, | | IN ULONG Flags, |
| IN PHTTP_RESPONSE pHttpResponse, | | IN PHTTP_RESPONSE pHttpResponse, |
| IN PVOID pReserved1 OPTIONAL, // must be NULL | | IN PVOID pReserved1 OPTIONAL, // must be NULL |
| OUT PULONG pBytesSent OPTIONAL, | | OUT PULONG pBytesSent OPTIONAL, |
|
| OUT PVOID pReserved2 OPTIONAL, // must be NULL | | _Reserved_ PVOID pReserved2, // must be NULL |
| IN ULONG Reserved3 OPTIONAL, // must be 0 | | _Reserved_ ULONG Reserved3, // must be 0 |
| IN LPOVERLAPPED pOverlapped OPTIONAL, | | IN LPOVERLAPPED pOverlapped OPTIONAL, |
| IN PVOID pReserved4 OPTIONAL // must be NULL | | IN PVOID pReserved4 OPTIONAL // must be NULL |
| ); | | ); |
| | |
| #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 ReqQueueHandle, |
| 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_ecount_opt(EntityChunkCount) | | _In_reads_opt_(EntityChunkCount) |
| IN PHTTP_DATA_CHUNK pEntityChunks OPTIONAL, | | IN PHTTP_DATA_CHUNK pEntityChunks OPTIONAL, |
| OUT PULONG pBytesSent OPTIONAL, | | OUT PULONG pBytesSent OPTIONAL, |
|
| OUT PVOID pReserved1 OPTIONAL, // must be NULL | | _Reserved_ PVOID pReserved1 OPTIONAL, // must be NULL |
| IN ULONG Reserved2 OPTIONAL, // must be 0 | | _Reserved_ ULONG Reserved2 OPTIONAL, // must be 0 |
| IN LPOVERLAPPED pOverlapped OPTIONAL, | | IN LPOVERLAPPED pOverlapped OPTIONAL, |
| IN PHTTP_LOG_DATA pLogData 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, |
| IN ULONG Flags, | | IN ULONG Flags, |
| IN USHORT EntityChunkCount OPTIONAL, | | IN USHORT EntityChunkCount OPTIONAL, |
|
| __in_ecount_opt(EntityChunkCount) | | _In_reads_opt_(EntityChunkCount) |
| IN PHTTP_DATA_CHUNK pEntityChunks OPTIONAL, | | IN PHTTP_DATA_CHUNK pEntityChunks OPTIONAL, |
| OUT PULONG pBytesSent OPTIONAL, | | OUT PULONG pBytesSent OPTIONAL, |
|
| OUT PVOID pReserved1 OPTIONAL, // must be NULL | | _Reserved_ PVOID pReserved1 OPTIONAL, // must be NULL |
| IN 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 |
| HttpWaitForDisconnect( | | HttpWaitForDisconnect( |
| | |
| skipping to change at line 2527 | | skipping to change at line 2607 |
| ); | | ); |
| | |
| #if _WIN32_WINNT >= 0x0600 | | #if _WIN32_WINNT >= 0x0600 |
| | |
| HTTPAPI_LINKAGE | | HTTPAPI_LINKAGE |
| ULONG | | ULONG |
| WINAPI | | WINAPI |
| HttpWaitForDisconnectEx( | | HttpWaitForDisconnectEx( |
| IN HANDLE ReqQueueHandle, | | IN HANDLE ReqQueueHandle, |
| 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 pOverlapped OPTIONAL |
| ); | | ); |
| | |
| HTTPAPI_LINKAGE | | HTTPAPI_LINKAGE |
| ULONG | | ULONG |
| WINAPI | | WINAPI |
| HttpCancelHttpRequest( | | HttpCancelHttpRequest( |
| IN HANDLE ReqQueueHandle, | | IN HANDLE ReqQueueHandle, |
| IN HTTP_REQUEST_ID RequestId, | | IN HTTP_REQUEST_ID RequestId, |
| IN LPOVERLAPPED pOverlapped OPTIONAL | | IN LPOVERLAPPED pOverlapped OPTIONAL |
| | |
| skipping to change at line 2582 | | skipping to change at line 2662 |
| IN LPOVERLAPPED pOverlapped OPTIONAL | | IN LPOVERLAPPED pOverlapped OPTIONAL |
| ); | | ); |
| | |
| HTTPAPI_LINKAGE | | HTTPAPI_LINKAGE |
| ULONG | | ULONG |
| WINAPI | | WINAPI |
| HttpReadFragmentFromCache( | | HttpReadFragmentFromCache( |
| IN HANDLE ReqQueueHandle, | | IN HANDLE ReqQueueHandle, |
| IN PCWSTR pUrlPrefix, | | IN PCWSTR pUrlPrefix, |
| IN PHTTP_BYTE_RANGE pByteRange OPTIONAL, | | IN PHTTP_BYTE_RANGE pByteRange OPTIONAL, |
|
| __out_bcount_part(BufferLength, *pBytesRead) OUT PVOID pBuffer, | | _Out_writes_bytes_to_(BufferLength, *pBytesRead) PVOID pBuffer, |
| IN ULONG BufferLength, | | IN ULONG BufferLength, |
|
| OUT PULONG pBytesRead OPTIONAL, | | _Out_opt_ PULONG pBytesRead, |
| IN LPOVERLAPPED pOverlapped OPTIONAL | | IN LPOVERLAPPED pOverlapped OPTIONAL |
| ); | | ); |
| | |
| // | | // |
| // Server configuration APIs | | // Server configuration APIs |
| // | | // |
| | |
| HTTPAPI_LINKAGE | | HTTPAPI_LINKAGE |
| ULONG | | ULONG |
| WINAPI | | WINAPI |
| HttpSetServiceConfiguration( | | HttpSetServiceConfiguration( |
|
| __reserved IN HANDLE ServiceHandle, | | _Reserved_ IN HANDLE ServiceHandle, |
| IN HTTP_SERVICE_CONFIG_ID ConfigId, | | IN HTTP_SERVICE_CONFIG_ID ConfigId, |
|
| __in_bcount(ConfigInformationLength) IN PVOID pConfigInformation, | | _In_reads_bytes_(ConfigInformationLength) IN PVOID pConfigInformation, |
| IN ULONG ConfigInformationLength, | | IN ULONG ConfigInformationLength, |
|
| __reserved IN LPOVERLAPPED pOverlapped | | _Reserved_ IN LPOVERLAPPED pOverlapped |
| ); | | ); |
| | |
| HTTPAPI_LINKAGE | | HTTPAPI_LINKAGE |
| ULONG | | ULONG |
| WINAPI | | WINAPI |
| HttpDeleteServiceConfiguration( | | HttpDeleteServiceConfiguration( |
|
| __reserved IN HANDLE ServiceHandle, | | _Reserved_ IN HANDLE ServiceHandle, |
| IN HTTP_SERVICE_CONFIG_ID ConfigId, | | IN HTTP_SERVICE_CONFIG_ID ConfigId, |
|
| __in_bcount(ConfigInformationLength) IN PVOID pConfigInformation, | | _In_reads_bytes_(ConfigInformationLength) IN PVOID pConfigInformation, |
| IN ULONG ConfigInformationLength, | | IN ULONG ConfigInformationLength, |
|
| __reserved IN LPOVERLAPPED pOverlapped | | _Reserved_ IN LPOVERLAPPED pOverlapped |
| ); | | ); |
| | |
| HTTPAPI_LINKAGE | | HTTPAPI_LINKAGE |
| ULONG | | ULONG |
| WINAPI | | WINAPI |
| HttpQueryServiceConfiguration( | | HttpQueryServiceConfiguration( |
|
| __reserved IN HANDLE ServiceHandle, | | _Reserved_ IN HANDLE ServiceHandle, |
| IN HTTP_SERVICE_CONFIG_ID ConfigId, | | IN HTTP_SERVICE_CONFIG_ID ConfigId, |
|
| __in_bcount_opt(InputConfigInformationLength) | | _In_reads_bytes_opt_(InputLength) IN PVOID pInput OPTIONAL, |
| IN PVOID pInputConfigInformation OPTIONAL, | | IN ULONG InputLength OPTIONAL, |
| IN ULONG InputConfigInformationLength OPTIONAL, | | _Out_writes_bytes_to_opt_(OutputLength, *pReturnLength) |
| __out_bcount_part_opt(OutputConfigInformationLength, *pReturnLength) | | OUT PVOID pOutput OPTIONAL, |
| OUT PVOID pOutputConfigInformation OPTIONAL, | | IN ULONG OutputLength OPTIONAL, |
| IN ULONG OutputConfigInformationLength OPTIONAL, | | _Out_opt_ OUT PULONG pReturnLength OPTIONAL, |
| __out_opt OUT PULONG pReturnLength OPTIONAL, | | _Reserved_ IN LPOVERLAPPED pOverlapped |
| __reserved IN LPOVERLAPPED pOverlapped | | |
| ); | | ); |
| | |
| #ifdef __cplusplus | | #ifdef __cplusplus |
| } // extern "C" | | } // extern "C" |
| #endif // __cplusplus | | #endif // __cplusplus |
| | |
| #endif // _WIN32_WINNT >= 0x0501 | | #endif // _WIN32_WINNT >= 0x0501 |
| | |
|
| | #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */ |
| | #pragma endregion |
| | |
| #endif // __HTTP_H__ | | #endif // __HTTP_H__ |
| | |
| End of changes. 62 change blocks. |
| 93 lines changed or deleted | | 175 lines changed or added |
|