from __future__ import annotations
from win32more import ARCH, Annotated, Boolean, Byte, Bytes, Char, ComPtr, ConstantLazyLoader, Double, Enum, FAILED, Guid, Int16, Int32, Int64, IntPtr, POINTER, SByte, SUCCEEDED, Single, String, Structure, UInt16, UInt32, UInt64, UIntPtr, UnicodeAlias, Union, Void, VoidPtr, cfunctype, cfunctype_pointer, commethod, make_ready, winfunctype, winfunctype_pointer
import win32more.Windows.Win32.Foundation
import win32more.Windows.Win32.Networking.WinHttp
import win32more.Windows.Win32.Networking.WinSock
import win32more.Windows.Win32.System.Com
import win32more.Windows.Win32.System.Variant
HTTPREQUEST_PROXYSETTING_DEFAULT: UInt32 = 0
HTTPREQUEST_PROXYSETTING_PRECONFIG: UInt32 = 0
HTTPREQUEST_PROXYSETTING_DIRECT: UInt32 = 1
HTTPREQUEST_PROXYSETTING_PROXY: UInt32 = 2
HTTPREQUEST_SETCREDENTIALS_FOR_SERVER: UInt32 = 0
HTTPREQUEST_SETCREDENTIALS_FOR_PROXY: UInt32 = 1
INTERNET_DEFAULT_PORT: UInt16 = 0
INTERNET_DEFAULT_HTTP_PORT: UInt16 = 80
INTERNET_DEFAULT_HTTPS_PORT: UInt16 = 443
WINHTTP_FLAG_ASYNC: UInt32 = 268435456
WINHTTP_FLAG_SECURE_DEFAULTS: UInt32 = 805306368
WINHTTP_FLAG_AUTOMATIC_CHUNKING: UInt32 = 512
SECURITY_FLAG_IGNORE_UNKNOWN_CA: UInt32 = 256
SECURITY_FLAG_IGNORE_CERT_WRONG_USAGE: UInt32 = 512
SECURITY_FLAG_IGNORE_CERT_CN_INVALID: UInt32 = 4096
SECURITY_FLAG_IGNORE_CERT_DATE_INVALID: UInt32 = 8192
WINHTTP_AUTOPROXY_AUTO_DETECT: UInt32 = 1
WINHTTP_AUTOPROXY_CONFIG_URL: UInt32 = 2
WINHTTP_AUTOPROXY_HOST_KEEPCASE: UInt32 = 4
WINHTTP_AUTOPROXY_HOST_LOWERCASE: UInt32 = 8
WINHTTP_AUTOPROXY_ALLOW_AUTOCONFIG: UInt32 = 256
WINHTTP_AUTOPROXY_ALLOW_STATIC: UInt32 = 512
WINHTTP_AUTOPROXY_ALLOW_CM: UInt32 = 1024
WINHTTP_AUTOPROXY_USE_INTERFACE_CONFIG: UInt32 = 2048
WINHTTP_AUTOPROXY_RUN_INPROCESS: UInt32 = 65536
WINHTTP_AUTOPROXY_RUN_OUTPROCESS_ONLY: UInt32 = 131072
WINHTTP_AUTOPROXY_NO_DIRECTACCESS: UInt32 = 262144
WINHTTP_AUTOPROXY_NO_CACHE_CLIENT: UInt32 = 524288
WINHTTP_AUTOPROXY_NO_CACHE_SVC: UInt32 = 1048576
WINHTTP_AUTOPROXY_SORT_RESULTS: UInt32 = 4194304
WINHTTP_AUTO_DETECT_TYPE_DHCP: UInt32 = 1
WINHTTP_AUTO_DETECT_TYPE_DNS_A: UInt32 = 2
NETWORKING_KEY_BUFSIZE: UInt32 = 128
WINHTTP_PROXY_TYPE_DIRECT: UInt32 = 1
WINHTTP_PROXY_TYPE_PROXY: UInt32 = 2
WINHTTP_PROXY_TYPE_AUTO_PROXY_URL: UInt32 = 4
WINHTTP_PROXY_TYPE_AUTO_DETECT: UInt32 = 8
WINHTTP_REQUEST_STAT_FLAG_TCP_FAST_OPEN: UInt32 = 1
WINHTTP_REQUEST_STAT_FLAG_TLS_SESSION_RESUMPTION: UInt32 = 2
WINHTTP_REQUEST_STAT_FLAG_TLS_FALSE_START: UInt32 = 4
WINHTTP_REQUEST_STAT_FLAG_PROXY_TLS_SESSION_RESUMPTION: UInt32 = 8
WINHTTP_REQUEST_STAT_FLAG_PROXY_TLS_FALSE_START: UInt32 = 16
WINHTTP_REQUEST_STAT_FLAG_FIRST_REQUEST: UInt32 = 32
WINHTTP_MATCH_CONNECTION_GUID_FLAG_REQUIRE_MARKED_CONNECTION: UInt32 = 1
WINHTTP_MATCH_CONNECTION_GUID_FLAGS_MASK: UInt32 = 1
WINHTTP_RESOLVER_CACHE_CONFIG_FLAG_SOFT_LIMIT: UInt32 = 1
WINHTTP_RESOLVER_CACHE_CONFIG_FLAG_BYPASS_CACHE: UInt32 = 2
WINHTTP_RESOLVER_CACHE_CONFIG_FLAG_USE_DNS_TTL: UInt32 = 4
WINHTTP_RESOLVER_CACHE_CONFIG_FLAG_CONN_USE_TTL: UInt32 = 8
WINHTTP_TIME_FORMAT_BUFSIZE: UInt32 = 62
WINHTTP_OPTION_CALLBACK: UInt32 = 1
WINHTTP_OPTION_RESOLVE_TIMEOUT: UInt32 = 2
WINHTTP_OPTION_CONNECT_TIMEOUT: UInt32 = 3
WINHTTP_OPTION_CONNECT_RETRIES: UInt32 = 4
WINHTTP_OPTION_SEND_TIMEOUT: UInt32 = 5
WINHTTP_OPTION_RECEIVE_TIMEOUT: UInt32 = 6
WINHTTP_OPTION_RECEIVE_RESPONSE_TIMEOUT: UInt32 = 7
WINHTTP_OPTION_HANDLE_TYPE: UInt32 = 9
WINHTTP_OPTION_READ_BUFFER_SIZE: UInt32 = 12
WINHTTP_OPTION_WRITE_BUFFER_SIZE: UInt32 = 13
WINHTTP_OPTION_PARENT_HANDLE: UInt32 = 21
WINHTTP_OPTION_EXTENDED_ERROR: UInt32 = 24
WINHTTP_OPTION_SECURITY_FLAGS: UInt32 = 31
WINHTTP_OPTION_SECURITY_CERTIFICATE_STRUCT: UInt32 = 32
WINHTTP_OPTION_URL: UInt32 = 34
WINHTTP_OPTION_SECURITY_KEY_BITNESS: UInt32 = 36
WINHTTP_OPTION_PROXY: UInt32 = 38
WINHTTP_OPTION_PROXY_RESULT_ENTRY: UInt32 = 39
WINHTTP_OPTION_USER_AGENT: UInt32 = 41
WINHTTP_OPTION_CONTEXT_VALUE: UInt32 = 45
WINHTTP_OPTION_CLIENT_CERT_CONTEXT: UInt32 = 47
WINHTTP_OPTION_REQUEST_PRIORITY: UInt32 = 58
WINHTTP_OPTION_HTTP_VERSION: UInt32 = 59
WINHTTP_OPTION_DISABLE_FEATURE: UInt32 = 63
WINHTTP_OPTION_CODEPAGE: UInt32 = 68
WINHTTP_OPTION_MAX_CONNS_PER_SERVER: UInt32 = 73
WINHTTP_OPTION_MAX_CONNS_PER_1_0_SERVER: UInt32 = 74
WINHTTP_OPTION_AUTOLOGON_POLICY: UInt32 = 77
WINHTTP_OPTION_SERVER_CERT_CONTEXT: UInt32 = 78
WINHTTP_OPTION_ENABLE_FEATURE: UInt32 = 79
WINHTTP_OPTION_WORKER_THREAD_COUNT: UInt32 = 80
WINHTTP_OPTION_PASSPORT_COBRANDING_TEXT: UInt32 = 81
WINHTTP_OPTION_PASSPORT_COBRANDING_URL: UInt32 = 82
WINHTTP_OPTION_CONFIGURE_PASSPORT_AUTH: UInt32 = 83
WINHTTP_OPTION_SECURE_PROTOCOLS: UInt32 = 84
WINHTTP_OPTION_ENABLETRACING: UInt32 = 85
WINHTTP_OPTION_PASSPORT_SIGN_OUT: UInt32 = 86
WINHTTP_OPTION_PASSPORT_RETURN_URL: UInt32 = 87
WINHTTP_OPTION_REDIRECT_POLICY: UInt32 = 88
WINHTTP_OPTION_MAX_HTTP_AUTOMATIC_REDIRECTS: UInt32 = 89
WINHTTP_OPTION_MAX_HTTP_STATUS_CONTINUE: UInt32 = 90
WINHTTP_OPTION_MAX_RESPONSE_HEADER_SIZE: UInt32 = 91
WINHTTP_OPTION_MAX_RESPONSE_DRAIN_SIZE: UInt32 = 92
WINHTTP_OPTION_CONNECTION_INFO: UInt32 = 93
WINHTTP_OPTION_CLIENT_CERT_ISSUER_LIST: UInt32 = 94
WINHTTP_OPTION_SPN: UInt32 = 96
WINHTTP_OPTION_GLOBAL_PROXY_CREDS: UInt32 = 97
WINHTTP_OPTION_GLOBAL_SERVER_CREDS: UInt32 = 98
WINHTTP_OPTION_UNLOAD_NOTIFY_EVENT: UInt32 = 99
WINHTTP_OPTION_REJECT_USERPWD_IN_URL: UInt32 = 100
WINHTTP_OPTION_USE_GLOBAL_SERVER_CREDENTIALS: UInt32 = 101
WINHTTP_OPTION_RECEIVE_PROXY_CONNECT_RESPONSE: UInt32 = 103
WINHTTP_OPTION_IS_PROXY_CONNECT_RESPONSE: UInt32 = 104
WINHTTP_OPTION_NETWORK_INTERFACE_AFFINITY: UInt32 = 105
WINHTTP_OPTION_SERVER_SPN_USED: UInt32 = 106
WINHTTP_OPTION_PROXY_SPN_USED: UInt32 = 107
WINHTTP_OPTION_SERVER_CBT: UInt32 = 108
WINHTTP_OPTION_UNSAFE_HEADER_PARSING: UInt32 = 110
WINHTTP_OPTION_ASSURED_NON_BLOCKING_CALLBACKS: UInt32 = 111
WINHTTP_OPTION_UPGRADE_TO_WEB_SOCKET: UInt32 = 114
WINHTTP_OPTION_WEB_SOCKET_CLOSE_TIMEOUT: UInt32 = 115
WINHTTP_OPTION_WEB_SOCKET_KEEPALIVE_INTERVAL: UInt32 = 116
WINHTTP_OPTION_DECOMPRESSION: UInt32 = 118
WINHTTP_OPTION_WEB_SOCKET_RECEIVE_BUFFER_SIZE: UInt32 = 122
WINHTTP_OPTION_WEB_SOCKET_SEND_BUFFER_SIZE: UInt32 = 123
WINHTTP_OPTION_TCP_PRIORITY_HINT: UInt32 = 128
WINHTTP_OPTION_CONNECTION_FILTER: UInt32 = 131
WINHTTP_OPTION_ENABLE_HTTP_PROTOCOL: UInt32 = 133
WINHTTP_OPTION_HTTP_PROTOCOL_USED: UInt32 = 134
WINHTTP_OPTION_KDC_PROXY_SETTINGS: UInt32 = 136
WINHTTP_OPTION_PROXY_DISABLE_SERVICE_CALLS: UInt32 = 137
WINHTTP_OPTION_ENCODE_EXTRA: UInt32 = 138
WINHTTP_OPTION_DISABLE_STREAM_QUEUE: UInt32 = 139
WINHTTP_OPTION_IPV6_FAST_FALLBACK: UInt32 = 140
WINHTTP_OPTION_CONNECTION_STATS_V0: UInt32 = 141
WINHTTP_OPTION_REQUEST_TIMES: UInt32 = 142
WINHTTP_OPTION_EXPIRE_CONNECTION: UInt32 = 143
WINHTTP_OPTION_DISABLE_SECURE_PROTOCOL_FALLBACK: UInt32 = 144
WINHTTP_OPTION_HTTP_PROTOCOL_REQUIRED: UInt32 = 145
WINHTTP_OPTION_REQUEST_STATS: UInt32 = 146
WINHTTP_OPTION_SERVER_CERT_CHAIN_CONTEXT: UInt32 = 147
WINHTTP_OPTION_CONNECTION_STATS_V1: UInt32 = 150
WINHTTP_OPTION_SECURITY_INFO: UInt32 = 151
WINHTTP_OPTION_TCP_KEEPALIVE: UInt32 = 152
WINHTTP_OPTION_TCP_FAST_OPEN: UInt32 = 153
WINHTTP_OPTION_TLS_FALSE_START: UInt32 = 154
WINHTTP_OPTION_IGNORE_CERT_REVOCATION_OFFLINE: UInt32 = 155
WINHTTP_OPTION_TLS_PROTOCOL_INSECURE_FALLBACK: UInt32 = 158
WINHTTP_OPTION_STREAM_ERROR_CODE: UInt32 = 159
WINHTTP_OPTION_REQUIRE_STREAM_END: UInt32 = 160
WINHTTP_OPTION_ENABLE_HTTP2_PLUS_CLIENT_CERT: UInt32 = 161
WINHTTP_OPTION_FAILED_CONNECTION_RETRIES: UInt32 = 162
WINHTTP_OPTION_HTTP2_KEEPALIVE: UInt32 = 164
WINHTTP_OPTION_RESOLUTION_HOSTNAME: UInt32 = 165
WINHTTP_OPTION_SET_TOKEN_BINDING: UInt32 = 166
WINHTTP_OPTION_TOKEN_BINDING_PUBLIC_KEY: UInt32 = 167
WINHTTP_OPTION_REFERER_TOKEN_BINDING_HOSTNAME: UInt32 = 168
WINHTTP_OPTION_HTTP2_PLUS_TRANSFER_ENCODING: UInt32 = 169
WINHTTP_OPTION_RESOLVER_CACHE_CONFIG: UInt32 = 170
WINHTTP_OPTION_DISABLE_CERT_CHAIN_BUILDING: UInt32 = 171
WINHTTP_OPTION_BACKGROUND_CONNECTIONS: UInt32 = 172
WINHTTP_OPTION_FIRST_AVAILABLE_CONNECTION: UInt32 = 173
WINHTTP_OPTION_TCP_PRIORITY_STATUS: UInt32 = 177
WINHTTP_OPTION_CONNECTION_GUID: UInt32 = 178
WINHTTP_OPTION_MATCH_CONNECTION_GUID: UInt32 = 179
WINHTTP_OPTION_HTTP2_RECEIVE_WINDOW: UInt32 = 183
WINHTTP_OPTION_FEATURE_SUPPORTED: UInt32 = 184
WINHTTP_OPTION_QUIC_STATS: UInt32 = 185
WINHTTP_OPTION_HTTP3_KEEPALIVE: UInt32 = 188
WINHTTP_OPTION_HTTP3_HANDSHAKE_TIMEOUT: UInt32 = 189
WINHTTP_OPTION_HTTP3_INITIAL_RTT: UInt32 = 190
WINHTTP_OPTION_HTTP3_STREAM_ERROR_CODE: UInt32 = 191
WINHTTP_OPTION_REQUEST_ANNOTATION: UInt32 = 192
WINHTTP_OPTION_DISABLE_PROXY_AUTH_SCHEMES: UInt32 = 193
WINHTTP_OPTION_REVERT_IMPERSONATION_SERVER_CERT: UInt32 = 194
WINHTTP_OPTION_DISABLE_GLOBAL_POOLING: UInt32 = 195
WINHTTP_OPTION_USE_SESSION_SCH_CRED: UInt32 = 196
WINHTTP_LAST_OPTION: UInt32 = 196
WINHTTP_OPTION_USERNAME: UInt32 = 4096
WINHTTP_OPTION_PASSWORD: UInt32 = 4097
WINHTTP_OPTION_PROXY_USERNAME: UInt32 = 4098
WINHTTP_OPTION_PROXY_PASSWORD: UInt32 = 4099
WINHTTP_CONNS_PER_SERVER_UNLIMITED: UInt32 = 4294967295
WINHTTP_CONNECTION_RETRY_CONDITION_408: UInt32 = 1
WINHTTP_CONNECTION_RETRY_CONDITION_SSL_HANDSHAKE: UInt32 = 2
WINHTTP_CONNECTION_RETRY_CONDITION_STALE_CONNECTION: UInt32 = 4
WINHTTP_DECOMPRESSION_FLAG_GZIP: UInt32 = 1
WINHTTP_DECOMPRESSION_FLAG_DEFLATE: UInt32 = 2
WINHTTP_PROTOCOL_FLAG_HTTP2: UInt32 = 1
WINHTTP_PROTOCOL_FLAG_HTTP3: UInt32 = 2
WINHTTP_OPTION_REQUEST_ANNOTATION_MAX_LENGTH: UInt32 = 64000
WINHTTP_AUTOLOGON_SECURITY_LEVEL_MEDIUM: UInt32 = 0
WINHTTP_AUTOLOGON_SECURITY_LEVEL_LOW: UInt32 = 1
WINHTTP_AUTOLOGON_SECURITY_LEVEL_HIGH: UInt32 = 2
WINHTTP_AUTOLOGON_SECURITY_LEVEL_PROXY_ONLY: UInt32 = 3
WINHTTP_AUTOLOGON_SECURITY_LEVEL_DEFAULT: UInt32 = 0
WINHTTP_AUTOLOGON_SECURITY_LEVEL_MAX: UInt32 = 3
WINHTTP_OPTION_REDIRECT_POLICY_NEVER: UInt32 = 0
WINHTTP_OPTION_REDIRECT_POLICY_DISALLOW_HTTPS_TO_HTTP: UInt32 = 1
WINHTTP_OPTION_REDIRECT_POLICY_ALWAYS: UInt32 = 2
WINHTTP_OPTION_REDIRECT_POLICY_LAST: UInt32 = 2
WINHTTP_OPTION_REDIRECT_POLICY_DEFAULT: UInt32 = 1
WINHTTP_DISABLE_PASSPORT_AUTH: UInt32 = 0
WINHTTP_ENABLE_PASSPORT_AUTH: UInt32 = 268435456
WINHTTP_DISABLE_PASSPORT_KEYRING: UInt32 = 536870912
WINHTTP_ENABLE_PASSPORT_KEYRING: UInt32 = 1073741824
WINHTTP_PROXY_DISABLE_SCHEME_BASIC: UInt32 = 1
WINHTTP_PROXY_DISABLE_SCHEME_DIGEST: UInt32 = 2
WINHTTP_PROXY_DISABLE_SCHEME_NTLM: UInt32 = 4
WINHTTP_PROXY_DISABLE_SCHEME_KERBEROS: UInt32 = 8
WINHTTP_PROXY_DISABLE_SCHEME_NEGOTIATE: UInt32 = 16
WINHTTP_PROXY_DISABLE_AUTH_LOCAL_SERVICE: UInt32 = 256
WINHTTP_DISABLE_COOKIES: UInt32 = 1
WINHTTP_DISABLE_REDIRECTS: UInt32 = 2
WINHTTP_DISABLE_AUTHENTICATION: UInt32 = 4
WINHTTP_DISABLE_KEEP_ALIVE: UInt32 = 8
WINHTTP_ENABLE_SSL_REVOCATION: UInt32 = 1
WINHTTP_ENABLE_SSL_REVERT_IMPERSONATION: UInt32 = 2
WINHTTP_DISABLE_SPN_SERVER_PORT: UInt32 = 0
WINHTTP_ENABLE_SPN_SERVER_PORT: UInt32 = 1
WINHTTP_OPTION_SPN_MASK: UInt32 = 1
WINHTTP_HANDLE_TYPE_SESSION: UInt32 = 1
WINHTTP_HANDLE_TYPE_CONNECT: UInt32 = 2
WINHTTP_HANDLE_TYPE_REQUEST: UInt32 = 3
WINHTTP_HANDLE_TYPE_PROXY_RESOLVER: UInt32 = 4
WINHTTP_HANDLE_TYPE_WEBSOCKET: UInt32 = 5
WINHTTP_AUTH_SCHEME_PASSPORT: UInt32 = 4
WINHTTP_AUTH_SCHEME_DIGEST: UInt32 = 8
WINHTTP_AUTH_TARGET_SERVER: UInt32 = 0
WINHTTP_AUTH_TARGET_PROXY: UInt32 = 1
SECURITY_FLAG_SECURE: UInt32 = 1
SECURITY_FLAG_STRENGTH_WEAK: UInt32 = 268435456
SECURITY_FLAG_STRENGTH_MEDIUM: UInt32 = 1073741824
SECURITY_FLAG_STRENGTH_STRONG: UInt32 = 536870912
WINHTTP_CALLBACK_STATUS_FLAG_CERT_REV_FAILED: UInt32 = 1
WINHTTP_CALLBACK_STATUS_FLAG_INVALID_CERT: UInt32 = 2
WINHTTP_CALLBACK_STATUS_FLAG_CERT_REVOKED: UInt32 = 4
WINHTTP_CALLBACK_STATUS_FLAG_INVALID_CA: UInt32 = 8
WINHTTP_CALLBACK_STATUS_FLAG_CERT_CN_INVALID: UInt32 = 16
WINHTTP_CALLBACK_STATUS_FLAG_CERT_DATE_INVALID: UInt32 = 32
WINHTTP_CALLBACK_STATUS_FLAG_CERT_WRONG_USAGE: UInt32 = 64
WINHTTP_CALLBACK_STATUS_FLAG_SECURITY_CHANNEL_ERROR: UInt32 = 2147483648
WINHTTP_FLAG_SECURE_PROTOCOL_SSL2: UInt32 = 8
WINHTTP_FLAG_SECURE_PROTOCOL_SSL3: UInt32 = 32
WINHTTP_FLAG_SECURE_PROTOCOL_TLS1: UInt32 = 128
WINHTTP_FLAG_SECURE_PROTOCOL_TLS1_1: UInt32 = 512
WINHTTP_FLAG_SECURE_PROTOCOL_TLS1_2: UInt32 = 2048
WINHTTP_FLAG_SECURE_PROTOCOL_TLS1_3: UInt32 = 8192
WINHTTP_CALLBACK_STATUS_RESOLVING_NAME: UInt32 = 1
WINHTTP_CALLBACK_STATUS_NAME_RESOLVED: UInt32 = 2
WINHTTP_CALLBACK_STATUS_CONNECTING_TO_SERVER: UInt32 = 4
WINHTTP_CALLBACK_STATUS_CONNECTED_TO_SERVER: UInt32 = 8
WINHTTP_CALLBACK_STATUS_SENDING_REQUEST: UInt32 = 16
WINHTTP_CALLBACK_STATUS_REQUEST_SENT: UInt32 = 32
WINHTTP_CALLBACK_STATUS_RECEIVING_RESPONSE: UInt32 = 64
WINHTTP_CALLBACK_STATUS_RESPONSE_RECEIVED: UInt32 = 128
WINHTTP_CALLBACK_STATUS_CLOSING_CONNECTION: UInt32 = 256
WINHTTP_CALLBACK_STATUS_CONNECTION_CLOSED: UInt32 = 512
WINHTTP_CALLBACK_STATUS_HANDLE_CREATED: UInt32 = 1024
WINHTTP_CALLBACK_STATUS_HANDLE_CLOSING: UInt32 = 2048
WINHTTP_CALLBACK_STATUS_DETECTING_PROXY: UInt32 = 4096
WINHTTP_CALLBACK_STATUS_REDIRECT: UInt32 = 16384
WINHTTP_CALLBACK_STATUS_INTERMEDIATE_RESPONSE: UInt32 = 32768
WINHTTP_CALLBACK_STATUS_SECURE_FAILURE: UInt32 = 65536
WINHTTP_CALLBACK_STATUS_HEADERS_AVAILABLE: UInt32 = 131072
WINHTTP_CALLBACK_STATUS_DATA_AVAILABLE: UInt32 = 262144
WINHTTP_CALLBACK_STATUS_READ_COMPLETE: UInt32 = 524288
WINHTTP_CALLBACK_STATUS_WRITE_COMPLETE: UInt32 = 1048576
WINHTTP_CALLBACK_STATUS_REQUEST_ERROR: UInt32 = 2097152
WINHTTP_CALLBACK_STATUS_SENDREQUEST_COMPLETE: UInt32 = 4194304
WINHTTP_CALLBACK_STATUS_GETPROXYFORURL_COMPLETE: UInt32 = 16777216
WINHTTP_CALLBACK_STATUS_CLOSE_COMPLETE: UInt32 = 33554432
WINHTTP_CALLBACK_STATUS_SHUTDOWN_COMPLETE: UInt32 = 67108864
WINHTTP_CALLBACK_STATUS_GETPROXYSETTINGS_COMPLETE: UInt32 = 134217728
WINHTTP_CALLBACK_STATUS_SETTINGS_WRITE_COMPLETE: UInt32 = 268435456
WINHTTP_CALLBACK_STATUS_SETTINGS_READ_COMPLETE: UInt32 = 536870912
API_RECEIVE_RESPONSE: UInt32 = 1
API_QUERY_DATA_AVAILABLE: UInt32 = 2
API_READ_DATA: UInt32 = 3
API_WRITE_DATA: UInt32 = 4
API_SEND_REQUEST: UInt32 = 5
API_GET_PROXY_FOR_URL: UInt32 = 6
API_GET_PROXY_SETTINGS: UInt32 = 7
WINHTTP_CALLBACK_FLAG_DETECTING_PROXY: UInt32 = 4096
WINHTTP_CALLBACK_FLAG_REDIRECT: UInt32 = 16384
WINHTTP_CALLBACK_FLAG_INTERMEDIATE_RESPONSE: UInt32 = 32768
WINHTTP_CALLBACK_FLAG_SECURE_FAILURE: UInt32 = 65536
WINHTTP_CALLBACK_FLAG_SENDREQUEST_COMPLETE: UInt32 = 4194304
WINHTTP_CALLBACK_FLAG_HEADERS_AVAILABLE: UInt32 = 131072
WINHTTP_CALLBACK_FLAG_DATA_AVAILABLE: UInt32 = 262144
WINHTTP_CALLBACK_FLAG_READ_COMPLETE: UInt32 = 524288
WINHTTP_CALLBACK_FLAG_WRITE_COMPLETE: UInt32 = 1048576
WINHTTP_CALLBACK_FLAG_REQUEST_ERROR: UInt32 = 2097152
WINHTTP_CALLBACK_FLAG_GETPROXYFORURL_COMPLETE: UInt32 = 16777216
WINHTTP_CALLBACK_FLAG_GETPROXYSETTINGS_COMPLETE: UInt32 = 134217728
WINHTTP_CALLBACK_FLAG_ALL_NOTIFICATIONS: UInt32 = 4294967295
WINHTTP_QUERY_MIME_VERSION: UInt32 = 0
WINHTTP_QUERY_CONTENT_TYPE: UInt32 = 1
WINHTTP_QUERY_CONTENT_TRANSFER_ENCODING: UInt32 = 2
WINHTTP_QUERY_CONTENT_ID: UInt32 = 3
WINHTTP_QUERY_CONTENT_DESCRIPTION: UInt32 = 4
WINHTTP_QUERY_CONTENT_LENGTH: UInt32 = 5
WINHTTP_QUERY_CONTENT_LANGUAGE: UInt32 = 6
WINHTTP_QUERY_ALLOW: UInt32 = 7
WINHTTP_QUERY_PUBLIC: UInt32 = 8
WINHTTP_QUERY_DATE: UInt32 = 9
WINHTTP_QUERY_EXPIRES: UInt32 = 10
WINHTTP_QUERY_LAST_MODIFIED: UInt32 = 11
WINHTTP_QUERY_MESSAGE_ID: UInt32 = 12
WINHTTP_QUERY_URI: UInt32 = 13
WINHTTP_QUERY_DERIVED_FROM: UInt32 = 14
WINHTTP_QUERY_COST: UInt32 = 15
WINHTTP_QUERY_LINK: UInt32 = 16
WINHTTP_QUERY_PRAGMA: UInt32 = 17
WINHTTP_QUERY_VERSION: UInt32 = 18
WINHTTP_QUERY_STATUS_CODE: UInt32 = 19
WINHTTP_QUERY_STATUS_TEXT: UInt32 = 20
WINHTTP_QUERY_RAW_HEADERS: UInt32 = 21
WINHTTP_QUERY_RAW_HEADERS_CRLF: UInt32 = 22
WINHTTP_QUERY_CONNECTION: UInt32 = 23
WINHTTP_QUERY_ACCEPT: UInt32 = 24
WINHTTP_QUERY_ACCEPT_CHARSET: UInt32 = 25
WINHTTP_QUERY_ACCEPT_ENCODING: UInt32 = 26
WINHTTP_QUERY_ACCEPT_LANGUAGE: UInt32 = 27
WINHTTP_QUERY_AUTHORIZATION: UInt32 = 28
WINHTTP_QUERY_CONTENT_ENCODING: UInt32 = 29
WINHTTP_QUERY_FORWARDED: UInt32 = 30
WINHTTP_QUERY_FROM: UInt32 = 31
WINHTTP_QUERY_IF_MODIFIED_SINCE: UInt32 = 32
WINHTTP_QUERY_LOCATION: UInt32 = 33
WINHTTP_QUERY_ORIG_URI: UInt32 = 34
WINHTTP_QUERY_REFERER: UInt32 = 35
WINHTTP_QUERY_RETRY_AFTER: UInt32 = 36
WINHTTP_QUERY_SERVER: UInt32 = 37
WINHTTP_QUERY_TITLE: UInt32 = 38
WINHTTP_QUERY_USER_AGENT: UInt32 = 39
WINHTTP_QUERY_WWW_AUTHENTICATE: UInt32 = 40
WINHTTP_QUERY_PROXY_AUTHENTICATE: UInt32 = 41
WINHTTP_QUERY_ACCEPT_RANGES: UInt32 = 42
WINHTTP_QUERY_SET_COOKIE: UInt32 = 43
WINHTTP_QUERY_COOKIE: UInt32 = 44
WINHTTP_QUERY_REQUEST_METHOD: UInt32 = 45
WINHTTP_QUERY_REFRESH: UInt32 = 46
WINHTTP_QUERY_CONTENT_DISPOSITION: UInt32 = 47
WINHTTP_QUERY_AGE: UInt32 = 48
WINHTTP_QUERY_CACHE_CONTROL: UInt32 = 49
WINHTTP_QUERY_CONTENT_BASE: UInt32 = 50
WINHTTP_QUERY_CONTENT_LOCATION: UInt32 = 51
WINHTTP_QUERY_CONTENT_MD5: UInt32 = 52
WINHTTP_QUERY_CONTENT_RANGE: UInt32 = 53
WINHTTP_QUERY_ETAG: UInt32 = 54
WINHTTP_QUERY_HOST: UInt32 = 55
WINHTTP_QUERY_IF_MATCH: UInt32 = 56
WINHTTP_QUERY_IF_NONE_MATCH: UInt32 = 57
WINHTTP_QUERY_IF_RANGE: UInt32 = 58
WINHTTP_QUERY_IF_UNMODIFIED_SINCE: UInt32 = 59
WINHTTP_QUERY_MAX_FORWARDS: UInt32 = 60
WINHTTP_QUERY_PROXY_AUTHORIZATION: UInt32 = 61
WINHTTP_QUERY_RANGE: UInt32 = 62
WINHTTP_QUERY_TRANSFER_ENCODING: UInt32 = 63
WINHTTP_QUERY_UPGRADE: UInt32 = 64
WINHTTP_QUERY_VARY: UInt32 = 65
WINHTTP_QUERY_VIA: UInt32 = 66
WINHTTP_QUERY_WARNING: UInt32 = 67
WINHTTP_QUERY_EXPECT: UInt32 = 68
WINHTTP_QUERY_PROXY_CONNECTION: UInt32 = 69
WINHTTP_QUERY_UNLESS_MODIFIED_SINCE: UInt32 = 70
WINHTTP_QUERY_PROXY_SUPPORT: UInt32 = 75
WINHTTP_QUERY_AUTHENTICATION_INFO: UInt32 = 76
WINHTTP_QUERY_PASSPORT_URLS: UInt32 = 77
WINHTTP_QUERY_PASSPORT_CONFIG: UInt32 = 78
WINHTTP_QUERY_MAX: UInt32 = 78
WINHTTP_QUERY_EX_ALL_HEADERS: UInt32 = 21
WINHTTP_QUERY_CUSTOM: UInt32 = 65535
WINHTTP_QUERY_FLAG_REQUEST_HEADERS: UInt32 = 2147483648
WINHTTP_QUERY_FLAG_SYSTEMTIME: UInt32 = 1073741824
WINHTTP_QUERY_FLAG_NUMBER: UInt32 = 536870912
WINHTTP_QUERY_FLAG_NUMBER64: UInt32 = 134217728
WINHTTP_QUERY_FLAG_TRAILERS: UInt32 = 33554432
WINHTTP_QUERY_FLAG_WIRE_ENCODING: UInt32 = 16777216
HTTP_STATUS_CONTINUE: UInt32 = 100
HTTP_STATUS_SWITCH_PROTOCOLS: UInt32 = 101
HTTP_STATUS_OK: UInt32 = 200
HTTP_STATUS_CREATED: UInt32 = 201
HTTP_STATUS_ACCEPTED: UInt32 = 202
HTTP_STATUS_PARTIAL: UInt32 = 203
HTTP_STATUS_NO_CONTENT: UInt32 = 204
HTTP_STATUS_RESET_CONTENT: UInt32 = 205
HTTP_STATUS_PARTIAL_CONTENT: UInt32 = 206
HTTP_STATUS_WEBDAV_MULTI_STATUS: UInt32 = 207
HTTP_STATUS_AMBIGUOUS: UInt32 = 300
HTTP_STATUS_MOVED: UInt32 = 301
HTTP_STATUS_REDIRECT: UInt32 = 302
HTTP_STATUS_REDIRECT_METHOD: UInt32 = 303
HTTP_STATUS_NOT_MODIFIED: UInt32 = 304
HTTP_STATUS_USE_PROXY: UInt32 = 305
HTTP_STATUS_REDIRECT_KEEP_VERB: UInt32 = 307
HTTP_STATUS_PERMANENT_REDIRECT: UInt32 = 308
HTTP_STATUS_BAD_REQUEST: UInt32 = 400
HTTP_STATUS_DENIED: UInt32 = 401
HTTP_STATUS_PAYMENT_REQ: UInt32 = 402
HTTP_STATUS_FORBIDDEN: UInt32 = 403
HTTP_STATUS_NOT_FOUND: UInt32 = 404
HTTP_STATUS_BAD_METHOD: UInt32 = 405
HTTP_STATUS_NONE_ACCEPTABLE: UInt32 = 406
HTTP_STATUS_PROXY_AUTH_REQ: UInt32 = 407
HTTP_STATUS_REQUEST_TIMEOUT: UInt32 = 408
HTTP_STATUS_CONFLICT: UInt32 = 409
HTTP_STATUS_GONE: UInt32 = 410
HTTP_STATUS_LENGTH_REQUIRED: UInt32 = 411
HTTP_STATUS_PRECOND_FAILED: UInt32 = 412
HTTP_STATUS_REQUEST_TOO_LARGE: UInt32 = 413
HTTP_STATUS_URI_TOO_LONG: UInt32 = 414
HTTP_STATUS_UNSUPPORTED_MEDIA: UInt32 = 415
HTTP_STATUS_RETRY_WITH: UInt32 = 449
HTTP_STATUS_SERVER_ERROR: UInt32 = 500
HTTP_STATUS_NOT_SUPPORTED: UInt32 = 501
HTTP_STATUS_BAD_GATEWAY: UInt32 = 502
HTTP_STATUS_SERVICE_UNAVAIL: UInt32 = 503
HTTP_STATUS_GATEWAY_TIMEOUT: UInt32 = 504
HTTP_STATUS_VERSION_NOT_SUP: UInt32 = 505
HTTP_STATUS_FIRST: UInt32 = 100
HTTP_STATUS_LAST: UInt32 = 505
ICU_NO_ENCODE: UInt32 = 536870912
ICU_NO_META: UInt32 = 134217728
ICU_ENCODE_SPACES_ONLY: UInt32 = 67108864
ICU_BROWSER_MODE: UInt32 = 33554432
ICU_ENCODE_PERCENT: UInt32 = 4096
ICU_ESCAPE_AUTHORITY: UInt32 = 8192
WINHTTP_ADDREQ_INDEX_MASK: UInt32 = 65535
WINHTTP_ADDREQ_FLAGS_MASK: UInt32 = 4294901760
WINHTTP_ADDREQ_FLAG_ADD_IF_NEW: UInt32 = 268435456
WINHTTP_ADDREQ_FLAG_ADD: UInt32 = 536870912
WINHTTP_ADDREQ_FLAG_COALESCE_WITH_COMMA: UInt32 = 1073741824
WINHTTP_ADDREQ_FLAG_COALESCE_WITH_SEMICOLON: UInt32 = 16777216
WINHTTP_ADDREQ_FLAG_COALESCE: UInt32 = 1073741824
WINHTTP_ADDREQ_FLAG_REPLACE: UInt32 = 2147483648
WINHTTP_EXTENDED_HEADER_FLAG_UNICODE: UInt32 = 1
WINHTTP_IGNORE_REQUEST_TOTAL_LENGTH: UInt32 = 0
WINHTTP_ERROR_BASE: UInt32 = 12000
ERROR_WINHTTP_OUT_OF_HANDLES: UInt32 = 12001
ERROR_WINHTTP_TIMEOUT: UInt32 = 12002
ERROR_WINHTTP_INTERNAL_ERROR: UInt32 = 12004
ERROR_WINHTTP_INVALID_URL: UInt32 = 12005
ERROR_WINHTTP_UNRECOGNIZED_SCHEME: UInt32 = 12006
ERROR_WINHTTP_NAME_NOT_RESOLVED: UInt32 = 12007
ERROR_WINHTTP_INVALID_OPTION: UInt32 = 12009
ERROR_WINHTTP_OPTION_NOT_SETTABLE: UInt32 = 12011
ERROR_WINHTTP_SHUTDOWN: UInt32 = 12012
ERROR_WINHTTP_LOGIN_FAILURE: UInt32 = 12015
ERROR_WINHTTP_OPERATION_CANCELLED: UInt32 = 12017
ERROR_WINHTTP_INCORRECT_HANDLE_TYPE: UInt32 = 12018
ERROR_WINHTTP_INCORRECT_HANDLE_STATE: UInt32 = 12019
ERROR_WINHTTP_CANNOT_CONNECT: UInt32 = 12029
ERROR_WINHTTP_CONNECTION_ERROR: UInt32 = 12030
ERROR_WINHTTP_RESEND_REQUEST: UInt32 = 12032
ERROR_WINHTTP_CLIENT_AUTH_CERT_NEEDED: UInt32 = 12044
ERROR_WINHTTP_CANNOT_CALL_BEFORE_OPEN: UInt32 = 12100
ERROR_WINHTTP_CANNOT_CALL_BEFORE_SEND: UInt32 = 12101
ERROR_WINHTTP_CANNOT_CALL_AFTER_SEND: UInt32 = 12102
ERROR_WINHTTP_CANNOT_CALL_AFTER_OPEN: UInt32 = 12103
ERROR_WINHTTP_HEADER_NOT_FOUND: UInt32 = 12150
ERROR_WINHTTP_INVALID_SERVER_RESPONSE: UInt32 = 12152
ERROR_WINHTTP_INVALID_HEADER: UInt32 = 12153
ERROR_WINHTTP_INVALID_QUERY_REQUEST: UInt32 = 12154
ERROR_WINHTTP_HEADER_ALREADY_EXISTS: UInt32 = 12155
ERROR_WINHTTP_REDIRECT_FAILED: UInt32 = 12156
ERROR_WINHTTP_AUTO_PROXY_SERVICE_ERROR: UInt32 = 12178
ERROR_WINHTTP_BAD_AUTO_PROXY_SCRIPT: UInt32 = 12166
ERROR_WINHTTP_UNABLE_TO_DOWNLOAD_SCRIPT: UInt32 = 12167
ERROR_WINHTTP_UNHANDLED_SCRIPT_TYPE: UInt32 = 12176
ERROR_WINHTTP_SCRIPT_EXECUTION_ERROR: UInt32 = 12177
ERROR_WINHTTP_NOT_INITIALIZED: UInt32 = 12172
ERROR_WINHTTP_SECURE_FAILURE: UInt32 = 12175
ERROR_WINHTTP_SECURE_CERT_DATE_INVALID: UInt32 = 12037
ERROR_WINHTTP_SECURE_CERT_CN_INVALID: UInt32 = 12038
ERROR_WINHTTP_SECURE_INVALID_CA: UInt32 = 12045
ERROR_WINHTTP_SECURE_CERT_REV_FAILED: UInt32 = 12057
ERROR_WINHTTP_SECURE_CHANNEL_ERROR: UInt32 = 12157
ERROR_WINHTTP_SECURE_INVALID_CERT: UInt32 = 12169
ERROR_WINHTTP_SECURE_CERT_REVOKED: UInt32 = 12170
ERROR_WINHTTP_SECURE_CERT_WRONG_USAGE: UInt32 = 12179
ERROR_WINHTTP_AUTODETECTION_FAILED: UInt32 = 12180
ERROR_WINHTTP_HEADER_COUNT_EXCEEDED: UInt32 = 12181
ERROR_WINHTTP_HEADER_SIZE_OVERFLOW: UInt32 = 12182
ERROR_WINHTTP_CHUNKED_ENCODING_HEADER_SIZE_OVERFLOW: UInt32 = 12183
ERROR_WINHTTP_RESPONSE_DRAIN_OVERFLOW: UInt32 = 12184
ERROR_WINHTTP_CLIENT_CERT_NO_PRIVATE_KEY: UInt32 = 12185
ERROR_WINHTTP_CLIENT_CERT_NO_ACCESS_PRIVATE_KEY: UInt32 = 12186
ERROR_WINHTTP_CLIENT_AUTH_CERT_NEEDED_PROXY: UInt32 = 12187
ERROR_WINHTTP_SECURE_FAILURE_PROXY: UInt32 = 12188
ERROR_WINHTTP_RESERVED_189: UInt32 = 12189
ERROR_WINHTTP_HTTP_PROTOCOL_MISMATCH: UInt32 = 12190
ERROR_WINHTTP_GLOBAL_CALLBACK_FAILED: UInt32 = 12191
ERROR_WINHTTP_FEATURE_DISABLED: UInt32 = 12192
WINHTTP_ERROR_LAST: UInt32 = 12192
WINHTTP_RESET_STATE: UInt32 = 1
WINHTTP_RESET_SWPAD_CURRENT_NETWORK: UInt32 = 2
WINHTTP_RESET_SWPAD_ALL: UInt32 = 4
WINHTTP_RESET_SCRIPT_CACHE: UInt32 = 8
WINHTTP_RESET_ALL: UInt32 = 65535
WINHTTP_RESET_NOTIFY_NETWORK_CHANGED: UInt32 = 65536
WINHTTP_RESET_OUT_OF_PROC: UInt32 = 131072
WINHTTP_RESET_DISCARD_RESOLVERS: UInt32 = 262144
WINHTTP_WEB_SOCKET_MAX_CLOSE_REASON_LENGTH: UInt32 = 123
WINHTTP_WEB_SOCKET_MIN_KEEPALIVE_VALUE: UInt32 = 15000
WINHTTP_PROXY_NOTIFY_CHANGE: UInt32 = 1
WINHTTP_FEATURE_DISABLE_STREAM_QUEUE: UInt32 = 1
WINHTTP_FEATURE_IPV6_FAST_FALLBACK: UInt32 = 2
WINHTTP_FEATURE_CONNECTION_STATS_V0: UInt32 = 3
WINHTTP_FEATURE_REQUEST_TIMES: UInt32 = 4
WINHTTP_FEATURE_EXPIRE_CONNECTION: UInt32 = 5
WINHTTP_FEATURE_DISABLE_SECURE_PROTOCOL_FALLBACK: UInt32 = 6
WINHTTP_FEATURE_HTTP_PROTOCOL_REQUIRED: UInt32 = 7
WINHTTP_FEATURE_REQUEST_STATS: UInt32 = 8
WINHTTP_FEATURE_SERVER_CERT_CHAIN_CONTEXT: UInt32 = 9
WINHTTP_FEATURE_CONNECTION_STATS_V1: UInt32 = 12
WINHTTP_FEATURE_SECURITY_INFO: UInt32 = 13
WINHTTP_FEATURE_TCP_KEEPALIVE: UInt32 = 14
WINHTTP_FEATURE_TCP_FAST_OPEN: UInt32 = 15
WINHTTP_FEATURE_TLS_FALSE_START: UInt32 = 16
WINHTTP_FEATURE_IGNORE_CERT_REVOCATION_OFFLINE: UInt32 = 17
WINHTTP_FEATURE_TLS_PROTOCOL_INSECURE_FALLBACK: UInt32 = 20
WINHTTP_FEATURE_STREAM_ERROR_CODE: UInt32 = 21
WINHTTP_FEATURE_REQUIRE_STREAM_END: UInt32 = 22
WINHTTP_FEATURE_ENABLE_HTTP2_PLUS_CLIENT_CERT: UInt32 = 23
WINHTTP_FEATURE_FAILED_CONNECTION_RETRIES: UInt32 = 24
WINHTTP_FEATURE_HTTP2_KEEPALIVE: UInt32 = 26
WINHTTP_FEATURE_RESOLUTION_HOSTNAME: UInt32 = 27
WINHTTP_FEATURE_SET_TOKEN_BINDING: UInt32 = 28
WINHTTP_FEATURE_TOKEN_BINDING_PUBLIC_KEY: UInt32 = 29
WINHTTP_FEATURE_REFERER_TOKEN_BINDING_HOSTNAME: UInt32 = 30
WINHTTP_FEATURE_HTTP2_PLUS_TRANSFER_ENCODING: UInt32 = 31
WINHTTP_FEATURE_RESOLVER_CACHE_CONFIG: UInt32 = 32
WINHTTP_FEATURE_DISABLE_CERT_CHAIN_BUILDING: UInt32 = 33
WINHTTP_FEATURE_BACKGROUND_CONNECTIONS: UInt32 = 34
WINHTTP_FEATURE_FIRST_AVAILABLE_CONNECTION: UInt32 = 35
WINHTTP_FEATURE_TCP_PRIORITY_STATUS: UInt32 = 37
WINHTTP_FEATURE_CONNECTION_GUID: UInt32 = 38
WINHTTP_FEATURE_MATCH_CONNECTION_GUID: UInt32 = 39
WINHTTP_FEATURE_HTTP2_RECEIVE_WINDOW: UInt32 = 43
WINHTTP_FEATURE_IS_FEATURE_SUPPORTED: UInt32 = 44
WINHTTP_FEATURE_ADD_REQUEST_HEADERS_EX: UInt32 = 46
WINHTTP_FEATURE_SET_PROXY_SETINGS_PER_USER: UInt32 = 47
WINHTTP_FEATURE_READ_DATA_EX: UInt32 = 48
WINHTTP_FEATURE_QUERY_HEADERS_EX: UInt32 = 49
WINHTTP_FEATURE_QUERY_CONNECTION_GROUP: UInt32 = 50
WINHTTP_FEATURE_FREE_QUERY_CONNECTION_GROUP_RESULT: UInt32 = 51
WINHTTP_FEATURE_SECURITY_FLAG_IGNORE_ALL_CERT_ERRORS: UInt32 = 52
WINHTTP_FEATURE_FLAG_SECURE_DEFAULTS: UInt32 = 53
WINHTTP_FEATURE_EXTENDED_HEADER_FLAG_UNICODE: UInt32 = 54
WINHTTP_FEATURE_QUERY_FLAG_TRAILERS: UInt32 = 55
WINHTTP_FEATURE_QUERY_FLAG_WIRE_ENCODING: UInt32 = 56
WINHTTP_FEATURE_RESOLVER_CACHE_CONFIG_FLAG_SOFT_LIMIT: UInt32 = 57
WINHTTP_FEATURE_RESOLVER_CACHE_CONFIG_FLAG_BYPASS_CACHE: UInt32 = 58
WINHTTP_FEATURE_FLAG_AUTOMATIC_CHUNKING: UInt32 = 59
WINHTTP_FEATURE_QUERY_CONNECTION_GROUP_FLAG_INSECURE: UInt32 = 60
WINHTTP_FEATURE_MATCH_CONNECTION_GUID_FLAG_REQUIRE_MARKED_CONNECTION: UInt32 = 61
WINHTTP_FEATURE_QUERY_EX_ALL_HEADERS: UInt32 = 62
WINHTTP_FEATURE_READ_DATA_EX_FLAG_FILL_BUFFER: UInt32 = 63
WINHTTP_FEATURE_RESOLVER_CACHE_CONFIG_FLAG_USE_DNS_TTL: UInt32 = 64
WINHTTP_FEATURE_RESOLVER_CACHE_CONFIG_FLAG_CONN_USE_TTL: UInt32 = 65
WINHTTP_FEATURE_QUIC_STATS: UInt32 = 66
WINHTTP_FEATURE_HTTP3_KEEPALIVE: UInt32 = 69
WINHTTP_FEATURE_HTTP3_HANDSHAKE_TIMEOUT: UInt32 = 70
WINHTTP_FEATURE_HTTP3_INITIAL_RTT: UInt32 = 71
WINHTTP_FEATURE_HTTP3_STREAM_ERROR_CODE: UInt32 = 72
WINHTTP_FEATURE_REQUEST_ANNOTATION: UInt32 = 73
WINHTTP_FEATURE_DISABLE_PROXY_AUTH_SCHEMES: UInt32 = 74
WINHTTP_FEATURE_REVERT_IMPERSONATION_SERVER_CERT: UInt32 = 75
@winfunctype('WINHTTP.dll')
def WinHttpSetStatusCallback(hInternet: VoidPtr, lpfnInternetCallback: win32more.Windows.Win32.Networking.WinHttp.WINHTTP_STATUS_CALLBACK, dwNotificationFlags: UInt32, dwReserved: UIntPtr) -> win32more.Windows.Win32.Networking.WinHttp.WINHTTP_STATUS_CALLBACK: ...
@winfunctype('WINHTTP.dll')
def WinHttpTimeFromSystemTime(pst: POINTER(win32more.Windows.Win32.Foundation.SYSTEMTIME), pwszTime: win32more.Windows.Win32.Foundation.PWSTR) -> win32more.Windows.Win32.Foundation.BOOL: ...
@winfunctype('WINHTTP.dll')
def WinHttpTimeToSystemTime(pwszTime: win32more.Windows.Win32.Foundation.PWSTR, pst: POINTER(win32more.Windows.Win32.Foundation.SYSTEMTIME)) -> win32more.Windows.Win32.Foundation.BOOL: ...
@winfunctype('WINHTTP.dll')
def WinHttpCrackUrl(pwszUrl: win32more.Windows.Win32.Foundation.PWSTR, dwUrlLength: UInt32, dwFlags: UInt32, lpUrlComponents: POINTER(win32more.Windows.Win32.Networking.WinHttp.URL_COMPONENTS)) -> win32more.Windows.Win32.Foundation.BOOL: ...
@winfunctype('WINHTTP.dll')
def WinHttpCreateUrl(lpUrlComponents: POINTER(win32more.Windows.Win32.Networking.WinHttp.URL_COMPONENTS), dwFlags: win32more.Windows.Win32.Networking.WinHttp.WIN_HTTP_CREATE_URL_FLAGS, pwszUrl: win32more.Windows.Win32.Foundation.PWSTR, pdwUrlLength: POINTER(UInt32)) -> win32more.Windows.Win32.Foundation.BOOL: ...
@winfunctype('WINHTTP.dll')
def WinHttpCheckPlatform() -> win32more.Windows.Win32.Foundation.BOOL: ...
@winfunctype('WINHTTP.dll')
def WinHttpGetDefaultProxyConfiguration(pProxyInfo: POINTER(win32more.Windows.Win32.Networking.WinHttp.WINHTTP_PROXY_INFO)) -> win32more.Windows.Win32.Foundation.BOOL: ...
@winfunctype('WINHTTP.dll')
def WinHttpSetDefaultProxyConfiguration(pProxyInfo: POINTER(win32more.Windows.Win32.Networking.WinHttp.WINHTTP_PROXY_INFO)) -> win32more.Windows.Win32.Foundation.BOOL: ...
@winfunctype('WINHTTP.dll')
def WinHttpOpen(pszAgentW: win32more.Windows.Win32.Foundation.PWSTR, dwAccessType: win32more.Windows.Win32.Networking.WinHttp.WINHTTP_ACCESS_TYPE, pszProxyW: win32more.Windows.Win32.Foundation.PWSTR, pszProxyBypassW: win32more.Windows.Win32.Foundation.PWSTR, dwFlags: UInt32) -> VoidPtr: ...
@winfunctype('WINHTTP.dll')
def WinHttpCloseHandle(hInternet: VoidPtr) -> win32more.Windows.Win32.Foundation.BOOL: ...
@winfunctype('WINHTTP.dll')
def WinHttpConnect(hSession: VoidPtr, pswzServerName: win32more.Windows.Win32.Foundation.PWSTR, nServerPort: UInt16, dwReserved: UInt32) -> VoidPtr: ...
@winfunctype('WINHTTP.dll')
def WinHttpReadData(hRequest: VoidPtr, lpBuffer: VoidPtr, dwNumberOfBytesToRead: UInt32, lpdwNumberOfBytesRead: POINTER(UInt32)) -> win32more.Windows.Win32.Foundation.BOOL: ...
@winfunctype('WINHTTP.dll')
def WinHttpReadDataEx(hRequest: VoidPtr, lpBuffer: VoidPtr, dwNumberOfBytesToRead: UInt32, lpdwNumberOfBytesRead: POINTER(UInt32), ullFlags: UInt64, cbProperty: UInt32, pvProperty: VoidPtr) -> UInt32: ...
@winfunctype('WINHTTP.dll')
def WinHttpWriteData(hRequest: VoidPtr, lpBuffer: VoidPtr, dwNumberOfBytesToWrite: UInt32, lpdwNumberOfBytesWritten: POINTER(UInt32)) -> win32more.Windows.Win32.Foundation.BOOL: ...
@winfunctype('WINHTTP.dll')
def WinHttpQueryDataAvailable(hRequest: VoidPtr, lpdwNumberOfBytesAvailable: POINTER(UInt32)) -> win32more.Windows.Win32.Foundation.BOOL: ...
@winfunctype('WINHTTP.dll')
def WinHttpQueryOption(hInternet: VoidPtr, dwOption: UInt32, lpBuffer: VoidPtr, lpdwBufferLength: POINTER(UInt32)) -> win32more.Windows.Win32.Foundation.BOOL: ...
@winfunctype('WINHTTP.dll')
def WinHttpSetOption(hInternet: VoidPtr, dwOption: UInt32, lpBuffer: VoidPtr, dwBufferLength: UInt32) -> win32more.Windows.Win32.Foundation.BOOL: ...
@winfunctype('WINHTTP.dll')
def WinHttpSetTimeouts(hInternet: VoidPtr, nResolveTimeout: Int32, nConnectTimeout: Int32, nSendTimeout: Int32, nReceiveTimeout: Int32) -> win32more.Windows.Win32.Foundation.BOOL: ...
@winfunctype('WINHTTP.dll')
def WinHttpOpenRequest(hConnect: VoidPtr, pwszVerb: win32more.Windows.Win32.Foundation.PWSTR, pwszObjectName: win32more.Windows.Win32.Foundation.PWSTR, pwszVersion: win32more.Windows.Win32.Foundation.PWSTR, pwszReferrer: win32more.Windows.Win32.Foundation.PWSTR, ppwszAcceptTypes: POINTER(win32more.Windows.Win32.Foundation.PWSTR), dwFlags: win32more.Windows.Win32.Networking.WinHttp.WINHTTP_OPEN_REQUEST_FLAGS) -> VoidPtr: ...
@winfunctype('WINHTTP.dll')
def WinHttpAddRequestHeaders(hRequest: VoidPtr, lpszHeaders: win32more.Windows.Win32.Foundation.PWSTR, dwHeadersLength: UInt32, dwModifiers: UInt32) -> win32more.Windows.Win32.Foundation.BOOL: ...
@winfunctype('WINHTTP.dll')
def WinHttpAddRequestHeadersEx(hRequest: VoidPtr, dwModifiers: UInt32, ullFlags: UInt64, ullExtra: UInt64, cHeaders: UInt32, pHeaders: POINTER(win32more.Windows.Win32.Networking.WinHttp.WINHTTP_EXTENDED_HEADER)) -> UInt32: ...
@winfunctype('WINHTTP.dll')
def WinHttpSendRequest(hRequest: VoidPtr, lpszHeaders: win32more.Windows.Win32.Foundation.PWSTR, dwHeadersLength: UInt32, lpOptional: VoidPtr, dwOptionalLength: UInt32, dwTotalLength: UInt32, dwContext: UIntPtr) -> win32more.Windows.Win32.Foundation.BOOL: ...
@winfunctype('WINHTTP.dll')
def WinHttpSetCredentials(hRequest: VoidPtr, AuthTargets: UInt32, AuthScheme: UInt32, pwszUserName: win32more.Windows.Win32.Foundation.PWSTR, pwszPassword: win32more.Windows.Win32.Foundation.PWSTR, pAuthParams: VoidPtr) -> win32more.Windows.Win32.Foundation.BOOL: ...
@winfunctype('WINHTTP.dll')
def WinHttpQueryAuthSchemes(hRequest: VoidPtr, lpdwSupportedSchemes: POINTER(UInt32), lpdwFirstScheme: POINTER(UInt32), pdwAuthTarget: POINTER(UInt32)) -> win32more.Windows.Win32.Foundation.BOOL: ...
@winfunctype('WINHTTP.dll')
def WinHttpReceiveResponse(hRequest: VoidPtr, lpReserved: VoidPtr) -> win32more.Windows.Win32.Foundation.BOOL: ...
@winfunctype('WINHTTP.dll')
def WinHttpQueryHeaders(hRequest: VoidPtr, dwInfoLevel: UInt32, pwszName: win32more.Windows.Win32.Foundation.PWSTR, lpBuffer: VoidPtr, lpdwBufferLength: POINTER(UInt32), lpdwIndex: POINTER(UInt32)) -> win32more.Windows.Win32.Foundation.BOOL: ...
@winfunctype('WINHTTP.dll')
def WinHttpQueryHeadersEx(hRequest: VoidPtr, dwInfoLevel: UInt32, ullFlags: UInt64, uiCodePage: UInt32, pdwIndex: POINTER(UInt32), pHeaderName: POINTER(win32more.Windows.Win32.Networking.WinHttp.WINHTTP_HEADER_NAME), pBuffer: VoidPtr, pdwBufferLength: POINTER(UInt32), ppHeaders: POINTER(POINTER(win32more.Windows.Win32.Networking.WinHttp.WINHTTP_EXTENDED_HEADER)), pdwHeadersCount: POINTER(UInt32)) -> UInt32: ...
@winfunctype('WINHTTP.dll')
def WinHttpQueryConnectionGroup(hInternet: VoidPtr, pGuidConnection: POINTER(Guid), ullFlags: UInt64, ppResult: POINTER(POINTER(win32more.Windows.Win32.Networking.WinHttp.WINHTTP_QUERY_CONNECTION_GROUP_RESULT))) -> UInt32: ...
@winfunctype('WINHTTP.dll')
def WinHttpFreeQueryConnectionGroupResult(pResult: POINTER(win32more.Windows.Win32.Networking.WinHttp.WINHTTP_QUERY_CONNECTION_GROUP_RESULT)) -> Void: ...
@winfunctype('WINHTTP.dll')
def WinHttpDetectAutoProxyConfigUrl(dwAutoDetectFlags: UInt32, ppwstrAutoConfigUrl: POINTER(win32more.Windows.Win32.Foundation.PWSTR)) -> win32more.Windows.Win32.Foundation.BOOL: ...
@winfunctype('WINHTTP.dll')
def WinHttpGetProxyForUrl(hSession: VoidPtr, lpcwszUrl: win32more.Windows.Win32.Foundation.PWSTR, pAutoProxyOptions: POINTER(win32more.Windows.Win32.Networking.WinHttp.WINHTTP_AUTOPROXY_OPTIONS), pProxyInfo: POINTER(win32more.Windows.Win32.Networking.WinHttp.WINHTTP_PROXY_INFO)) -> win32more.Windows.Win32.Foundation.BOOL: ...
@winfunctype('WINHTTP.dll')
def WinHttpCreateProxyResolver(hSession: VoidPtr, phResolver: POINTER(VoidPtr)) -> UInt32: ...
@winfunctype('WINHTTP.dll')
def WinHttpGetProxyForUrlEx(hResolver: VoidPtr, pcwszUrl: win32more.Windows.Win32.Foundation.PWSTR, pAutoProxyOptions: POINTER(win32more.Windows.Win32.Networking.WinHttp.WINHTTP_AUTOPROXY_OPTIONS), pContext: UIntPtr) -> UInt32: ...
@winfunctype('WINHTTP.dll')
def WinHttpGetProxyForUrlEx2(hResolver: VoidPtr, pcwszUrl: win32more.Windows.Win32.Foundation.PWSTR, pAutoProxyOptions: POINTER(win32more.Windows.Win32.Networking.WinHttp.WINHTTP_AUTOPROXY_OPTIONS), cbInterfaceSelectionContext: UInt32, pInterfaceSelectionContext: POINTER(Byte), pContext: UIntPtr) -> UInt32: ...
@winfunctype('WINHTTP.dll')
def WinHttpGetProxyResult(hResolver: VoidPtr, pProxyResult: POINTER(win32more.Windows.Win32.Networking.WinHttp.WINHTTP_PROXY_RESULT)) -> UInt32: ...
@winfunctype('WINHTTP.dll')
def WinHttpGetProxyResultEx(hResolver: VoidPtr, pProxyResultEx: POINTER(win32more.Windows.Win32.Networking.WinHttp.WINHTTP_PROXY_RESULT_EX)) -> UInt32: ...
@winfunctype('WINHTTP.dll')
def WinHttpFreeProxyResult(pProxyResult: POINTER(win32more.Windows.Win32.Networking.WinHttp.WINHTTP_PROXY_RESULT)) -> Void: ...
@winfunctype('WINHTTP.dll')
def WinHttpFreeProxyResultEx(pProxyResultEx: POINTER(win32more.Windows.Win32.Networking.WinHttp.WINHTTP_PROXY_RESULT_EX)) -> Void: ...
@winfunctype('WINHTTP.dll')
def WinHttpResetAutoProxy(hSession: VoidPtr, dwFlags: UInt32) -> UInt32: ...
@winfunctype('WINHTTP.dll')
def WinHttpGetIEProxyConfigForCurrentUser(pProxyConfig: POINTER(win32more.Windows.Win32.Networking.WinHttp.WINHTTP_CURRENT_USER_IE_PROXY_CONFIG)) -> win32more.Windows.Win32.Foundation.BOOL: ...
@winfunctype('WINHTTP.dll')
def WinHttpWriteProxySettings(hSession: VoidPtr, fForceUpdate: win32more.Windows.Win32.Foundation.BOOL, pWinHttpProxySettings: POINTER(win32more.Windows.Win32.Networking.WinHttp.WINHTTP_PROXY_SETTINGS)) -> UInt32: ...
@winfunctype('WINHTTP.dll')
def WinHttpReadProxySettings(hSession: VoidPtr, pcwszConnectionName: win32more.Windows.Win32.Foundation.PWSTR, fFallBackToDefaultSettings: win32more.Windows.Win32.Foundation.BOOL, fSetAutoDiscoverForDefaultSettings: win32more.Windows.Win32.Foundation.BOOL, pdwSettingsVersion: POINTER(UInt32), pfDefaultSettingsAreReturned: POINTER(win32more.Windows.Win32.Foundation.BOOL), pWinHttpProxySettings: POINTER(win32more.Windows.Win32.Networking.WinHttp.WINHTTP_PROXY_SETTINGS)) -> UInt32: ...
@winfunctype('WINHTTP.dll')
def WinHttpFreeProxySettings(pWinHttpProxySettings: POINTER(win32more.Windows.Win32.Networking.WinHttp.WINHTTP_PROXY_SETTINGS)) -> Void: ...
@winfunctype('WINHTTP.dll')
def WinHttpGetProxySettingsVersion(hSession: VoidPtr, pdwProxySettingsVersion: POINTER(UInt32)) -> UInt32: ...
@winfunctype('WINHTTP.dll')
def WinHttpSetProxySettingsPerUser(fProxySettingsPerUser: win32more.Windows.Win32.Foundation.BOOL) -> UInt32: ...
@winfunctype('WINHTTP.dll')
def WinHttpWebSocketCompleteUpgrade(hRequest: VoidPtr, pContext: UIntPtr) -> VoidPtr: ...
@winfunctype('WINHTTP.dll')
def WinHttpWebSocketSend(hWebSocket: VoidPtr, eBufferType: win32more.Windows.Win32.Networking.WinHttp.WINHTTP_WEB_SOCKET_BUFFER_TYPE, pvBuffer: VoidPtr, dwBufferLength: UInt32) -> UInt32: ...
@winfunctype('WINHTTP.dll')
def WinHttpWebSocketReceive(hWebSocket: VoidPtr, pvBuffer: VoidPtr, dwBufferLength: UInt32, pdwBytesRead: POINTER(UInt32), peBufferType: POINTER(win32more.Windows.Win32.Networking.WinHttp.WINHTTP_WEB_SOCKET_BUFFER_TYPE)) -> UInt32: ...
@winfunctype('WINHTTP.dll')
def WinHttpWebSocketShutdown(hWebSocket: VoidPtr, usStatus: UInt16, pvReason: VoidPtr, dwReasonLength: UInt32) -> UInt32: ...
@winfunctype('WINHTTP.dll')
def WinHttpWebSocketClose(hWebSocket: VoidPtr, usStatus: UInt16, pvReason: VoidPtr, dwReasonLength: UInt32) -> UInt32: ...
@winfunctype('WINHTTP.dll')
def WinHttpWebSocketQueryCloseStatus(hWebSocket: VoidPtr, pusStatus: POINTER(UInt16), pvReason: VoidPtr, dwReasonLength: UInt32, pdwReasonLengthConsumed: POINTER(UInt32)) -> UInt32: ...
@winfunctype('WINHTTP.dll')
def WinHttpRegisterProxyChangeNotification(ullFlags: UInt64, pfnCallback: win32more.Windows.Win32.Networking.WinHttp.WINHTTP_PROXY_CHANGE_CALLBACK, pvContext: VoidPtr, hRegistration: POINTER(VoidPtr)) -> UInt32: ...
@winfunctype('WINHTTP.dll')
def WinHttpUnregisterProxyChangeNotification(hRegistration: VoidPtr) -> UInt32: ...
@winfunctype('WINHTTP.dll')
def WinHttpGetProxySettingsEx(hResolver: VoidPtr, ProxySettingsType: win32more.Windows.Win32.Networking.WinHttp.WINHTTP_PROXY_SETTINGS_TYPE, pProxySettingsParam: POINTER(win32more.Windows.Win32.Networking.WinHttp.WINHTTP_PROXY_SETTINGS_PARAM), pContext: UIntPtr) -> UInt32: ...
@winfunctype('WINHTTP.dll')
def WinHttpGetProxySettingsResultEx(hResolver: VoidPtr, pProxySettingsEx: VoidPtr) -> UInt32: ...
@winfunctype('WINHTTP.dll')
def WinHttpFreeProxySettingsEx(ProxySettingsType: win32more.Windows.Win32.Networking.WinHttp.WINHTTP_PROXY_SETTINGS_TYPE, pProxySettingsEx: VoidPtr) -> UInt32: ...
class HTTP_VERSION_INFO(Structure):
    dwMajorVersion: UInt32
    dwMinorVersion: UInt32
class IWinHttpRequest(ComPtr):
    extends: win32more.Windows.Win32.System.Com.IDispatch
    _iid_ = Guid('{016fe2ec-b2c8-45f8-b23b-39e53a75396b}')
    @commethod(7)
    def SetProxy(self, ProxySetting: Int32, ProxyServer: win32more.Windows.Win32.System.Variant.VARIANT, BypassList: win32more.Windows.Win32.System.Variant.VARIANT) -> win32more.Windows.Win32.Foundation.HRESULT: ...
    @commethod(8)
    def SetCredentials(self, UserName: win32more.Windows.Win32.Foundation.BSTR, Password: win32more.Windows.Win32.Foundation.BSTR, Flags: Int32) -> win32more.Windows.Win32.Foundation.HRESULT: ...
    @commethod(9)
    def Open(self, Method: win32more.Windows.Win32.Foundation.BSTR, Url: win32more.Windows.Win32.Foundation.BSTR, Async: win32more.Windows.Win32.System.Variant.VARIANT) -> win32more.Windows.Win32.Foundation.HRESULT: ...
    @commethod(10)
    def SetRequestHeader(self, Header: win32more.Windows.Win32.Foundation.BSTR, Value: win32more.Windows.Win32.Foundation.BSTR) -> win32more.Windows.Win32.Foundation.HRESULT: ...
    @commethod(11)
    def GetResponseHeader(self, Header: win32more.Windows.Win32.Foundation.BSTR, Value: POINTER(win32more.Windows.Win32.Foundation.BSTR)) -> win32more.Windows.Win32.Foundation.HRESULT: ...
    @commethod(12)
    def GetAllResponseHeaders(self, Headers: POINTER(win32more.Windows.Win32.Foundation.BSTR)) -> win32more.Windows.Win32.Foundation.HRESULT: ...
    @commethod(13)
    def Send(self, Body: win32more.Windows.Win32.System.Variant.VARIANT) -> win32more.Windows.Win32.Foundation.HRESULT: ...
    @commethod(14)
    def get_Status(self, Status: POINTER(Int32)) -> win32more.Windows.Win32.Foundation.HRESULT: ...
    @commethod(15)
    def get_StatusText(self, Status: POINTER(win32more.Windows.Win32.Foundation.BSTR)) -> win32more.Windows.Win32.Foundation.HRESULT: ...
    @commethod(16)
    def get_ResponseText(self, Body: POINTER(win32more.Windows.Win32.Foundation.BSTR)) -> win32more.Windows.Win32.Foundation.HRESULT: ...
    @commethod(17)
    def get_ResponseBody(self, Body: POINTER(win32more.Windows.Win32.System.Variant.VARIANT)) -> win32more.Windows.Win32.Foundation.HRESULT: ...
    @commethod(18)
    def get_ResponseStream(self, Body: POINTER(win32more.Windows.Win32.System.Variant.VARIANT)) -> win32more.Windows.Win32.Foundation.HRESULT: ...
    @commethod(19)
    def get_Option(self, Option: win32more.Windows.Win32.Networking.WinHttp.WinHttpRequestOption, Value: POINTER(win32more.Windows.Win32.System.Variant.VARIANT)) -> win32more.Windows.Win32.Foundation.HRESULT: ...
    @commethod(20)
    def put_Option(self, Option: win32more.Windows.Win32.Networking.WinHttp.WinHttpRequestOption, Value: win32more.Windows.Win32.System.Variant.VARIANT) -> win32more.Windows.Win32.Foundation.HRESULT: ...
    @commethod(21)
    def WaitForResponse(self, Timeout: win32more.Windows.Win32.System.Variant.VARIANT, Succeeded: POINTER(win32more.Windows.Win32.Foundation.VARIANT_BOOL)) -> win32more.Windows.Win32.Foundation.HRESULT: ...
    @commethod(22)
    def Abort(self) -> win32more.Windows.Win32.Foundation.HRESULT: ...
    @commethod(23)
    def SetTimeouts(self, ResolveTimeout: Int32, ConnectTimeout: Int32, SendTimeout: Int32, ReceiveTimeout: Int32) -> win32more.Windows.Win32.Foundation.HRESULT: ...
    @commethod(24)
    def SetClientCertificate(self, ClientCertificate: win32more.Windows.Win32.Foundation.BSTR) -> win32more.Windows.Win32.Foundation.HRESULT: ...
    @commethod(25)
    def SetAutoLogonPolicy(self, AutoLogonPolicy: win32more.Windows.Win32.Networking.WinHttp.WinHttpRequestAutoLogonPolicy) -> win32more.Windows.Win32.Foundation.HRESULT: ...
class IWinHttpRequestEvents(ComPtr):
    extends: win32more.Windows.Win32.System.Com.IUnknown
    _iid_ = Guid('{f97f4e15-b787-4212-80d1-d380cbbf982e}')
    @commethod(3)
    def OnResponseStart(self, Status: Int32, ContentType: win32more.Windows.Win32.Foundation.BSTR) -> Void: ...
    @commethod(4)
    def OnResponseDataAvailable(self, Data: POINTER(POINTER(win32more.Windows.Win32.System.Com.SAFEARRAY))) -> Void: ...
    @commethod(5)
    def OnResponseFinished(self) -> Void: ...
    @commethod(6)
    def OnError(self, ErrorNumber: Int32, ErrorDescription: win32more.Windows.Win32.Foundation.BSTR) -> Void: ...
class URL_COMPONENTS(Structure):
    dwStructSize: UInt32
    lpszScheme: win32more.Windows.Win32.Foundation.PWSTR
    dwSchemeLength: UInt32
    nScheme: win32more.Windows.Win32.Networking.WinHttp.WINHTTP_INTERNET_SCHEME
    lpszHostName: win32more.Windows.Win32.Foundation.PWSTR
    dwHostNameLength: UInt32
    nPort: UInt16
    lpszUserName: win32more.Windows.Win32.Foundation.PWSTR
    dwUserNameLength: UInt32
    lpszPassword: win32more.Windows.Win32.Foundation.PWSTR
    dwPasswordLength: UInt32
    lpszUrlPath: win32more.Windows.Win32.Foundation.PWSTR
    dwUrlPathLength: UInt32
    lpszExtraInfo: win32more.Windows.Win32.Foundation.PWSTR
    dwExtraInfoLength: UInt32
WINHTTP_ACCESS_TYPE = UInt32
WINHTTP_ACCESS_TYPE_NO_PROXY: win32more.Windows.Win32.Networking.WinHttp.WINHTTP_ACCESS_TYPE = 1
WINHTTP_ACCESS_TYPE_DEFAULT_PROXY: win32more.Windows.Win32.Networking.WinHttp.WINHTTP_ACCESS_TYPE = 0
WINHTTP_ACCESS_TYPE_NAMED_PROXY: win32more.Windows.Win32.Networking.WinHttp.WINHTTP_ACCESS_TYPE = 3
WINHTTP_ACCESS_TYPE_AUTOMATIC_PROXY: win32more.Windows.Win32.Networking.WinHttp.WINHTTP_ACCESS_TYPE = 4
class WINHTTP_ASYNC_RESULT(Structure):
    dwResult: UIntPtr
    dwError: UInt32
class WINHTTP_AUTOPROXY_OPTIONS(Structure):
    dwFlags: UInt32
    dwAutoDetectFlags: UInt32
    lpszAutoConfigUrl: win32more.Windows.Win32.Foundation.PWSTR
    lpvReserved: VoidPtr
    dwReserved: UInt32
    fAutoLogonIfChallenged: win32more.Windows.Win32.Foundation.BOOL
class WINHTTP_CERTIFICATE_INFO(Structure):
    ftExpiry: win32more.Windows.Win32.Foundation.FILETIME
    ftStart: win32more.Windows.Win32.Foundation.FILETIME
    lpszSubjectInfo: win32more.Windows.Win32.Foundation.PWSTR
    lpszIssuerInfo: win32more.Windows.Win32.Foundation.PWSTR
    lpszProtocolName: win32more.Windows.Win32.Foundation.PWSTR
    lpszSignatureAlgName: win32more.Windows.Win32.Foundation.PWSTR
    lpszEncryptionAlgName: win32more.Windows.Win32.Foundation.PWSTR
    dwKeySize: UInt32
class WINHTTP_CONNECTION_GROUP(Structure):
    cConnections: UInt32
    guidGroup: Guid
if ARCH in 'X64,ARM64':
    class WINHTTP_CONNECTION_INFO(Structure):
        cbSize: UInt32
        LocalAddress: win32more.Windows.Win32.Networking.WinSock.SOCKADDR_STORAGE
        RemoteAddress: win32more.Windows.Win32.Networking.WinSock.SOCKADDR_STORAGE
elif ARCH in 'X86':
    class WINHTTP_CONNECTION_INFO(Structure):
        cbSize: UInt32
        LocalAddress: win32more.Windows.Win32.Networking.WinSock.SOCKADDR_STORAGE
        RemoteAddress: win32more.Windows.Win32.Networking.WinSock.SOCKADDR_STORAGE
        _pack_ = 4
class WINHTTP_CREDS(Structure):
    lpszUserName: win32more.Windows.Win32.Foundation.PSTR
    lpszPassword: win32more.Windows.Win32.Foundation.PSTR
    lpszRealm: win32more.Windows.Win32.Foundation.PSTR
    dwAuthScheme: win32more.Windows.Win32.Networking.WinHttp.WINHTTP_CREDS_AUTHSCHEME
    lpszHostName: win32more.Windows.Win32.Foundation.PSTR
    dwPort: UInt32
WINHTTP_CREDS_AUTHSCHEME = UInt32
WINHTTP_AUTH_SCHEME_BASIC: win32more.Windows.Win32.Networking.WinHttp.WINHTTP_CREDS_AUTHSCHEME = 1
WINHTTP_AUTH_SCHEME_NTLM: win32more.Windows.Win32.Networking.WinHttp.WINHTTP_CREDS_AUTHSCHEME = 2
WINHTTP_AUTH_SCHEME_NEGOTIATE: win32more.Windows.Win32.Networking.WinHttp.WINHTTP_CREDS_AUTHSCHEME = 16
class WINHTTP_CREDS_EX(Structure):
    lpszUserName: win32more.Windows.Win32.Foundation.PSTR
    lpszPassword: win32more.Windows.Win32.Foundation.PSTR
    lpszRealm: win32more.Windows.Win32.Foundation.PSTR
    dwAuthScheme: win32more.Windows.Win32.Networking.WinHttp.WINHTTP_CREDS_AUTHSCHEME
    lpszHostName: win32more.Windows.Win32.Foundation.PSTR
    dwPort: UInt32
    lpszUrl: win32more.Windows.Win32.Foundation.PSTR
class WINHTTP_CURRENT_USER_IE_PROXY_CONFIG(Structure):
    fAutoDetect: win32more.Windows.Win32.Foundation.BOOL
    lpszAutoConfigUrl: win32more.Windows.Win32.Foundation.PWSTR
    lpszProxy: win32more.Windows.Win32.Foundation.PWSTR
    lpszProxyBypass: win32more.Windows.Win32.Foundation.PWSTR
class WINHTTP_EXTENDED_HEADER(Structure):
    Anonymous1: _Anonymous1_e__Union
    Anonymous2: _Anonymous2_e__Union
    class _Anonymous1_e__Union(Union):
        pwszName: win32more.Windows.Win32.Foundation.PWSTR
        pszName: win32more.Windows.Win32.Foundation.PSTR
    class _Anonymous2_e__Union(Union):
        pwszValue: win32more.Windows.Win32.Foundation.PWSTR
        pszValue: win32more.Windows.Win32.Foundation.PSTR
class WINHTTP_FAILED_CONNECTION_RETRIES(Structure):
    dwMaxRetries: UInt32
    dwAllowedRetryConditions: UInt32
class WINHTTP_HEADER_NAME(Union):
    pwszName: win32more.Windows.Win32.Foundation.PWSTR
    pszName: win32more.Windows.Win32.Foundation.PSTR
class WINHTTP_HOST_CONNECTION_GROUP(Structure):
    pwszHost: win32more.Windows.Win32.Foundation.PWSTR
    cConnectionGroups: UInt32
    pConnectionGroups: POINTER(win32more.Windows.Win32.Networking.WinHttp.WINHTTP_CONNECTION_GROUP)
class WINHTTP_HTTP2_RECEIVE_WINDOW(Structure):
    ulStreamWindow: UInt32
    ulStreamWindowUpdateDelta: UInt32
WINHTTP_INTERNET_SCHEME = Int32
WINHTTP_INTERNET_SCHEME_HTTP: win32more.Windows.Win32.Networking.WinHttp.WINHTTP_INTERNET_SCHEME = 1
WINHTTP_INTERNET_SCHEME_HTTPS: win32more.Windows.Win32.Networking.WinHttp.WINHTTP_INTERNET_SCHEME = 2
WINHTTP_INTERNET_SCHEME_FTP: win32more.Windows.Win32.Networking.WinHttp.WINHTTP_INTERNET_SCHEME = 3
WINHTTP_INTERNET_SCHEME_SOCKS: win32more.Windows.Win32.Networking.WinHttp.WINHTTP_INTERNET_SCHEME = 4
if ARCH in 'X64,ARM64':
    class WINHTTP_MATCH_CONNECTION_GUID(Structure):
        ConnectionGuid: Guid
        ullFlags: UInt64
elif ARCH in 'X86':
    class WINHTTP_MATCH_CONNECTION_GUID(Structure):
        ConnectionGuid: Guid
        ullFlags: UInt64
        _pack_ = 4
WINHTTP_OPEN_REQUEST_FLAGS = UInt32
WINHTTP_FLAG_BYPASS_PROXY_CACHE: win32more.Windows.Win32.Networking.WinHttp.WINHTTP_OPEN_REQUEST_FLAGS = 256
WINHTTP_FLAG_ESCAPE_DISABLE: win32more.Windows.Win32.Networking.WinHttp.WINHTTP_OPEN_REQUEST_FLAGS = 64
WINHTTP_FLAG_ESCAPE_DISABLE_QUERY: win32more.Windows.Win32.Networking.WinHttp.WINHTTP_OPEN_REQUEST_FLAGS = 128
WINHTTP_FLAG_ESCAPE_PERCENT: win32more.Windows.Win32.Networking.WinHttp.WINHTTP_OPEN_REQUEST_FLAGS = 4
WINHTTP_FLAG_NULL_CODEPAGE: win32more.Windows.Win32.Networking.WinHttp.WINHTTP_OPEN_REQUEST_FLAGS = 8
WINHTTP_FLAG_REFRESH: win32more.Windows.Win32.Networking.WinHttp.WINHTTP_OPEN_REQUEST_FLAGS = 256
WINHTTP_FLAG_SECURE: win32more.Windows.Win32.Networking.WinHttp.WINHTTP_OPEN_REQUEST_FLAGS = 8388608
@winfunctype_pointer
def WINHTTP_PROXY_CHANGE_CALLBACK(ullFlags: UInt64, pvContext: VoidPtr) -> Void: ...
class WINHTTP_PROXY_INFO(Structure):
    dwAccessType: win32more.Windows.Win32.Networking.WinHttp.WINHTTP_ACCESS_TYPE
    lpszProxy: win32more.Windows.Win32.Foundation.PWSTR
    lpszProxyBypass: win32more.Windows.Win32.Foundation.PWSTR
class WINHTTP_PROXY_NETWORKING_KEY(Structure):
    pbBuffer: Byte * 128
class WINHTTP_PROXY_RESULT(Structure):
    cEntries: UInt32
    pEntries: POINTER(win32more.Windows.Win32.Networking.WinHttp.WINHTTP_PROXY_RESULT_ENTRY)
class WINHTTP_PROXY_RESULT_ENTRY(Structure):
    fProxy: win32more.Windows.Win32.Foundation.BOOL
    fBypass: win32more.Windows.Win32.Foundation.BOOL
    ProxyScheme: win32more.Windows.Win32.Networking.WinHttp.WINHTTP_INTERNET_SCHEME
    pwszProxy: win32more.Windows.Win32.Foundation.PWSTR
    ProxyPort: UInt16
class WINHTTP_PROXY_RESULT_EX(Structure):
    cEntries: UInt32
    pEntries: POINTER(win32more.Windows.Win32.Networking.WinHttp.WINHTTP_PROXY_RESULT_ENTRY)
    hProxyDetectionHandle: win32more.Windows.Win32.Foundation.HANDLE
    dwProxyInterfaceAffinity: UInt32
class WINHTTP_PROXY_SETTINGS(Structure):
    dwStructSize: UInt32
    dwFlags: UInt32
    dwCurrentSettingsVersion: UInt32
    pwszConnectionName: win32more.Windows.Win32.Foundation.PWSTR
    pwszProxy: win32more.Windows.Win32.Foundation.PWSTR
    pwszProxyBypass: win32more.Windows.Win32.Foundation.PWSTR
    pwszAutoconfigUrl: win32more.Windows.Win32.Foundation.PWSTR
    pwszAutoconfigSecondaryUrl: win32more.Windows.Win32.Foundation.PWSTR
    dwAutoDiscoveryFlags: UInt32
    pwszLastKnownGoodAutoConfigUrl: win32more.Windows.Win32.Foundation.PWSTR
    dwAutoconfigReloadDelayMins: UInt32
    ftLastKnownDetectTime: win32more.Windows.Win32.Foundation.FILETIME
    dwDetectedInterfaceIpCount: UInt32
    pdwDetectedInterfaceIp: POINTER(UInt32)
    cNetworkKeys: UInt32
    pNetworkKeys: POINTER(win32more.Windows.Win32.Networking.WinHttp.WINHTTP_PROXY_NETWORKING_KEY)
if ARCH in 'X64,ARM64':
    class WINHTTP_PROXY_SETTINGS_EX(Structure):
        ullGenerationId: UInt64
        ullFlags: UInt64
        pcwszAutoconfigUrl: win32more.Windows.Win32.Foundation.PWSTR
        pcwszProxy: win32more.Windows.Win32.Foundation.PWSTR
        pcwszSecureProxy: win32more.Windows.Win32.Foundation.PWSTR
        cProxyBypasses: UInt32
        rgpcwszProxyBypasses: POINTER(win32more.Windows.Win32.Foundation.PWSTR)
        dwInterfaceIndex: UInt32
        pcwszConnectionName: win32more.Windows.Win32.Foundation.PWSTR
elif ARCH in 'X86':
    class WINHTTP_PROXY_SETTINGS_EX(Structure):
        ullGenerationId: UInt64
        ullFlags: UInt64
        pcwszAutoconfigUrl: win32more.Windows.Win32.Foundation.PWSTR
        pcwszProxy: win32more.Windows.Win32.Foundation.PWSTR
        pcwszSecureProxy: win32more.Windows.Win32.Foundation.PWSTR
        cProxyBypasses: UInt32
        rgpcwszProxyBypasses: POINTER(win32more.Windows.Win32.Foundation.PWSTR)
        dwInterfaceIndex: UInt32
        pcwszConnectionName: win32more.Windows.Win32.Foundation.PWSTR
        _pack_ = 4
if ARCH in 'X64,ARM64':
    class WINHTTP_PROXY_SETTINGS_PARAM(Structure):
        ullFlags: UInt64
        pcwszConnectionName: win32more.Windows.Win32.Foundation.PWSTR
        pcwszProbeHost: win32more.Windows.Win32.Foundation.PWSTR
elif ARCH in 'X86':
    class WINHTTP_PROXY_SETTINGS_PARAM(Structure):
        ullFlags: UInt64
        pcwszConnectionName: win32more.Windows.Win32.Foundation.PWSTR
        pcwszProbeHost: win32more.Windows.Win32.Foundation.PWSTR
        _pack_ = 4
WINHTTP_PROXY_SETTINGS_TYPE = Int32
WinHttpProxySettingsTypeUnknown: win32more.Windows.Win32.Networking.WinHttp.WINHTTP_PROXY_SETTINGS_TYPE = 0
WinHttpProxySettingsTypeWsl: win32more.Windows.Win32.Networking.WinHttp.WINHTTP_PROXY_SETTINGS_TYPE = 1
WinHttpProxySettingsTypeWsa: win32more.Windows.Win32.Networking.WinHttp.WINHTTP_PROXY_SETTINGS_TYPE = 2
class WINHTTP_QUERY_CONNECTION_GROUP_RESULT(Structure):
    cHosts: UInt32
    pHostConnectionGroups: POINTER(win32more.Windows.Win32.Networking.WinHttp.WINHTTP_HOST_CONNECTION_GROUP)
if ARCH in 'X64,ARM64':
    class WINHTTP_REQUEST_STATS(Structure):
        ullFlags: UInt64
        ulIndex: UInt32
        cStats: UInt32
        rgullStats: UInt64 * 32
elif ARCH in 'X86':
    class WINHTTP_REQUEST_STATS(Structure):
        ullFlags: UInt64
        ulIndex: UInt32
        cStats: UInt32
        rgullStats: UInt64 * 32
        _pack_ = 4
WINHTTP_REQUEST_STAT_ENTRY = Int32
WinHttpConnectFailureCount: win32more.Windows.Win32.Networking.WinHttp.WINHTTP_REQUEST_STAT_ENTRY = 0
WinHttpProxyFailureCount: win32more.Windows.Win32.Networking.WinHttp.WINHTTP_REQUEST_STAT_ENTRY = 1
WinHttpTlsHandshakeClientLeg1Size: win32more.Windows.Win32.Networking.WinHttp.WINHTTP_REQUEST_STAT_ENTRY = 2
WinHttpTlsHandshakeServerLeg1Size: win32more.Windows.Win32.Networking.WinHttp.WINHTTP_REQUEST_STAT_ENTRY = 3
WinHttpTlsHandshakeClientLeg2Size: win32more.Windows.Win32.Networking.WinHttp.WINHTTP_REQUEST_STAT_ENTRY = 4
WinHttpTlsHandshakeServerLeg2Size: win32more.Windows.Win32.Networking.WinHttp.WINHTTP_REQUEST_STAT_ENTRY = 5
WinHttpRequestHeadersSize: win32more.Windows.Win32.Networking.WinHttp.WINHTTP_REQUEST_STAT_ENTRY = 6
WinHttpRequestHeadersCompressedSize: win32more.Windows.Win32.Networking.WinHttp.WINHTTP_REQUEST_STAT_ENTRY = 7
WinHttpResponseHeadersSize: win32more.Windows.Win32.Networking.WinHttp.WINHTTP_REQUEST_STAT_ENTRY = 8
WinHttpResponseHeadersCompressedSize: win32more.Windows.Win32.Networking.WinHttp.WINHTTP_REQUEST_STAT_ENTRY = 9
WinHttpResponseBodySize: win32more.Windows.Win32.Networking.WinHttp.WINHTTP_REQUEST_STAT_ENTRY = 10
WinHttpResponseBodyCompressedSize: win32more.Windows.Win32.Networking.WinHttp.WINHTTP_REQUEST_STAT_ENTRY = 11
WinHttpProxyTlsHandshakeClientLeg1Size: win32more.Windows.Win32.Networking.WinHttp.WINHTTP_REQUEST_STAT_ENTRY = 12
WinHttpProxyTlsHandshakeServerLeg1Size: win32more.Windows.Win32.Networking.WinHttp.WINHTTP_REQUEST_STAT_ENTRY = 13
WinHttpProxyTlsHandshakeClientLeg2Size: win32more.Windows.Win32.Networking.WinHttp.WINHTTP_REQUEST_STAT_ENTRY = 14
WinHttpProxyTlsHandshakeServerLeg2Size: win32more.Windows.Win32.Networking.WinHttp.WINHTTP_REQUEST_STAT_ENTRY = 15
WinHttpRequestStatLast: win32more.Windows.Win32.Networking.WinHttp.WINHTTP_REQUEST_STAT_ENTRY = 16
WinHttpRequestStatMax: win32more.Windows.Win32.Networking.WinHttp.WINHTTP_REQUEST_STAT_ENTRY = 32
if ARCH in 'X64,ARM64':
    class WINHTTP_REQUEST_TIMES(Structure):
        cTimes: UInt32
        rgullTimes: UInt64 * 64
elif ARCH in 'X86':
    class WINHTTP_REQUEST_TIMES(Structure):
        cTimes: UInt32
        rgullTimes: UInt64 * 64
        _pack_ = 4
WINHTTP_REQUEST_TIME_ENTRY = Int32
WinHttpProxyDetectionStart: win32more.Windows.Win32.Networking.WinHttp.WINHTTP_REQUEST_TIME_ENTRY = 0
WinHttpProxyDetectionEnd: win32more.Windows.Win32.Networking.WinHttp.WINHTTP_REQUEST_TIME_ENTRY = 1
WinHttpConnectionAcquireStart: win32more.Windows.Win32.Networking.WinHttp.WINHTTP_REQUEST_TIME_ENTRY = 2
WinHttpConnectionAcquireWaitEnd: win32more.Windows.Win32.Networking.WinHttp.WINHTTP_REQUEST_TIME_ENTRY = 3
WinHttpConnectionAcquireEnd: win32more.Windows.Win32.Networking.WinHttp.WINHTTP_REQUEST_TIME_ENTRY = 4
WinHttpNameResolutionStart: win32more.Windows.Win32.Networking.WinHttp.WINHTTP_REQUEST_TIME_ENTRY = 5
WinHttpNameResolutionEnd: win32more.Windows.Win32.Networking.WinHttp.WINHTTP_REQUEST_TIME_ENTRY = 6
WinHttpConnectionEstablishmentStart: win32more.Windows.Win32.Networking.WinHttp.WINHTTP_REQUEST_TIME_ENTRY = 7
WinHttpConnectionEstablishmentEnd: win32more.Windows.Win32.Networking.WinHttp.WINHTTP_REQUEST_TIME_ENTRY = 8
WinHttpTlsHandshakeClientLeg1Start: win32more.Windows.Win32.Networking.WinHttp.WINHTTP_REQUEST_TIME_ENTRY = 9
WinHttpTlsHandshakeClientLeg1End: win32more.Windows.Win32.Networking.WinHttp.WINHTTP_REQUEST_TIME_ENTRY = 10
WinHttpTlsHandshakeClientLeg2Start: win32more.Windows.Win32.Networking.WinHttp.WINHTTP_REQUEST_TIME_ENTRY = 11
WinHttpTlsHandshakeClientLeg2End: win32more.Windows.Win32.Networking.WinHttp.WINHTTP_REQUEST_TIME_ENTRY = 12
WinHttpTlsHandshakeClientLeg3Start: win32more.Windows.Win32.Networking.WinHttp.WINHTTP_REQUEST_TIME_ENTRY = 13
WinHttpTlsHandshakeClientLeg3End: win32more.Windows.Win32.Networking.WinHttp.WINHTTP_REQUEST_TIME_ENTRY = 14
WinHttpStreamWaitStart: win32more.Windows.Win32.Networking.WinHttp.WINHTTP_REQUEST_TIME_ENTRY = 15
WinHttpStreamWaitEnd: win32more.Windows.Win32.Networking.WinHttp.WINHTTP_REQUEST_TIME_ENTRY = 16
WinHttpSendRequestStart: win32more.Windows.Win32.Networking.WinHttp.WINHTTP_REQUEST_TIME_ENTRY = 17
WinHttpSendRequestHeadersCompressionStart: win32more.Windows.Win32.Networking.WinHttp.WINHTTP_REQUEST_TIME_ENTRY = 18
WinHttpSendRequestHeadersCompressionEnd: win32more.Windows.Win32.Networking.WinHttp.WINHTTP_REQUEST_TIME_ENTRY = 19
WinHttpSendRequestHeadersEnd: win32more.Windows.Win32.Networking.WinHttp.WINHTTP_REQUEST_TIME_ENTRY = 20
WinHttpSendRequestEnd: win32more.Windows.Win32.Networking.WinHttp.WINHTTP_REQUEST_TIME_ENTRY = 21
WinHttpReceiveResponseStart: win32more.Windows.Win32.Networking.WinHttp.WINHTTP_REQUEST_TIME_ENTRY = 22
WinHttpReceiveResponseHeadersDecompressionStart: win32more.Windows.Win32.Networking.WinHttp.WINHTTP_REQUEST_TIME_ENTRY = 23
WinHttpReceiveResponseHeadersDecompressionEnd: win32more.Windows.Win32.Networking.WinHttp.WINHTTP_REQUEST_TIME_ENTRY = 24
WinHttpReceiveResponseHeadersEnd: win32more.Windows.Win32.Networking.WinHttp.WINHTTP_REQUEST_TIME_ENTRY = 25
WinHttpReceiveResponseBodyDecompressionDelta: win32more.Windows.Win32.Networking.WinHttp.WINHTTP_REQUEST_TIME_ENTRY = 26
WinHttpReceiveResponseEnd: win32more.Windows.Win32.Networking.WinHttp.WINHTTP_REQUEST_TIME_ENTRY = 27
WinHttpProxyTunnelStart: win32more.Windows.Win32.Networking.WinHttp.WINHTTP_REQUEST_TIME_ENTRY = 28
WinHttpProxyTunnelEnd: win32more.Windows.Win32.Networking.WinHttp.WINHTTP_REQUEST_TIME_ENTRY = 29
WinHttpProxyTlsHandshakeClientLeg1Start: win32more.Windows.Win32.Networking.WinHttp.WINHTTP_REQUEST_TIME_ENTRY = 30
WinHttpProxyTlsHandshakeClientLeg1End: win32more.Windows.Win32.Networking.WinHttp.WINHTTP_REQUEST_TIME_ENTRY = 31
WinHttpProxyTlsHandshakeClientLeg2Start: win32more.Windows.Win32.Networking.WinHttp.WINHTTP_REQUEST_TIME_ENTRY = 32
WinHttpProxyTlsHandshakeClientLeg2End: win32more.Windows.Win32.Networking.WinHttp.WINHTTP_REQUEST_TIME_ENTRY = 33
WinHttpProxyTlsHandshakeClientLeg3Start: win32more.Windows.Win32.Networking.WinHttp.WINHTTP_REQUEST_TIME_ENTRY = 34
WinHttpProxyTlsHandshakeClientLeg3End: win32more.Windows.Win32.Networking.WinHttp.WINHTTP_REQUEST_TIME_ENTRY = 35
WinHttpRequestTimeLast: win32more.Windows.Win32.Networking.WinHttp.WINHTTP_REQUEST_TIME_ENTRY = 36
WinHttpRequestTimeMax: win32more.Windows.Win32.Networking.WinHttp.WINHTTP_REQUEST_TIME_ENTRY = 64
if ARCH in 'X64,ARM64':
    class WINHTTP_RESOLVER_CACHE_CONFIG(Structure):
        ulMaxResolverCacheEntries: UInt32
        ulMaxCacheEntryAge: UInt32
        ulMinCacheEntryTtl: UInt32
        SecureDnsSetting: win32more.Windows.Win32.Networking.WinHttp.WINHTTP_SECURE_DNS_SETTING
        ullConnResolutionWaitTime: UInt64
        ullFlags: UInt64
elif ARCH in 'X86':
    class WINHTTP_RESOLVER_CACHE_CONFIG(Structure):
        ulMaxResolverCacheEntries: UInt32
        ulMaxCacheEntryAge: UInt32
        ulMinCacheEntryTtl: UInt32
        SecureDnsSetting: win32more.Windows.Win32.Networking.WinHttp.WINHTTP_SECURE_DNS_SETTING
        ullConnResolutionWaitTime: UInt64
        ullFlags: UInt64
        _pack_ = 4
WINHTTP_SECURE_DNS_SETTING = Int32
WinHttpSecureDnsSettingDefault: win32more.Windows.Win32.Networking.WinHttp.WINHTTP_SECURE_DNS_SETTING = 0
WinHttpSecureDnsSettingForcePlaintext: win32more.Windows.Win32.Networking.WinHttp.WINHTTP_SECURE_DNS_SETTING = 1
WinHttpSecureDnsSettingRequireEncryption: win32more.Windows.Win32.Networking.WinHttp.WINHTTP_SECURE_DNS_SETTING = 2
WinHttpSecureDnsSettingTryEncryptionWithFallback: win32more.Windows.Win32.Networking.WinHttp.WINHTTP_SECURE_DNS_SETTING = 3
WinHttpSecureDnsSettingMax: win32more.Windows.Win32.Networking.WinHttp.WINHTTP_SECURE_DNS_SETTING = 4
@winfunctype_pointer
def WINHTTP_STATUS_CALLBACK(hInternet: VoidPtr, dwContext: UIntPtr, dwInternetStatus: UInt32, lpvStatusInformation: VoidPtr, dwStatusInformationLength: UInt32) -> Void: ...
class WINHTTP_WEB_SOCKET_ASYNC_RESULT(Structure):
    AsyncResult: win32more.Windows.Win32.Networking.WinHttp.WINHTTP_ASYNC_RESULT
    Operation: win32more.Windows.Win32.Networking.WinHttp.WINHTTP_WEB_SOCKET_OPERATION
WINHTTP_WEB_SOCKET_BUFFER_TYPE = Int32
WINHTTP_WEB_SOCKET_BINARY_MESSAGE_BUFFER_TYPE: win32more.Windows.Win32.Networking.WinHttp.WINHTTP_WEB_SOCKET_BUFFER_TYPE = 0
WINHTTP_WEB_SOCKET_BINARY_FRAGMENT_BUFFER_TYPE: win32more.Windows.Win32.Networking.WinHttp.WINHTTP_WEB_SOCKET_BUFFER_TYPE = 1
WINHTTP_WEB_SOCKET_UTF8_MESSAGE_BUFFER_TYPE: win32more.Windows.Win32.Networking.WinHttp.WINHTTP_WEB_SOCKET_BUFFER_TYPE = 2
WINHTTP_WEB_SOCKET_UTF8_FRAGMENT_BUFFER_TYPE: win32more.Windows.Win32.Networking.WinHttp.WINHTTP_WEB_SOCKET_BUFFER_TYPE = 3
WINHTTP_WEB_SOCKET_CLOSE_BUFFER_TYPE: win32more.Windows.Win32.Networking.WinHttp.WINHTTP_WEB_SOCKET_BUFFER_TYPE = 4
WINHTTP_WEB_SOCKET_CLOSE_STATUS = Int32
WINHTTP_WEB_SOCKET_SUCCESS_CLOSE_STATUS: win32more.Windows.Win32.Networking.WinHttp.WINHTTP_WEB_SOCKET_CLOSE_STATUS = 1000
WINHTTP_WEB_SOCKET_ENDPOINT_TERMINATED_CLOSE_STATUS: win32more.Windows.Win32.Networking.WinHttp.WINHTTP_WEB_SOCKET_CLOSE_STATUS = 1001
WINHTTP_WEB_SOCKET_PROTOCOL_ERROR_CLOSE_STATUS: win32more.Windows.Win32.Networking.WinHttp.WINHTTP_WEB_SOCKET_CLOSE_STATUS = 1002
WINHTTP_WEB_SOCKET_INVALID_DATA_TYPE_CLOSE_STATUS: win32more.Windows.Win32.Networking.WinHttp.WINHTTP_WEB_SOCKET_CLOSE_STATUS = 1003
WINHTTP_WEB_SOCKET_EMPTY_CLOSE_STATUS: win32more.Windows.Win32.Networking.WinHttp.WINHTTP_WEB_SOCKET_CLOSE_STATUS = 1005
WINHTTP_WEB_SOCKET_ABORTED_CLOSE_STATUS: win32more.Windows.Win32.Networking.WinHttp.WINHTTP_WEB_SOCKET_CLOSE_STATUS = 1006
WINHTTP_WEB_SOCKET_INVALID_PAYLOAD_CLOSE_STATUS: win32more.Windows.Win32.Networking.WinHttp.WINHTTP_WEB_SOCKET_CLOSE_STATUS = 1007
WINHTTP_WEB_SOCKET_POLICY_VIOLATION_CLOSE_STATUS: win32more.Windows.Win32.Networking.WinHttp.WINHTTP_WEB_SOCKET_CLOSE_STATUS = 1008
WINHTTP_WEB_SOCKET_MESSAGE_TOO_BIG_CLOSE_STATUS: win32more.Windows.Win32.Networking.WinHttp.WINHTTP_WEB_SOCKET_CLOSE_STATUS = 1009
WINHTTP_WEB_SOCKET_UNSUPPORTED_EXTENSIONS_CLOSE_STATUS: win32more.Windows.Win32.Networking.WinHttp.WINHTTP_WEB_SOCKET_CLOSE_STATUS = 1010
WINHTTP_WEB_SOCKET_SERVER_ERROR_CLOSE_STATUS: win32more.Windows.Win32.Networking.WinHttp.WINHTTP_WEB_SOCKET_CLOSE_STATUS = 1011
WINHTTP_WEB_SOCKET_SECURE_HANDSHAKE_ERROR_CLOSE_STATUS: win32more.Windows.Win32.Networking.WinHttp.WINHTTP_WEB_SOCKET_CLOSE_STATUS = 1015
WINHTTP_WEB_SOCKET_OPERATION = Int32
WINHTTP_WEB_SOCKET_SEND_OPERATION: win32more.Windows.Win32.Networking.WinHttp.WINHTTP_WEB_SOCKET_OPERATION = 0
WINHTTP_WEB_SOCKET_RECEIVE_OPERATION: win32more.Windows.Win32.Networking.WinHttp.WINHTTP_WEB_SOCKET_OPERATION = 1
WINHTTP_WEB_SOCKET_CLOSE_OPERATION: win32more.Windows.Win32.Networking.WinHttp.WINHTTP_WEB_SOCKET_OPERATION = 2
WINHTTP_WEB_SOCKET_SHUTDOWN_OPERATION: win32more.Windows.Win32.Networking.WinHttp.WINHTTP_WEB_SOCKET_OPERATION = 3
class WINHTTP_WEB_SOCKET_STATUS(Structure):
    dwBytesTransferred: UInt32
    eBufferType: win32more.Windows.Win32.Networking.WinHttp.WINHTTP_WEB_SOCKET_BUFFER_TYPE
WIN_HTTP_CREATE_URL_FLAGS = UInt32
ICU_ESCAPE: win32more.Windows.Win32.Networking.WinHttp.WIN_HTTP_CREATE_URL_FLAGS = 2147483648
ICU_REJECT_USERPWD: win32more.Windows.Win32.Networking.WinHttp.WIN_HTTP_CREATE_URL_FLAGS = 16384
ICU_DECODE: win32more.Windows.Win32.Networking.WinHttp.WIN_HTTP_CREATE_URL_FLAGS = 268435456
WinHttpRequest = Guid('{2087c2f4-2cef-4953-a8ab-66779b670495}')
WinHttpRequestAutoLogonPolicy = Int32
AutoLogonPolicy_Always: win32more.Windows.Win32.Networking.WinHttp.WinHttpRequestAutoLogonPolicy = 0
AutoLogonPolicy_OnlyIfBypassProxy: win32more.Windows.Win32.Networking.WinHttp.WinHttpRequestAutoLogonPolicy = 1
AutoLogonPolicy_Never: win32more.Windows.Win32.Networking.WinHttp.WinHttpRequestAutoLogonPolicy = 2
WinHttpRequestOption = Int32
WinHttpRequestOption_UserAgentString: win32more.Windows.Win32.Networking.WinHttp.WinHttpRequestOption = 0
WinHttpRequestOption_URL: win32more.Windows.Win32.Networking.WinHttp.WinHttpRequestOption = 1
WinHttpRequestOption_URLCodePage: win32more.Windows.Win32.Networking.WinHttp.WinHttpRequestOption = 2
WinHttpRequestOption_EscapePercentInURL: win32more.Windows.Win32.Networking.WinHttp.WinHttpRequestOption = 3
WinHttpRequestOption_SslErrorIgnoreFlags: win32more.Windows.Win32.Networking.WinHttp.WinHttpRequestOption = 4
WinHttpRequestOption_SelectCertificate: win32more.Windows.Win32.Networking.WinHttp.WinHttpRequestOption = 5
WinHttpRequestOption_EnableRedirects: win32more.Windows.Win32.Networking.WinHttp.WinHttpRequestOption = 6
WinHttpRequestOption_UrlEscapeDisable: win32more.Windows.Win32.Networking.WinHttp.WinHttpRequestOption = 7
WinHttpRequestOption_UrlEscapeDisableQuery: win32more.Windows.Win32.Networking.WinHttp.WinHttpRequestOption = 8
WinHttpRequestOption_SecureProtocols: win32more.Windows.Win32.Networking.WinHttp.WinHttpRequestOption = 9
WinHttpRequestOption_EnableTracing: win32more.Windows.Win32.Networking.WinHttp.WinHttpRequestOption = 10
WinHttpRequestOption_RevertImpersonationOverSsl: win32more.Windows.Win32.Networking.WinHttp.WinHttpRequestOption = 11
WinHttpRequestOption_EnableHttpsToHttpRedirects: win32more.Windows.Win32.Networking.WinHttp.WinHttpRequestOption = 12
WinHttpRequestOption_EnablePassportAuthentication: win32more.Windows.Win32.Networking.WinHttp.WinHttpRequestOption = 13
WinHttpRequestOption_MaxAutomaticRedirects: win32more.Windows.Win32.Networking.WinHttp.WinHttpRequestOption = 14
WinHttpRequestOption_MaxResponseHeaderSize: win32more.Windows.Win32.Networking.WinHttp.WinHttpRequestOption = 15
WinHttpRequestOption_MaxResponseDrainSize: win32more.Windows.Win32.Networking.WinHttp.WinHttpRequestOption = 16
WinHttpRequestOption_EnableHttp1_1: win32more.Windows.Win32.Networking.WinHttp.WinHttpRequestOption = 17
WinHttpRequestOption_EnableCertificateRevocationCheck: win32more.Windows.Win32.Networking.WinHttp.WinHttpRequestOption = 18
WinHttpRequestOption_RejectUserpwd: win32more.Windows.Win32.Networking.WinHttp.WinHttpRequestOption = 19
WinHttpRequestSecureProtocols = Int32
SecureProtocol_SSL2: win32more.Windows.Win32.Networking.WinHttp.WinHttpRequestSecureProtocols = 8
SecureProtocol_SSL3: win32more.Windows.Win32.Networking.WinHttp.WinHttpRequestSecureProtocols = 32
SecureProtocol_TLS1: win32more.Windows.Win32.Networking.WinHttp.WinHttpRequestSecureProtocols = 128
SecureProtocol_TLS1_1: win32more.Windows.Win32.Networking.WinHttp.WinHttpRequestSecureProtocols = 512
SecureProtocol_TLS1_2: win32more.Windows.Win32.Networking.WinHttp.WinHttpRequestSecureProtocols = 2048
SecureProtocol_ALL: win32more.Windows.Win32.Networking.WinHttp.WinHttpRequestSecureProtocols = 168
WinHttpRequestSslErrorFlags = Int32
SslErrorFlag_UnknownCA: win32more.Windows.Win32.Networking.WinHttp.WinHttpRequestSslErrorFlags = 256
SslErrorFlag_CertWrongUsage: win32more.Windows.Win32.Networking.WinHttp.WinHttpRequestSslErrorFlags = 512
SslErrorFlag_CertCNInvalid: win32more.Windows.Win32.Networking.WinHttp.WinHttpRequestSslErrorFlags = 4096
SslErrorFlag_CertDateInvalid: win32more.Windows.Win32.Networking.WinHttp.WinHttpRequestSslErrorFlags = 8192
SslErrorFlag_Ignore_All: win32more.Windows.Win32.Networking.WinHttp.WinHttpRequestSslErrorFlags = 13056


make_ready(__name__)
