| 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 |
|