Sinalizadores de opção

Os sinalizadores de opção a seguir têm suporte de WinHttpQueryOption e WinHttpSetOption.

WINHTTP_OPTION_ASSURED_NON_BLOCKING_CALLBACKS

O padrão é FALSE. Se definido como TRUE, o WinHTTP não garantirá o progresso se status retornos de chamada forem bloqueados pelo aplicativo cliente.

O aplicativo cliente deve ter um cuidado especial para executar operações mínimas dentro do retorno de chamada sem bloquear, retornar o mais rápido possível e, em particular, não deve esperar por chamadas WinHTTP subsequentes. Se ele não seguir essas diretrizes, provavelmente haverá um impacto negativo no desempenho ou um possível travamento do aplicativo. Se usada da maneira prescrita, essa opção pode melhorar o desempenho.

WINHTTP_OPTION_AUTOLOGON_POLICY

Define um valor inteiro longo sem sinal que especifica a Política de Logon Automático com um dos valores a seguir.

Termo Descrição
WINHTTP_AUTOLOGON_SECURITY_LEVEL_HIGH As credenciais padrão não são usadas. Observe que esse sinalizador entrará em vigor somente se você especificar o servidor pelo nome real do computador. Ele não entrará em vigor se você especificar o servidor por "localhost" ou endereço IP.
WINHTTP_AUTOLOGON_SECURITY_LEVEL_LOW Um logon autenticado usando as credenciais padrão é executado para todas as solicitações.
WINHTTP_AUTOLOGON_SECURITY_LEVEL_MEDIUM Um logon autenticado usando as credenciais padrão é executado apenas para solicitações na Intranet local.

WINHTTP_OPTION_BACKGROUND_CONNECTIONS

Ao definir essa opção em um identificador de sessão, você deve passar o número de conexões que deseja abrir. Em seguida, ao primeiro enviar uma solicitação, em vez de abrir apenas uma única conexão, o WinHttp abre várias conexões em paralelo. Isso pode melhorar o desempenho de solicitações subsequentes para o mesmo destino, o que não terá a sobrecarga do estabelecimento de conexão.

WINHTTP_OPTION_CALLBACK

Recupera o ponteiro para a função de retorno de chamada definida com WinHttpSetStatusCallback.

WINHTTP_OPTION_CLIENT_CERT_CONTEXT

Define o contexto do certificado do cliente. Se um aplicativo receber ERROR_WINHTTP_CLIENT_AUTH_CERT_NEEDED, ele deverá chamar WinHttpSetOption para fornecer um certificado antes de tentar novamente a solicitação. Como parte do processamento dessa opção, o WinHttp chama CertDuplicateCertificateContext no contexto de certificado fornecido pelo chamador para que o contexto do certificado possa ser liberado independentemente pelo chamador.

Observação

O aplicativo não deve tentar fechar o repositório de certificados com o sinalizador CERT_CLOSE_STORE_FORCE_FLAG na chamada para CertCloseStore no repositório de certificados do qual o contexto do certificado foi recuperado. Pode ocorrer uma violação de acesso.

Quando o servidor solicita um certificado de cliente, WinHttpSendRequest ou WinHttpReceiveResponse retorna um erro de ERROR_WINHTTP_CLIENT_AUTH_CERT_NEEDED . Se o servidor solicitar o certificado, mas não o exigir, o aplicativo poderá especificar essa opção para indicar que ele não tem um certificado. O servidor pode escolher outro esquema de autenticação ou permitir acesso anônimo ao servidor. O aplicativo fornece a macro WINHTTP_NO_CLIENT_CERT_CONTEXT no parâmetro lpBuffer de WinHttpSetOption , conforme mostrado no exemplo de código a seguir.

BOOL fRet = WinHttpSetOption(hRequest,
                             WINHTTP_OPTION_CLIENT_CERT_CONTEXT,
                             WINHTTP_NO_CLIENT_CERT_CONTEXT,
                             0);

Se o servidor exigir um certificado do cliente, ele poderá enviar um código http status 403 em resposta. Para obter mais informações, consulte a opção WINHTTP_OPTION_CLIENT_CERT_ISSUER_LIST .

WINHTTP_OPTION_CLIENT_CERT_ISSUER_LIST

Recupera uma estrutura SecPkgContext_IssuerListInfoEx quando o erro de WinHttpSendRequest ou WinHttpReceiveResponse é ERROR_WINHTTP_CLIENT_AUTH_CERT_NEEDED. A lista de emissores na estrutura contém uma lista de AC (Autoridades de Certificação) aceitáveis do servidor. O aplicativo cliente pode filtrar a lista de AC para recuperar o certificado do cliente para autenticação SSL.

Como alternativa, se o servidor solicitar o certificado do cliente, mas não o exigir, o aplicativo poderá chamar WinHttpSetOption com a opção WINHTTP_OPTION_CLIENT_CERT_CONTEXT . Para obter mais informações, consulte a opção WINHTTP_OPTION_CLIENT_CERT_CONTEXT .

WINHTTP_OPTION_CODEPAGE

Define a página de código usada para processar a URL (ou seja, cadeia de caracteres de consulta). O padrão é UTF8.

WINHTTP_OPTION_CONFIGURE_PASSPORT_AUTH

Define um valor inteiro longo sem sinal que especifica se a Autenticação do Passport na autenticação WinHTTP está habilitada. O valor pode ser um dos seguintes:

Termo Descrição
WINHTTP_DISABLE_PASSPORT_AUTH A autenticação do Microsoft Passport está desabilitada. Esse é o padrão.
WINHTTP_DISABLE_PASSPORT_KEYRING O keyring do Passport está desabilitado. Esse é o padrão.
WINHTTP_ENABLE_PASSPORT_AUTH A autenticação do Passport está habilitada.
WINHTTP_ENABLE_PASSPORT_KEYRING O keyring do Passport está habilitado.

WINHTTP_OPTION_CONNECT_RETRIES

Define ou recupera um valor inteiro longo sem sinal que contém o número de vezes queWinHTTP tenta se conectar a um host. O WinHTTP (Microsoft Windows HTTP Services) tenta apenas uma vez por endereço IP (Protocolo IP). Por exemplo, se você tentar se conectar a um host multihomed com 10 endereços IP e WINHTTP_OPTION_CONNECT_RETRIES estiver definido como 7, o WinHTTP tentará se conectar apenas aos sete primeiros endereços IP. Dado o mesmo conjunto de 10 endereços IP, se WINHTTP_OPTION_CONNECT_RETRIES estiver definido como 20, o WinHTTP tentará cada um dos 10 apenas uma vez. Se uma tentativa de conexão ainda falhar após o número especificado de tentativas ou se o tempo limite de conexão expirar antes disso, a solicitação será cancelada. O valor padrão para WINHTTP_OPTION_CONNECT_RETRIES é cinco tentativas.

WINHTTP_OPTION_CONNECT_TIMEOUT

Define ou recupera um valor inteiro longo sem sinal que contém o valor de tempo limite, em milissegundos. Definir essa opção como infinito (0xFFFFFFFF) desabilitará esse temporizador.

Se uma solicitação de conexão TCP demorar mais do que esse valor de tempo limite, a solicitação será cancelada. O tempo limite padrão é de 60 segundos. Quando você está tentando se conectar a vários endereços IP para um único host (um host multihomed), o limite de tempo limite é para cada conexão individual.

WINHTTP_OPTION_CONNECTION_INFO

Recupera o endereço IP de origem e destino e a porta da solicitação que gerou a resposta quando WinHttpReceiveResponse retorna. O aplicativo chama WinHttpQueryOption com a opção WINHTTP_OPTION_CONNECTION_INFO e fornece a estrutura WINHTTP_CONNECTION_INFO no parâmetro lpBuffer . Para obter mais informações, consulte WINHTTP_CONNECTION_INFO.

Aplica-se a: Windows XP com SP2 e posterior; Windows 2003 com SP1 e posterior.

WINHTTP_OPTION_CONNECTION_GUID

Marque a conexão associada ao identificador de solicitação WinHTTP com um GUID. Isso permite o controle personalizado sobre quais solicitações usam quais grupos de conexões com a opção WINHTTP_OPTION_MATCH_CONNECTION_GUID .

WINHTTP_OPTION_CONNECTION_STATS_V0

Retreia o struct TCP_INFO_v0 para a conexão subjacente usada pela solicitação. O struct retornado pode conter estatísticas de solicitações anteriores enviadas pela mesma conexão.

Observação

Essa opção foi substituída por WINHTTP_OPTION_CONNECTION_STATS_V1.

WINHTTP_OPTION_CONNECTION_STATS_V1

Retreia o struct TCP_INFO_v1 para a conexão subjacente usada pela solicitação. O struct retornado pode conter estatísticas de solicitações anteriores enviadas pela mesma conexão.

WINHTTP_OPTION_CONTEXT_VALUE

Define ou recupera um DWORD_PTR que contém um ponteiro para o valor de contexto associado a esse identificador HINTERNET . O valor armazenado no buffer é usado e o sinalizador de opção WINHTTP_OPTION_CONTEXT_VALUE recebe um novo valor.

WINHTTP_OPTION_DECOMPRESSION

Define um DWORD de sinalizadores que determinam se o WinHTTP descompactará automaticamente os corpos de resposta com codificações de conteúdo compactadas. O WinHTTP também definirá um cabeçalho Accept-Encoding apropriado, substituindo qualquer fornecido pelo chamador. Os valores com suporte são:

Termo Descrição
WINHTTP_DECOMPRESSION_FLAG_GZIP Descompactar Content-Encoding: respostas gzip.
WINHTTP_DECOMPRESSION_FLAG_DEFLATE Descompactar a Codificação de Conteúdo: esvaziar respostas.
WINHTTP_DECOMPRESSION_FLAG_ALL Descompacte as respostas com qualquer Codificação de Conteúdo com suporte.

Por padrão, o WinHTTP fornecerá respostas compactadas ao chamador não modificado.

WINHTTP_OPTION_DISABLE_CERT_CHAIN_BUILDING

Definir essa opção em um identificador de sessão WinHttp permite habilitar/desabilitar se a cadeia de certificados do servidor foi criada.

WINHTTP_OPTION_DISABLE_FEATURE

Define um valor inteiro longo sem sinal que especifica quais recursos estão desabilitados com um ou mais dos sinalizadores a seguir. Lembre-se de que esse recurso só deve ser passado para WinHttpSetOption em identificadores de solicitação depois que o identificador de solicitação for criado com WinHttpOpenRequest e antes que a solicitação seja enviada com WinHttpSendRequest.

Termo Descrição
WINHTTP_DISABLE_AUTHENTICATION A autenticação automática está desabilitada.
WINHTTP_DISABLE_COOKIES A adição automática de cabeçalhos de cookie às solicitações está desabilitada. Além disso, os cookies retornados não são adicionados automaticamente ao banco de dados de cookie. Desabilitar cookies pode resultar em um desempenho ruim para a autenticação do Passport.
WINHTTP_DISABLE_KEEP_ALIVE Desabilita a semântica keep alive para a conexão. A semântica keep alive é necessária para MSN, NTLM e outros tipos de autenticação.
WINHTTP_DISABLE_REDIRECTS O redirecionamento automático é desabilitado ao enviar solicitações com WinHttpSendRequest. Se o redirecionamento automático estiver desabilitado, um aplicativo deverá registrar uma função de retorno de chamada para que a autenticação do Passport tenha êxito.

WINHTTP_OPTION_DISABLE_GLOBAL_POOLING

Desabilita o pool global entre sessões. Essa é uma prática recomendada porque o pooling global entre sessões é um comportamento herdado com suporte por padrão por motivos de compatibilidade. Isso é afetado pela configuração posterior das conexões máximas manualmente.

WINHTTP_OPTION_DISABLE_PROXY_AUTH_SCHEMES

Desabilita uma ou mais das seguintes práticas de autenticação de proxy na sessão WinHTTP fornecendo todas OR as opções aplicáveis. Todos esses são esquemas, exceto para WINHTTP_PROXY_DISABLE_AUTH_LOCAL_SERVICE, o que força o uso da conta de computador local ao enviar solicitações para um loopback ou endereço local. Isso impede o vazamento de credenciais do sistema para proxies HTTP locais.

Termo Descrição
WINHTTP_PROXY_DISABLE_SCHEME_BASIC Desabilita o esquema de autenticação básica.
WINHTTP_PROXY_DISABLE_SCHEME_DIGEST Desabilita o esquema de autenticação digest.
WINHTTP_PROXY_DISABLE_SCHEME_NTLM Desabilita o esquema de autenticação NTLM.
WINHTTP_PROXY_DISABLE_SCHEME_KERBEROS Desabilita o esquema de autenticação Kerberos.
WINHTTP_PROXY_DISABLE_SCHEME_NEGOTIATE Desabilita o esquema de autenticação Negotiate.
WINHTTP_PROXY_DISABLE_AUTH_LOCAL_SERVICE Força o uso da conta de computador local ao enviar solicitações para um loopback ou endereço local.

WINHTTP_OPTION_DISABLE_SECURE_PROTOCOL_FALLBACK

Impede que o WinHTTP tente novamente uma conexão com uma versão inferior do protocolo de segurança quando a negociação de protocolo inicial falhar.

WINHTTP_OPTION_DISABLE_STREAM_QUEUE

Permite que novas solicitações abram uma conexão HTTP/2 adicional quando o limite máximo de fluxo simultâneo é atingido, em vez de aguardar o próximo fluxo disponível em uma conexão existente.

WINHTTP_OPTION_ENABLE_FEATURE

Define um valor inteiro longo sem sinal que especifica os recursos atualmente habilitados. Pode ser um dos valores a seguir.

Termo Descrição
WINHTTP_ENABLE_SSL_REVERT_IMPERSONATION Se habilitado, o WinHTTP reverte temporariamente a representação do cliente durante as operações de autenticação de certificado SSL. Esse valor só pode ser definido no identificador de sessão.
WINHTTP_ENABLE_SSL_REVOCATION Se habilitado, o WinHTTP permitirá a revogação de SSL. Esse valor só pode ser definido no identificador de solicitação.

WINHTTP_OPTION_ENABLE_HTTP_PROTOCOL

Define uma máscara de bits DWORD de versões HTTP avançadas aceitáveis. Os valores possíveis são:

Termo Descrição
WINHTTP_PROTOCOL_FLAG_HTTP2 (0x1) Habilita HTTP/2 para a solicitação.
WINHTTP_PROTOCOL_FLAG_HTTP3 (0x2) Habilita HTTP/3 para a solicitação.
Nenhum (0x0) Restringe a solicitação a HTTP/1.1 e anterior.

As versões herdadas do HTTP (1.1 e anterior) não podem ser desabilitadas usando essa opção. O padrão é 0x0.

WINHTTP_OPTION_ENABLE_HTTP2_PLUS_CLIENT_CERT

Essa opção pode ser definida em um identificador de sessão WinHttp para permitir que o WinHttp use o contexto de certificado do cliente fornecido pelo chamador quando HTTP/2 estiver sendo usado.

WINHTTP_OPTION_ENABLETRACING

Define um valor BOOL que especifica se o rastreamento está habilitado no momento. Essa opção só pode ser definida em um identificador HINTERNETNULL. Consulte também Coletar rastreamentos WinHTTP.

WINHTTP_OPTION_ENCODE_EXTRA

Habilita a codificação de porcentagem de URL para caminho e cadeia de caracteres de consulta.

Como alternativa, você pode codificar percentual antes de chamar WinHttp.

WINHTTP_OPTION_EXPIRE_CONNECTION

Essa opção só pode ser definida em um identificador de solicitação que ainda está ativo (enviando ou recebendo). Definir essa opção instruirá o WinHttp a parar de atender solicitações na conexão associada ao identificador de solicitação passado. A conexão será fechada depois que o identificador de solicitação com o qual essa opção for chamada for concluído. Essa opção não usa parâmetros.

WINHTTP_OPTION_EXTENDED_ERROR

Recupera um valor inteiro longo sem sinal que contém um código de erro do Microsoft Windows Sockets que foi mapeado para as mensagens de erro ERROR_WINHTTP_* retornadas pela última vez neste contexto de thread. Você pode passar NULL como o valor do identificador.

WINHTTP_OPTION_FEATURE_SUPPORTED

Verifique se um sinalizador de opção fornecido tem suporte nesta versão do WinHTTP.

WINHTTP_OPTION_FIRST_AVAILABLE_CONNECTION

Por padrão, quando o WinHttp envia uma solicitação, se não houver conexões disponíveis para atender à solicitação, o WinHttp tentará estabelecer uma nova conexão e a solicitação será associada a essa nova conexão. Quando você definir essa opção, essa solicitação será atendida na primeira conexão que se torna disponível e não necessariamente aquela que está sendo estabelecida.

WINHTTP_OPTION_GLOBAL_PROXY_CREDS

Usa um ponteiro para uma estrutura WINHTTP_CREDS_EX com o parâmetro de função hInternet definido como NULL. Essa opção requer a chave do Registro HKLM\Software\Microsoft\Windows\CurrentVersion\Configurações da Internet! ShareCredsWithWinHttp. Se essa chave do Registro não estiver definida, WinHTTP retornará o erro ERROR_WINHTTP_INVALID_OPTION. Essa chave do Registro não está presente por padrão. Quando estiver definido, o WinINet enviará credenciais para o WinHTTP. Sempre que o WinHttp receber um desafio de autenticação e se não houver credenciais definidas no identificador atual, ele usará as credenciais fornecidas pelo WinINet. Para compartilhar credenciais de servidor além das credenciais de proxy, os usuários precisam definir WINHTTP_OPTION_USE_GLOBAL_SERVER_CREDENTIALS .

WINHTTP_OPTION_GLOBAL_SERVER_CREDS

Usa um ponteiro para uma estrutura WINHTTP_CREDS_EX com o parâmetro de função hInternet definido como NULL. Essa opção requer a chave do Registro HKLM\Software\Microsoft\Windows\CurrentVersion\Configurações da Internet! ShareCredsWithWinHttp. Se essa chave do Registro não estiver definida, WinHTTP retornará o erro ERROR_WINHTTP_INVALID_OPTION. Essa chave do Registro não está presente por padrão. Quando estiver definido, o WinINet enviará credenciais para o WinHTTP. Sempre que o WinHttp receber um desafio de autenticação e se não houver credenciais definidas no identificador atual, ele usará as credenciais fornecidas pelo WinINet. Para compartilhar credenciais de servidor além das credenciais de proxy, os usuários precisam definir WINHTTP_OPTION_USE_GLOBAL_SERVER_CREDENTIALS .

WINHTTP_OPTION_HANDLE_TYPE

Recupera um valor inteiro longo sem sinal que contém o tipo do identificador HINTERNET passado. O valor de retorno pode ser um dos seguintes:

Termo Descrição
WINHTTP_HANDLE_TYPE_CONNECT O identificador é um identificador de conexão.
WINHTTP_HANDLE_TYPE_REQUEST O identificador é um identificador de solicitação.
WINHTTP_HANDLE_TYPE_SESSION O identificador é um identificador de sessão.

WINHTTP_OPTION_HTTP_PROTOCOL_REQUIRED

Impede que versões de protocolo diferentes daquelas habilitadas por WINHTTP_OPTION_ENABLE_HTTP_PROTOCOL sejam usadas para a solicitação.

WINHTTP_OPTION_HTTP_PROTOCOL_USED

Obtém um DWORD que indica qual versão HTTP avançada foi usada em uma determinada solicitação. Para obter uma lista de valores possíveis, consulte WINHTTP_OPTION_ENABLE_HTTP_PROTOCOL.

WINHTTP_OPTION_HTTP_VERSION

Define ou recupera uma estrutura HTTP_VERSION_INFO que contém a versão HTTP com suporte. Essa é uma opção em todo o processo; use NULL para o identificador.

WINHTTP_OPTION_HTTP2_KEEPALIVE

Essa opção pode ser definida em um identificador de sessão para que o WinHttp use quadros DE PING HTTP/2 como um mecanismo keepalive. Os chamadores especificam um tempo limite em milissegundos e, depois que não houver nenhuma atividade em uma conexão para esse período de tempo limite, o WinHttp começará a enviar quadros DE PING HTTP/2. Os chamadores não podem definir um valor de tempo limite inferior a 5000 milissegundos.

WINHTTP_OPTION_HTTP2_PLUS_TRANSFER_ENCODING

Essa opção pode ser definida em um identificador de solicitação WinHttp para controlar como o WinHttp se comporta quando uma resposta HTTP/2 contém um cabeçalho "Transfer-Encoding". Nesse caso, WinHttp retornará um erro se essa opção estiver definida como FALSE.

WINHTTP_OPTION_HTTP2_RECEIVE_WINDOW

Defina o tamanho inicial da janela de recebimento do fluxo HTTP/2 e o limite para enviar atualizações de janela usando o struct WINHTTP_HTTP2_RECEIVE_WINDOW .

WINHTTP_OPTION_HTTP3_HANDSHAKE_TIMEOUT

Usa o buffer para definir o tempo limite de handshake HTTP/3 em milissegundos como um PDWORD.

WINHTTP_OPTION_HTTP3_INITIAL_RTT

Configura o RTT inicial em milissegundos usados pelo msquic.

WINHTTP_OPTION_HTTP3_KEEPALIVE

Habilita a semântica keep alive para a conexão. Usa o buffer para definir o tempo limite de keep alive em milissegundos como um PDWORD.

WINHTTP_OPTION_HTTP3_STREAM_ERROR_CODE

Recupera o erro fornecido pelo servidor no fluxo HTTP/3 usado para enviar a solicitação.

WINHTTP_OPTION_IGNORE_CERT_REVOCATION_OFFLINE

Permite que conexões seguras usem certificados de segurança para os quais a lista de revogação de certificados não pôde ser baixada.

WINHTTP_OPTION_IPV6_FAST_FALLBACK

Habilita o fallback rápido IPv6 (Olhos Mais Felizes) para a conexão. Esse comportamento é semelhante ao comportamento de Happy Eyeballs descrito no RFC 6555 para melhorar os tempos de conexão em redes em que o IPv6 não é confiável.

  • Se os endereços IPv6 e IPv4 forem resolvidos para um determinado host, o WinHttp começará conectando-se ao primeiro endereço IPv6 resolvido com um tempo limite curto (300ms).
  • Se essa conexão falhar, o WinHttp tentará se conectar ao primeiro endereço IPv4 resolvido com o tempo limite padrão.
  • Se a segunda conexão falhar, o WinHttp repetirá o primeiro endereço IPv6 resolvido com o tempo limite padrão.
  • Se a terceira conexão falhar, o WinHttp reverter ao comportamento padrão de todos os endereços restantes, tentando uma conexão com cada um com o tempo limite padrão até que uma conexão seja feita ou nenhum endereço permaneça.

WINHTTP_OPTION_IS_PROXY_CONNECT_RESPONSE

Obtém se uma resposta de conexão de retorno de proxy pode ou não ser recuperada.

WINHTTP_OPTION_MATCH_CONNECTION_GUID

Usa um struct WINHTTP_MATCH_CONNECTION_GUID para informar o WinHTTP para atender à solicitação em uma conexão correspondente. Se WINHTTP_MATCH_CONNECTION_GUID_FLAG_REQUIRED estiver definido, somente conexões com um GUID correspondente poderão ser usadas. Caso contrário, conexões com GUIDs correspondentes e conexões que não estão marcadas com nenhum GUID podem ser usadas.

WINHTTP_OPTION_MAX_CONNS_PER_1_0_SERVER

Define ou recupera um valor inteiro longo sem sinal que contém o número máximo de conexões permitidas por servidor HTTP/1.0. O valor padrão é INFINITE.

Aplica-se a: Windows Vista com SP1 e posterior; Windows Server 2008 e posterior.

WINHTTP_OPTION_MAX_CONNS_PER_SERVER

Define ou recupera um valor inteiro longo sem sinal que contém o número máximo de conexões permitidas por servidor. O valor padrão é INFINITE.

Quando essa opção é definida como zero, o WinHTTP define o limite do número de conexões como 2.

WINHTTP_OPTION_MAX_HTTP_AUTOMATIC_REDIRECTS

Define o número máximo de redirecionamentos que o WinHTTP segue; o padrão é 10. Esse limite impede que sites não autorizados façam o cliente WinHTTP pausar após um grande número de redirecionamentos.

Aplica-se a: Windows XP com SP1 e posterior; Windows 2000 com SP3 e posterior.

WINHTTP_OPTION_MAX_HTTP_STATUS_CONTINUE

O número máximo de respostas de código de status informativas 100-199 ignoradas antes de retornar o código de status final para o cliente WinHTTP. Os códigos de status informativos 100-199 podem ser enviados pelo servidor antes do código final status e são descritos na especificação para HTTP/1.1 (para obter mais informações, consulte RFC 2616). O padrão é 10.

Aplica-se a: Windows XP com SP1 e posterior; Windows 2000 com SP3 e posterior.

WINHTTP_OPTION_MAX_RESPONSE_DRAIN_SIZE

Um limite na quantidade de dados drenados das respostas para reutilizar uma conexão, especificada em bytes. O padrão é 1 MB.

Aplica-se a: Windows XP com SP1 e posterior; Windows 2000 com SP3 e posterior.

WINHTTP_OPTION_MAX_RESPONSE_HEADER_SIZE

Um conjunto associado no tamanho máximo da parte de cabeçalho da resposta do servidor, especificado em bytes. Esse limite protege o cliente de um servidor não autorizado que tenta paralisar o cliente enviando uma resposta com uma quantidade infinita de dados de cabeçalho. O valor padrão é 64 KB.

Aplica-se a: Windows XP com SP1 e posterior; Windows 2000 com SP3 e posterior.

WINHTTP_OPTION_PARENT_HANDLE

Recupera o identificador pai para esse identificador.

WINHTTP_OPTION_PASSPORT_COBRANDING_TEXT

Recupera uma cadeia de caracteres que contém o texto de cobranding fornecido pelo servidor de logon do Passport. Essa opção deve ser recuperada imediatamente após o servidor de logon responder com um código 401 status. Um aplicativo deve passar um tamanho de buffer, em bytes, que é grande o suficiente para manter a cadeia de caracteres retornada.

WINHTTP_OPTION_PASSPORT_COBRANDING_URL

Recupera uma cadeia de caracteres que contém uma URL para um gráfico de comarcação fornecido pelo servidor de logon do Passport. Essa opção deve ser recuperada imediatamente após o servidor de logon responder com um código 401 status. Um aplicativo deve passar um tamanho de buffer, em bytes, que é grande o suficiente para manter a cadeia de caracteres retornada.

WINHTTP_OPTION_PASSPORT_RETURN_URL

Define uma opção somente leitura em um identificador de solicitação que recupera a URL de retorno do Passport.

WINHTTP_OPTION_PASSPORT_SIGN_OUT

Define a opção em um identificador de sessão para sair de qualquer logon do Passport. Um aplicativo deve passar a URL de devolução do Passport que foi recuperada com WINHTTP_OPTION_PASSPORT_RETURN_URL. Todos os cookies relacionados à URL de retorno são limpos.

WINHTTP_OPTION_PASSWORD

Define ou recupera um valor de cadeia de caracteres que contém a senha associada a um identificador de solicitação.

WINHTTP_OPTION_PROXY

Define ou recupera uma estrutura de WINHTTP_PROXY_INFO que contém os dados de proxy em um identificador de sessão ou identificador de solicitação existente. Ao recuperar dados de proxy, um aplicativo deve liberar as cadeias de caracteres lpszProxy e lpszProxyBypass contidas nessa estrutura (se não forem NULL) usando a função GlobalFree . Um aplicativo pode consultar os dados de proxy global (o proxy padrão) passando um identificador NULL .

WINHTTP_OPTION_PROXY_PASSWORD

Define ou recupera um valor de cadeia de caracteres que contém a senha usada para acessar o proxy.

WINHTTP_OPTION_PROXY_SPN_USED

Obtém o nome da entidade de segurança do servidor proxy que o WinHTTP forneceu ao SSPI durante a autenticação. Esse valor de cadeia de caracteres é usado para passar para SspiPromptForCredentials após uma falha de autenticação.

WINHTTP_OPTION_PROXY_USERNAME

Define ou recupera um valor de cadeia de caracteres que contém o nome de usuário usado para acessar o proxy.

WINHTTP_OPTION_QUIC_STATS

Recupera uma estrutura QUIC_STATISTICS que contém informações de conexão, como RTT e bytes enviados e recebidos.

WINHTTP_OPTION_READ_BUFFER_SIZE

Essa opção foi preterida; não tem efeito.

WINHTTP_OPTION_RECEIVE_PROXY_CONNECT_RESPONSE

Define se a entidade de resposta proxy pode ou não ser recuperada. Essa opção está desabilitada por padrão.

WINHTTP_OPTION_RECEIVE_RESPONSE_TIMEOUT

Define ou recupera um valor inteiro longo sem sinal que contém o valor de tempo limite, em milissegundos, para aguardar para receber todos os cabeçalhos de resposta para uma solicitação. Se o WinHTTP não receber todos os cabeçalhos nesse período de tempo limite, a solicitação será cancelada. O valor de tempo limite padrão é 90 segundos.

Esse tempo limite é verificado somente quando os dados são recebidos do soquete. Como resultado, quando o tempo limite expirar, o aplicativo cliente não será notificado até que mais dados cheguem do servidor. Se nenhum dado chegar do servidor, o atraso entre a expiração do tempo limite e a notificação do aplicativo cliente poderá ser tão grande quanto o valor de tempo limite definido usando o parâmetro dwReceiveTimeout da função WinHttpSetTimeouts .

WINHTTP_OPTION_RECEIVE_TIMEOUT

Define ou recupera um valor inteiro longo sem sinal que contém o valor de tempo limite, em milissegundos, para receber uma resposta parcial a uma solicitação ou ler alguns dados. Se a resposta demorar mais do que esse valor de tempo limite, a solicitação será cancelada. O valor do tempo limite padrão é de 30 segundos.

WINHTTP_OPTION_REDIRECT_POLICY

Define o comportamento do WinHTTP em relação ao tratamento de um código de redirecionamento HTTP 30x status. Essa opção pode ser definida em uma sessão ou identificador de solicitação para um dos seguintes valores:

Termo Descrição
WINHTTP_OPTION_REDIRECT_POLICY_ALWAYS Todos os redirecionamentos são seguidos automaticamente.
WINHTTP_OPTION_REDIRECT_POLICY_DISALLOW_HTTPS_TO_HTTP Todos os redirecionamentos são seguidos, exceto aqueles que se originam de uma URL segura (https) para uma URL não segura (http). Essa é a configuração padrão.
WINHTTP_OPTION_REDIRECT_POLICY_NEVER Os redirecionamentos nunca são seguidos. O status 30x é retornado ao aplicativo.

WINHTTP_OPTION_REJECT_USERPWD_IN_URL

Rejeita URLs que contêm um nome de usuário e senha. Essa opção também rejeita URLs que contêm semântica username:password , mesmo que nenhum nome de usuário ou senha seja especificado. Por exemplo, "u:p@hostname", ":@hostname", "u:@hostname" e ":p@hostname" seriam sinalizados como inválidos. Se uma URL inválida for passada para a função, ela retornará ERROR_WINHTTP_INVALID_URL. Essa opção é desativada por padrão.

WINHTTP_OPTION_REQUEST_ANNOTATION

Habilita a obtenção e a definição de uma anotação de solicitação para o nome de anotação fornecido. Isso permite que o chamador anexe uma cadeia de caracteres à solicitação de recuperação posterior para identificar solicitações por qualquer lógica personalizada que o chamador achar útil.

WINHTTP_OPTION_REQUEST_PRIORITY

Essa opção foi preterida; não tem efeito.

WINHTTP_OPTION_REQUEST_STATS

Retreive estatísticas para a solicitação. Para obter uma lista das estatísticas disponíveis, consulte WINHTTP_REQUEST_STATS.

WINHTTP_OPTION_REQUEST_TIMES

Retreia informações de tempo para a solicitação. Para obter uma lista dos intervalos disponíveis, consulte WINHTTP_REQUEST_TIMES.

WINHTTP_OPTION_REQUIRE_STREAM_END

Essa opção informa ao WinHttp para ignorar cabeçalhos de resposta "Comprimento do Conteúdo" e continuar recebendo em um fluxo até que o sinalizador END_STREAM seja recebido.

WINHTTP_OPTION_RESOLUTION_HOSTNAME

Essa opção pode ser definida em um identificador de solicitação WinHttp antes de ser enviada. Se definido, o WinHttp usará a cadeia de caracteres fornecida pelo chamador como o nome do host para resolução DNS.

WINHTTP_OPTION_RESOLVE_TIMEOUT

Define ou recupera um valor inteiro longo sem sinal que contém o valor de tempo limite, em milissegundos, para resolve um nome de host. O valor de tempo limite padrão é INFINITE. Se um valor não padrão for especificado, haverá uma sobrecarga de uma criação de thread por resolução de nome.

WINHTTP_OPTION_REVERT_IMPERSONATION_SERVER_CERT

Reverte qualquer representação de thread ao criar a cadeia de certificados do servidor, forçando o uso do token de processo.

WINHTTP_OPTION_SECURE_PROTOCOLS

Define um valor inteiro longo sem sinal que especifica quais protocolos seguros são aceitáveis.

  • Windows 11, Windows 10 e Windows 8.1. Por padrão, somente SSL3, TLS1.0, TLS1.1 e TLS1.2 estão habilitados.
  • Windows 8 e Windows 7. Por padrão, somente SSL3 e TLS1 estão habilitados.

O valor pode ser uma combinação de um ou mais dos valores a seguir.

Termo Descrição
WINHTTP_FLAG_SECURE_PROTOCOL_ALL Os protocolos SSL (Secure Sockets Layer) 2.0, SSL 3.0 e TLS (Transport Layer Security) 1.0 podem ser usados.
WINHTTP_FLAG_SECURE_PROTOCOL_SSL2 O protocolo SSL 2.0 pode ser usado.
WINHTTP_FLAG_SECURE_PROTOCOL_SSL3 O protocolo SSL 3.0 pode ser usado.
WINHTTP_FLAG_SECURE_PROTOCOL_TLS1 O protocolo TLS 1.0 pode ser usado.
WINHTTP_FLAG_SECURE_PROTOCOL_TLS1_1 O protocolo TLS 1.1 pode ser usado.
WINHTTP_FLAG_SECURE_PROTOCOL_TLS1_2 O protocolo TLS 1.2 pode ser usado.
WINHTTP_FLAG_SECURE_PROTOCOL_TLS1_3 O protocolo TLS 1.3 pode ser usado.

Se você precisar adicionar suporte para protocolos TLS 1.1 ou TLS 1.2, mas não conseguir recompilar o aplicativo para usar os valores apropriados de WINHTTP_OPTION_SECURE_PROTOCOLS, poderá adicionar a entrada do DefaultSecureProtocols Registro. Essa entrada do Registro permite especificar quais protocolos SSL devem ser usados quando o sinalizador WINHTTP_OPTION_SECURE_PROTOCOLS é usado.

Importante

As instruções a seguir envolvem a modificação do registro. No entanto, problemas graves podem ocorrer se você modificar o Registro incorretamente. Portanto, certifique-se de seguir estas instruções com cuidado. Para maior proteção, faça backup do Registro antes de modificá-lo. Assim, será possível restaurá-lo se houver algum problema. Para obter mais informações sobre como fazer backup e restaurar o registro, consulte Como fazer backup e restaurar o registro no Windows.

Quando um aplicativo especifica WINHTTP_OPTION_SECURE_PROTOCOLS, o sistema verifica a DefaultSecureProtocols entrada do Registro e, se estiver presente, substitui os protocolos padrão especificados por WINHTTP_OPTION_SECURE_PROTOCOLS com os protocolos especificados na entrada do DefaultSecureProtocols Registro. Se a entrada do Registro não estiver presente, o WinHTTP usará os padrões de sistema operacional existentes para WINHTTP_OPTION_SECURE_PROTOCOLS. Esses padrões do WinHTTP seguem as regras de precedência existentes e são rejeitados por protocolos e protocolos desabilitados do Schannel (Secure Channel) definidos por aplicativo por WinHttpSetOption.

Você pode adicionar a entrada do DefaultSecureProtocols Registro no seguinte caminho:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp

Em computadores baseados em x64, você também deve adicionar DefaultSecureProtocols ao Wow6432Node caminho:

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp

O valor do Registro é um bitmap DWORD. O valor a ser usado é determinado adicionando os valores correspondentes aos protocolos desejados.

Valor defaultSecureProtocols Protocolo habilitado
0x00000008 Habilitar o SSL 2.0 por padrão
0x00000020 Habilitar o SSL 3.0 por padrão
0x00000080 Habilitar o TLS 1.0 por padrão
0x00000200 Habilitar o TLS 1.1 por padrão
0x00000800 Habilitar o TLS 1.2 por padrão

Por exemplo, se você quiser substituir os valores padrão para WINHTTP_OPTION_SECURE_PROTOCOLS especificar TLS 1.1 e TLS 1.2. Nesse caso, pegue o valor de TLS 1.1 (0x00000200) e o valor de TLS 1.2 (0x00000800), adicione-os juntos na calculadora (no modo programador) e o valor resultante do Registro seria 0x00000A00.

WINHTTP_OPTION_SECURITY_CERTIFICATE_STRUCT

Recupera o certificado de um servidor SSL/TLS na estrutura WINHTTP_CERTIFICATE_INFO . O aplicativo deve liberar os membros lpszSubjectInfo e lpszIssuerInfo com LocalFree.

WINHTTP_OPTION_SECURITY_FLAGS

Define ou recupera um valor inteiro longo sem sinal que contém os sinalizadores de segurança de um identificador. Pode ser uma combinação desses valores:

Termo Descrição
SECURITY_FLAG_IGNORE_CERT_CN_INVALID Permite um nome comum inválido em um certificado; ou seja, o nome do servidor especificado pelo aplicativo não corresponde ao nome comum no certificado. Se esse sinalizador for definido, o aplicativo não receberá um retorno de chamada WINHTTP_CALLBACK_STATUS_FLAG_CERT_CN_INVALID .
SECURITY_FLAG_IGNORE_CERT_DATE_INVALID Permite uma data de certificado inválida, ou seja, um certificado expirado ou ainda não efetivo. Se esse sinalizador for definido, o aplicativo não receberá um retorno de chamada WINHTTP_CALLBACK_STATUS_FLAG_CERT_DATE_INVALID .
SECURITY_FLAG_IGNORE_UNKNOWN_CA Permite uma autoridade de certificação inválida. Se esse sinalizador estiver definido, o aplicativo não receberá um retorno de chamada WINHTTP_CALLBACK_STATUS_FLAG_INVALID_CA .
SECURITY_FLAG_IGNORE_CERT_WRONG_USAGE Permite que a identidade de um servidor seja estabelecida com um certificado não servidor (por exemplo, um certificado de cliente).
SECURITY_FLAG_IGNORE_WEAK_SIGNATURE Permite que uma assinatura fraca seja ignorada.
Esse sinalizador está disponível na atualização cumulativo de atualizações para cada sistema operacional começando com o Windows 7 e o Windows Server 2008 R2.
SECURITY_FLAG_SECURE Usa transferências seguras. Isso só é retornado em uma chamada para WinHttpQueryOption.
SECURITY_FLAG_STRENGTH_MEDIUM Usa criptografia média (56 bits). Isso só é retornado em uma chamada para WinHttpQueryOption.
SECURITY_FLAG_STRENGTH_STRONG Usa criptografia forte (128 bits). Isso só é retornado em uma chamada para WinHttpQueryOption.
SECURITY_FLAG_STRENGTH_WEAK Usa criptografia fraca (40 bits). Isso só é retornado em uma chamada para WinHttpQueryOption.

WINHTTP_OPTION_SECURITY_INFO

Retreia as informações de conexão e criptografia do SChannel para uma solicitação.

WINHTTP_OPTION_SECURITY_KEY_BITNESS

Recupera um valor inteiro longo sem sinal que contém a força da criptografia da chave de criptografia. Um número maior indica criptografia de força de codificação mais forte.

WINHTTP_OPTION_SEND_TIMEOUT

Define ou recupera um valor inteiro longo sem sinal que contém o valor de tempo limite, em milissegundos, para enviar uma solicitação ou gravar alguns dados. Se o envio da solicitação demorar mais do que o tempo limite, a operação de envio será cancelada. O tempo limite padrão é 30 segundos.

WINHTTP_OPTION_SERVER_CBT

Obtém um ponteiro para SecPkgContext_Bindings estrutura que especifica um CBT (Token de Associação de Canal).

Um Token de Associação de Canal é uma propriedade de um canal de transporte seguro e é usado para associar um canal de autenticação ao canal de transporte seguro. Esse token só pode ser obtido por essa opção depois que uma conexão SSL for estabelecida.

Observação

Passar essa opção e um valor nulo para lpBuffer para WinHttpQueryOption retornará ERROR_INSUFFICIENT_BUFFER e o tamanho de byte necessário para o buffer no parâmetro lpdwBufferLength . Esse valor de tamanho de buffer retornado pode ser passado em uma chamada subsequente para consultar o Token de Associação de Canal. Essas etapas são necessárias ao lidar com WINHTTP_CALLBACK_STATUS_REQUEST se você quiser modificar cabeçalhos de solicitação com base no Token de Associação de Canal. Observe que o Windows XP e o Vista não dão suporte à modificação de cabeçalhos de solicitação durante esse retorno de chamada.

WINHTTP_OPTION_SERVER_CERT_CHAIN_CONTEXT

Recupera o contexto da cadeia de certificação do servidor. WINHTTP_OPTION_SERVER_CERT_CHAIN_CONTEXT pode ser passado para obter um ponteiro duplicado para o CERT_CHAIN_CONTEXT de uma cadeia de certificados de servidor recebida durante uma conexão SSL negociada. O cliente deve chamar CertFreeCertificateContext no ponteiro PCCERT_CONTEXT retornado que é preenchido no buffer.

WINHTTP_OPTION_SERVER_CERT_CONTEXT

Recupera o contexto de certificação do servidor. WINHTTP_OPTION_SERVER_CERT_CONTEXT pode ser passado para obter um ponteiro duplicado para o CERT CONTEXT para um certificado de servidor recebido durante uma conexão SSL negociada. O cliente deve chamar CertFreeCertificateContext no ponteiro PCCERT_CONTEXT retornado que é preenchido no buffer.

WINHTTP_OPTION_SERVER_SPN_USED

Obtém o nome da entidade de segurança do servidor que o WinHTTP forneceu ao SSPI durante a autenticação. Esse valor de cadeia de caracteres pode ser passado para SspiPromptForCredentials após uma falha de autenticação.

WINHTTP_OPTION_SPN

Inclui ou remove o número da porta do servidor quando o SPN (nome da entidade de serviço) é criado para autenticação Kerberos ou Negotiate Kerberos. Esse sinalizador é um dos seguintes valores:

Termo Descrição
WINHTTP_DISABLE_SPN_SERVER_PORT Remove o número da porta do servidor.
WINHTTP_ENABLE_SPN_SERVER_PORT Inclui o número da porta do servidor.

WINHTTP_OPTION_STREAM_ERROR_CODE

Essa opção pode ser consultada em um identificador de solicitação WinHttp e retornará o código de erro indicado por um quadro de RST_STREAM recebido em um fluxo HTTP.

WINHTTP_OPTION_TCP_FAST_OPEN

Habilita o TCP Fast Open para a conexão.

WINHTTP_OPTION_TCP_KEEPALIVE

Essa opção pode ser definida em um identificador de sessão WinHttp para habilitar o comportamento keep alive do TCP no soquete subjacente. Usa um struct tcp_keepalive .

WINHTTP_OPTION_TLS_FALSE_START

Habilita o Início Falso do TLS para a conexão.

WINHTTP_OPTION_TCP_PRIORITY_STATUS

Consulte a prioridade sugerida do conjunto de soquetes TCP com WINHTTP_OPTION_TCP_PRIORITY_HINT. Consulte a documentação do SIO_SET_PRIORITY_HINT para obter mais detalhes.

WINHTTP_OPTION_TLS_PROTOCOL_INSECURE_FALLBACK

Essa opção pode ser definida em um identificador de sessão WinHttp para controlar se o fallback para TLS 1.0 é permitido se houver uma falha de handshake do TLS com uma versão de protocolo mais recente.

WINHTTP_OPTION_UNLOAD_NOTIFY_EVENT

Usa um evento que será definido quando o último retorno de chamada for concluído para uma sessão específica. Esse sinalizador deve ser usado em um identificador de sessão. O evento não pode ser fechado até que tenha sido definido pelo WinHTTP.

WINHTTP_OPTION_UNSAFE_HEADER_PARSING

Essa opção é reservada para uso interno e não deve ser chamada.

WINHTTP_OPTION_UPGRADE_TO_WEB_SOCKET

Instrui a pilha a iniciar um processo de handshake do WebSocket com WinHttpSendRequest. Essa opção não usa parâmetros.

WINHTTP_OPTION_URL

Recupera um valor de cadeia de caracteres que contém a URL completa de um recurso baixado. Se a URL original contiver dados extras, como cadeias de caracteres de pesquisa ou âncoras, ou se a chamada tiver sido redirecionada, a URL retornada será diferente da original. O aplicativo deve passar um buffer, dimensionado em bytes, que é grande o suficiente para manter a URL retornada em caractere largo.

WINHTTP_OPTION_USE_GLOBAL_SERVER_CREDENTIALS

Usa um BOOL e pode ser definido apenas como um identificador de sessão. Ele só será propagado para os identificadores criados a partir do identificador de sessão depois que a opção tiver sido definida. Se TRUE, essa opção causará, como último recurso, o uso de credenciais de servidor global que foram enviadas por push do WinInet. O padrão para essa opção é FALSE. Essa opção requer a chave do Registro HKLM\Software\Microsoft\Windows\CurrentVersion\Internet Settings! ShareCredsWithWinHttp. Essa chave do Registro não está presente por padrão. Quando estiver definido, o WinINet enviará credenciais para o WinHTTP. Sempre que o WinHttp receber um desafio de autenticação e se não houver credenciais definidas no identificador atual, ele usará as credenciais fornecidas pelo WinINet.

WINHTTP_OPTION_USE_SESSION_SCH_CRED

Permite que a configuração de uma única credencial seja usada por padrão para todos os pontos de extremidade dentro da sessão, em vez de ter credenciais padrão por ponto de extremidade. Isso pode melhorar o desempenho reduzindo a sobrecarga de gerenciamento de credenciais. Observe que essa credencial padrão não terá efeito quando um certificado do cliente for fornecido explicitamente.

WINHTTP_OPTION_USER_AGENT

Define ou recupera a cadeia de caracteres do agente do usuário em identificadores fornecidos pelo WinHttpOpen e usados nas funções WinHttpSendRequest subsequentes, desde que não seja substituído por um cabeçalho adicionado por WinHttpAddRequestHeaders ou WinHttpSendRequest. Ao recuperar um agente de usuário, o aplicativo deve passar um buffer, dimensionado em bytes, que é grande o suficiente para manter a URL retornada em caractere largo. Ao definir o agente do usuário, o tamanho do buffer é o comprimento da cadeia de caracteres, em caracteres, mais o terminador NULL .

WINHTTP_OPTION_USERNAME

Define ou recupera uma cadeia de caracteres que contém o nome de usuário.

WINHTTP_OPTION_WEB_SOCKET_CLOSE_TIMEOUT

Define o tempo, em milissegundos, que WinHttpWebSocketClose deve aguardar para concluir o handshake de fechamento. O padrão é 10 segundos.

WINHTTP_OPTION_WEB_SOCKET_KEEPALIVE_INTERVAL

Define o intervalo, em milissegundos, para enviar um pacote keep alive pela conexão. O intervalo padrão é 30000 (30 segundos). O intervalo mínimo é 15000 (15 segundos). Usar WinHttpSetOption para definir um valor inferior a 15000 retornará com ERROR_INVALID_PARAMETER.

Observação

O valor padrão para WINHTTP_OPTION_WEB_SOCKET_KEEPALIVE_INTERVAL é lido de HKLM:\SOFTWARE\Microsoft\WebSocket\KeepaliveInterval. Se um valor não for definido, o valor padrão de 30000 será usado. Não é possível ter um intervalo keepalive inferior a 15000 milissegundos.

WINHTTP_OPTION_WEB_SOCKET_RECEIVE_BUFFER_SIZE

Define ou recupera um DWORD que especifica o tamanho do buffer de recebimento a ser usado em conexões WebSocket.

WINHTTP_OPTION_WEB_SOCKET_SEND_BUFFER_SIZE

Define ou recupera um DWORD que especifica o tamanho do buffer de envio a ser usado em conexões WebSocket.

WINHTTP_OPTION_WORKER_THREAD_COUNT

Define um valor inteiro longo sem sinal que especifica o número de threads de trabalho que o pool de threads deve usar para conclusões assíncronas. O valor padrão dessa opção é zero, que especifica que o número de threads de trabalho é igual ao número de CPUs no sistema. Essa opção só pode ser definida em um identificador HINTERNETNULL antes de ocorrer uma operação assíncrona. Essa opção só pode ser definida uma vez.

Aplica-se a: Windows 7 e posterior; Windows Server 2008 R2 e posterior.

WINHTTP_OPTION_WRITE_BUFFER_SIZE

Essa opção foi preterida; não tem efeito.

Comentários

A tabela a seguir lista os sinalizadores de opção especificando quais identificadores eles podem agir, se podem ser consultados e definidos e o tipo de dados usado. Um "X" indica que o sinalizador de opção é válido para uso com a função ou identificador, enquanto um "-" especifica que o sinalizador de opção é inválido.

Tentar definir ou consultar um sinalizador de opção em uma versão do Windows em que não há suporte resultará em ERROR_WINHTTP_INVALID_OPTION.

Sinalizador de opção e tipo de dados Identificador de sessão Identificador de solicitação Opção de consulta Opção Set Versão mínima do Windows
WINHTTP_OPTION_ASSURED_NON_BLOCKING_CALLBACKS
BOOL
X - - X -
WINHTTP_OPTION_AUTOLOGON_POLICY
DWORD
- X - X -
WINHTTP_OPTION_BACKGROUND_CONNECTIONS
DWORD
X - - X Windows 10 versão 21H1
WINHTTP_OPTION_CALLBACK
LPVOID
X X X X -
WINHTTP_OPTION_CLIENT_CERT_CONTEXT
CERT_CONTEXT
- X - X Windows Vista
WINHTTP_OPTION_CLIENT_CERT_ISSUER_LIST
SecPkgContext_IssuerListInfoEx
- X X - Windows Vista
WINHTTP_OPTION_CODEPAGE
DWORD
X - - X -
WINHTTP_OPTION_CONFIGURE_PASSPORT_AUTH
DWORD
X - - X -
WINHTTP_OPTION_CONNECT_RETRIES
DWORD
X X X X -
WINHTTP_OPTION_CONNECT_TIMEOUT
DWORD
X X X X -
WINHTTP_OPTION_CONNECTION_INFO
WINHTTP_CONNECTION_INFO
- X X - -
WINHTTP_OPTION_CONNECTION_STATS_V0
TCP_INFO_v0
- X X - Windows 10 versão 1903
WINHTTP_OPTION_CONNECTION_STATS_V1
TCP_INFO_v1
- X X - Windows 10 versão 2004
WINHTTP_OPTION_CONTEXT_VALUE
DWORD_PTR
X X X X -
WINHTTP_OPTION_DECOMPRESSION
DWORD
X X - X Windows 8.1
WINHTTP_OPTION_DISABLE_CERT_CHAIN_BUILDING
BOOL
X - - X Windows 10 versão 21H1
WINHTTP_OPTION_DISABLE_FEATURE
DWORD
- X - X -
WINHTTP_OPTION_DISABLE_SECURE_PROTOCOL_FALLBACK
BOOL
X - - X Windows 10 versão 1903
WINHTTP_OPTION_DISABLE_STREAM_QUEUE
BOOL
X X - X Windows 10 versão 1809
WINHTTP_OPTION_ENABLE_FEATURE
DWORD
* * - X -
WINHTTP_OPTION_ENABLE_HTTP_PROTOCOL
DWORD
X X - X Windows 10, versão 1607
WINHTTP_OPTION_ENABLE_HTTP2_PLUS_CLIENT_CERT_CONTEXT
BOOL
X - - X Windows 10 versão 21H1
WINHTTP_OPTION_ENABLETRACING
DWORD
- - X X -
WINHTTP_OPTION_ENCODE_EXTRA
BOOL
X X - X Windows 10 versão 1803
WINHTTP_OPTION_EXPIRE_CONNECTION
N/D
- X - X Windows 10 versão 1903
WINHTTP_OPTION_EXTENDED_ERROR
DWORD
X X X - -
WINHTTP_OPTION_FIRST_AVAILABLE_CONNECTION
BOOL
X - - X Windows 10 versão 21H1
WINHTTP_OPTION_GLOBAL_PROXY_CREDS
WINHTTP_CREDS
X X - X -
WINHTTP_OPTION_GLOBAL_SERVER_CREDS
WINHTTP_CREDS_EX
X X - X -
WINHTTP_OPTION_HANDLE_TYPE
DWORD
X X X - -
WINHTTP_OPTION_HTTP_PROTOCOL_REQUIRED
BOOL
X X - X Windows 10 versão 1903
WINHTTP_OPTION_HTTP_PROTOCOL_USED
DWORD
- X X - Windows 10, versão 1607
WINHTTP_OPTION_HTTP_VERSION
HTTP_VERSION_INFO
X X X X -
WINHTTP_OPTION_HTTP2_KEEPALIVE
DWORD
X - - X Windows 10 versão 21H1
WINHTTP_OPTION_HTTP2_PLUS_TRANSFER_ENCODING
BOOL
X X - X Windows 10 versão 21H1
WINHTTP_OPTION_IGNORE_CERT_REVOCATION_OFFLINE
BOOL
- X - X Windows 10 versão 2004
WINHTTP_OPTION_IPV6_FAST_FALLBACK
BOOL
X - - X Windows 10 versão 1903
WINHTTP_OPTION_IS_PROXY_CONNECT_RESPONSE
BOOL
X X X - -
WINHTTP_OPTION_MAX_CONNS_PER_1_0_SERVER
DWORD
X - X X -
WINHTTP_OPTION_MAX_CONNS_PER_SERVER
DWORD
X - X X -
WINHTTP_OPTION_MAX_HTTP_AUTOMATIC_REDIRECTS
DWORD
X X X X -
WINHTTP_OPTION_MAX_HTTP_STATUS_CONTINUE
DWORD
X X X X -
WINHTTP_OPTION_MAX_RESPONSE_DRAIN_SIZE
DWORD
X X X X -
WINHTTP_OPTION_MAX_RESPONSE_HEADER_SIZE
DWORD
X X X X -
WINHTTP_OPTION_PARENT_HANDLE
HINTERNET
X X X - -
WINHTTP_OPTION_PASSPORT_COBRANDING_TEXT
LPWSTR
- X X - -
WINHTTP_OPTION_PASSPORT_COBRANDING_URL
LPWSTR
- X X - -
WINHTTP_OPTION_PASSPORT_RETURN_URL
LPVOID
- X X - -
WINHTTP_OPTION_PASSPORT_SIGN_OUT
LPVOID
X - - X -
WINHTTP_OPTION_PASSWORD
LPWSTR
- X X X -
WINHTTP_OPTION_PROXY
WINHTTP_PROXY_INFO
X X X X -
WINHTTP_OPTION_PROXY_PASSWORD
LPWSTR
- X X X -
WINHTTP_OPTION_PROXY_SPN_USED
LPWSTR
- X X - -
WINHTTP_OPTION_PROXY_USERNAME
LPWSTR
- X X X -
WINHTTP_OPTION_READ_BUFFER_SIZE
DWORD
- X X X -
WINHTTP_OPTION_RECEIVE_PROXY_CONNECT_RESPONSE
BOOL
X X - X -
WINHTTP_OPTION_RECEIVE_RESPONSE_TIMEOUT
DWORD
X X X X -
WINHTTP_OPTION_RECEIVE_TIMEOUT
DWORD
X X X X -
WINHTTP_OPTION_REDIRECT_POLICY
DWORD
X X X X -
WINHTTP_OPTION_REJECT_USERPWD_IN_URL
BOOL
- X - X -
WINHTTP_OPTION_REQUEST_PRIORITY
DWORD
- X X X -
WINHTTP_OPTION_REQUEST_STATS
WINHTTP_REQUEST_STATS
- X X - Windows 10 versão 1903
WINHTTP_OPTION_REQUEST_TIMES
WINHTTP_REQUEST_TIMES
- X X - Windows 10 versão 1903
WINHTTP_OPTION_REQUIRE_STREAM_END
BOOL
X X - X Windows 10 versão 21H1
WINHTTP_OPTION_RESOLUTION_HOSTNAME
LPWSTR
- X - X Windows 10 versão 21H1
WINHTTP_OPTION_RESOLVE_TIMEOUT
DWORD
X X X X -
WINHTTP_OPTION_SECURE_PROTOCOLS
DWORD
X - - X -
WINHTTP_OPTION_SECURITY_CERTIFICATE_STRUCT
WINHTTP_CERTIFICATE_INFO
- X X - -
WINHTTP_OPTION_SECURITY_FLAGS
DWORD
- X X X -
WINHTTP_OPTION_SECURITY_INFO
WINHTTP_SECURITY_INFO
- X X - Windows 10 versão 2004
WINHTTP_OPTION_SECURITY_KEY_BITNESS
DWORD
- X X - -
WINHTTP_OPTION_SEND_TIMEOUT
DWORD
X X X X -
WINHTTP_OPTION_SERVER_CBT
SecPkgContext_Bindings*
- X X - -
WINHTTP_OPTION_SERVER_CERT_CHAIN_CONTEXT
CERT_CHAIN_CONTEXT
- X X - Windows 10 versão 2004
WINHTTP_OPTION_SERVER_CERT_CONTEXT
CONTEXTO DE CERTIFICADO
- X X - -
WINHTTP_OPTION_SERVER_SPN_USED
LPWSTR
- X X - -
WINHTTP_OPTION_SPN
DWORD
- X - X -
WINHTTP_OPTION_STREAM_ERROR_CODE
DWORD
- X X - Windows 10 versão 21H1
WINHTTP_OPTION_TCP_FAST_OPEN
BOOL
X - - X Windows 10 versão 2004
WINHTTP_OPTION_TCP_KEEPALIVE
tcp_keepalive
X - - X Windows 10 versão 2004
WINHTTP_OPTION_TLS_FALSE_START
BOOL
X - - X Windows 10 versão 2004
WINHTTP_OPTION_TLS_PROTOCOL_INSECURE_FALLBACK
BOOL
X - - X Windows 10 versão 21H1
WINHTTP_OPTION_UNLOAD_NOTIFY_EVENT
HINTERNET
X - - X -
WINHTTP_OPTION_UNSAFE_HEADER_PARSING
DWORD
- X - X -
WINHTTP_OPTION_UPGRADE_TO_WEB_SOCKET
N/D
- X - X -
WINHTTP_OPTION_URL
LPWSTR
- X X - -
WINHTTP_OPTION_USE_GLOBAL_SERVER_CREDENTIALS
BOOL
X X - X -
WINHTTP_OPTION_USER_AGENT
LPWSTR
X - X X -
WINHTTP_OPTION_USERNAME
LPWSTR
- X X X -
WINHTTP_OPTION_WEB_SOCKET_CLOSE_TIMEOUT
DWORD
- - X X -
WINHTTP_OPTION_WEB_SOCKET_KEEPALIVE_INTERVAL
DWORD
- - X X -
WINHTTP_OPTION_WEB_SOCKET_RECEIVE_BUFFER_SIZE
DWORD
X X X X Windows 8.1
WINHTTP_OPTION_WEB_SOCKET_SEND_BUFFER_SIZE
DWORD
X X X X Windows 8.1
WINHTTP_OPTION_WORKER_THREAD_COUNT
DWORD
- - - X -
WINHTTP_OPTION_WRITE_BUFFER_SIZE
DWORD
- X X X -

Observação

Para Windows XP e Windows 2000, consulte Requisitos de tempo de execução.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows XP, Windows 2000 Professional com SP3 [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2003, Windows 2000 Server com SP3 [somente aplicativos da área de trabalho]
Redistribuível WinHTTP 5.0 e Internet Explorer 5.01 ou posterior no Windows XP e Windows 2000.
Cabeçalho Winhttp.h

Confira também