Aracılığıyla paylaş


Seçenek bayrakları

Aşağıdaki seçenek bayrakları WinHttpQueryOption ve WinHttpSetOption tarafından desteklenir.

WINHTTP_OPTION_ASSURED_NON_BLOCKING_CALLBACKS

Varsayılan değer YANLIŞ'tır. TRUE olarak ayarlanırsa, durum geri çağırmaları istemci uygulaması tarafından engellenirse WinHTTP ilerlemeyi garanti etmez.

İstemci uygulaması, engelleme olmadan geri çağırma içinde en az işlem gerçekleştirmek için özel özen göstermeli, mümkün olan en hızlı şekilde döndürmelidir ve özellikle sonraki WinHTTP çağrılarını beklememelidir. Bu yönergelere uymuyorsa, büyük olasılıkla olumsuz bir performans etkisi veya olası bir uygulama kilitlenmesi olabilir. Bu seçenek, önceden belirlenmiş şekilde kullanılırsa performansı artırabilir.

WINHTTP_OPTION_AUTOLOGON_POLICY

Otomatik Oturum Açma İlkesi'ni aşağıdaki değerlerden biriyle belirten işaretsiz bir uzun tamsayı değeri ayarlar.

Süre Açıklama
WINHTTP_AUTOLOGON_SECURITY_LEVEL_HIGH Varsayılan kimlik bilgileri kullanılmaz. Bu bayrağın yalnızca sunucuyu gerçek makine adına göre belirtirseniz geçerli olduğunu unutmayın. Sunucuyu "localhost" veya IP adresiyle belirtirseniz, bu işlem geçerli olmaz.
WINHTTP_AUTOLOGON_SECURITY_LEVEL_LOW Tüm istekler için varsayılan kimlik bilgileri kullanılarak kimliği doğrulanmış bir oturum açma gerçekleştirilir.
WINHTTP_AUTOLOGON_SECURITY_LEVEL_MEDIUM Varsayılan kimlik bilgileri kullanılarak kimliği doğrulanmış oturum açma işlemi yalnızca yerel intranetteki istekler için gerçekleştirilir.

WINHTTP_OPTION_BACKGROUND_CONNECTIONS

Bu seçeneği bir oturum tanıtıcısında ayarladığınızda, açmak istediğiniz bağlantı sayısını geçirmeniz gerekir. Ardından, ilk olarak tek bir bağlantı açmak yerine istek gönderdikten sonra WinHttp paralel olarak bir dizi bağlantı açar. Bu, aynı hedefe yönelik sonraki isteklerin performansını geliştirebilir ve bu da bağlantı kurma yüküne neden olmaz.

WINHTTP_OPTION_CALLBACK

WinHttpSetStatusCallback ile ayarlanan geri çağırma işlevinin işaretçisini alır.

WINHTTP_OPTION_CLIENT_CERT_CONTEXT

İstemci sertifikası bağlamını ayarlar. Bir uygulama ERROR_WINHTTP_CLIENT_AUTH_CERT_NEEDED alırsa, isteği yeniden denemeden önce sertifika sağlamak için WinHttpSetOption çağrısı yapmalıdır. Bu seçeneği işlemenin bir parçası olarak WinHttp, çağıran tarafından sağlanan sertifika bağlamında CertDuplicateCertificateContext çağrısı yaparak sertifika bağlamının çağıran tarafından bağımsız olarak serbest bırakılabilmesini sağlar.

Uyarı

Uygulama, sertifika bağlamını alındığı sertifika deposundaki CertCloseStore çağrısında CERT_CLOSE_STORE_FORCE_FLAG bayrağıyla sertifika deposunu kapatmaya çalışmamalıdır. Erişim ihlali oluşabilir.

Sunucu bir istemci sertifikası istediğinde, WinHttpSendRequest veya WinHttpReceiveResponsebir ERROR_WINHTTP_CLIENT_AUTH_CERT_NEEDED hatası döndürür. Sunucu sertifikayı isterse ancak gerekli değilse, uygulama sertifikaya sahip olmadığını belirtmek için bu seçeneği belirtebilir. Sunucu başka bir kimlik doğrulama şeması seçebilir veya sunucuya anonim erişim izni verebilir. Uygulama, aşağıdaki kod örneğinde gösterildiği gibi WinHttpSetOption'ınlpBuffer parametresinde WINHTTP_NO_CLIENT_CERT_CONTEXT makrosunu sağlar.

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

Sunucu bir istemci sertifikası gerektiriyorsa, yanıt olarak bir 403 HTTP durum kodu gönderebilir. Daha fazla bilgi için WINHTTP_OPTION_CLIENT_CERT_ISSUER_LIST seçeneğine bakın.

WINHTTP_OPTION_CLIENT_CERT_ISSUER_LIST

WinHttpSendRequest veya WinHttpReceiveResponse hatası ERROR_WINHTTP_CLIENT_AUTH_CERT_NEEDED olduğunda SecPkgContext_IssuerListInfoEx bir yapı alır. Yapıdaki veren listesi, sunucudan kabul edilebilir Sertifika Yetkililerinin (CA) listesini içerir. İstemci uygulaması, SSL kimlik doğrulaması için istemci sertifikasını almak üzere CA listesini filtreleyebilir.

Alternatif olarak, sunucu istemci sertifikasını isterse ancak gerekli değilse, uygulama WINHTTP_OPTION_CLIENT_CERT_CONTEXT seçeneğiyle WinHttpSetOption'ı çağırabilir. Daha fazla bilgi için WINHTTP_OPTION_CLIENT_CERT_CONTEXT seçeneğine bakın.

WINHTTP_OPTION_CODEPAGE

URL'yi (yani sorgu dizesini) işlemek için kullanılan kod sayfasını ayarlar. Varsayılan değer UTF8'dir.

WINHTTP_OPTION_CONFIGURE_PASSPORT_AUTH

WinHTTP kimlik doğrulamasında Passport Kimlik Doğrulaması'nın etkinleştirilip etkinleştirilmediğini belirten işaretsiz bir uzun tamsayı değeri ayarlar. Değer aşağıdakilerden biri olabilir:

Süre Açıklama
WINHTTP_DISABLE_PASSPORT_AUTH Microsoft Passport kimlik doğrulaması devre dışı bırakıldı. Varsayılan değer budur.
WINHTTP_DISABLE_PASSPORT_KEYRING Passport anahtarlık devre dışı bırakıldı. Varsayılan değer budur.
WINHTTP_ENABLE_PASSPORT_AUTH Passport kimlik doğrulaması etkinleştirildi.
WINHTTP_ENABLE_PASSPORT_KEYRING Passport anahtarlık etkindir.

WINHTTP_OPTION_CONNECT_RETRIES

WinHTTP'nin bir konağa bağlanmayı deneme sayısını içeren işaretsiz bir uzun tamsayı değeri ayarlar veya alır. Microsoft Windows HTTP Hizmetleri (WinHTTP), İnternet Protokolü (IP) adresi başına yalnızca bir kez dener. Örneğin, 10 IP adresi olan ve WINHTTP_OPTION_CONNECT_RETRIES 7 olarak ayarlanmış çok ana bilgisayara bağlanmayı denerseniz, WinHTTP yalnızca ilk yedi IP adresine bağlanmayı dener. Aynı 10 IP adresi kümesi göz önüne alındığında , WINHTTP_OPTION_CONNECT_RETRIES 20 olarak ayarlanırsa, WinHTTP 10'un her birini yalnızca bir kez dener. Belirtilen sayıda denemeden sonra bağlantı girişimi yine başarısız olursa veya bağlantı zaman aşımı daha önce sona erdiyse istek iptal edilir. WINHTTP_OPTION_CONNECT_RETRIES için varsayılan değer beş denemedir.

WINHTTP_OPTION_CONNECT_TIMEOUT

Zaman aşımı değerini içeren işaretsiz bir uzun tamsayı değerini milisaniye cinsinden ayarlar veya alır. Bu seçeneğin sonsuz (0xFFFFFFFF) olarak ayarlanması bu zamanlayıcıyı devre dışı bırakır.

TCP bağlantı isteği bu zaman aşımı değerinden uzun sürerse istek iptal edilir. Varsayılan zaman aşımı 60 saniyedir. Tek bir ana bilgisayar (birden çok ana bilgisayar) için birden çok IP adresine bağlanmaya çalıştığınızda, zaman aşımı sınırı her bir bağlantı için geçerlidir.

WINHTTP_OPTION_CONNECTION_INFO

WinHttpReceiveResponse döndürdüğünde yanıtı oluşturan isteğin kaynak ve hedef IP adresini ve bağlantı noktasını alır. Uygulama, WINHTTP_OPTION_CONNECTION_INFO seçeneğiyle WinHttpQueryOption'ı çağırır ve lpBuffer parametresinde WINHTTP_CONNECTION_INFO yapısını sağlar. Daha fazla bilgi için bkz. WINHTTP_CONNECTION_INFO.

Şunlar için geçerlidir: WINDOWS XP SP2 ve üzeri; WINDOWS 2003 SP1 ve üzeri.

WINHTTP_OPTION_CONNECTION_GUID

WinHTTP istek tutamacıyla ilişkili bağlantıyı GUID ile işaretleyin. Bu, hangi isteklerin WINHTTP_OPTION_MATCH_CONNECTION_GUID seçeneğiyle hangi bağlantı gruplarını kullandığı üzerinde özel denetime olanak tanır.

WINHTTP_OPTION_CONNECTION_STATS_V0

İstek tarafından kullanılan temel alınan bağlantı için TCP_INFO_v0 yapısını yeniden kullanır. Döndürülen yapı, aynı bağlantı üzerinden gönderilen önceki isteklerden istatistikleri içerebilir.

Uyarı

Bu seçeneğin yerini WINHTTP_OPTION_CONNECTION_STATS_V1 almıştır.

WINHTTP_OPTION_CONNECTION_STATS_V1

İstek tarafından kullanılan temel bağlantı için TCP_INFO_v1 yapısını yeniden kullanır. Döndürülen yapı, aynı bağlantı üzerinden gönderilen önceki isteklerden istatistikleri içerebilir.

WINHTTP_OPTION_CONTEXT_VALUE

Bu HINTERNET tutamacıyla ilişkili bağlam değerinin işaretçisini içeren bir DWORD_PTR ayarlar veya alır. Arabellekte depolanan değer kullanılır ve WINHTTP_OPTION_CONTEXT_VALUE seçenek bayrağına yeni bir değer atanır.

WINHTTP_OPTION_DECOMPRESSION

WinHTTP'nin yanıt gövdelerini sıkıştırılmış Content-Encodings ile otomatik olarak açıp açmayacağını belirleyen bir DWORD bayrakları ayarlar. WinHTTP ayrıca uygun bir Accept-Encoding üst bilgisi ayarlayacak ve çağıran tarafından sağlananları geçersiz kılacak. Desteklenen değerler şunlardır:

Süre Açıklama
WINHTTP_DECOMPRESSION_FLAG_GZIP content-encoding: gzip yanıtlarının sıkıştırmasını açın.
WINHTTP_DECOMPRESSION_FLAG_DEFLATE İçerik Kodlaması'nın sıkıştırması kaldırılır: Yanıtların kullanımdan kaldırılır.
WINHTTP_DECOMPRESSION_FLAG_ALL Desteklenen Content-Encoding ile yanıtların sıkıştırması açılır.

Varsayılan olarak, WinHTTP çağıranın değiştirilmemiş sıkıştırılmış yanıtlarını teslim eder.

WINHTTP_OPTION_DISABLE_CERT_CHAIN_BUILDING

WinHttp oturum tanıtıcısında bu seçeneğin ayarlanması, sunucu sertifika zincirinin derlenip derlenmediğini etkinleştirmenize/devre dışı bırakmanıza olanak tanır.

WINHTTP_OPTION_DISABLE_FEATURE

Aşağıdaki bayraklardan biri veya daha fazlası ile hangi özelliklerin devre dışı bırakıldığını belirten işaretsiz bir uzun tamsayı değeri ayarlar. Bu özelliğin yalnızca istek tanıtıcısı WinHttpOpenRequest ile oluşturulduktan sonra ve istek WinHttpSendRequest ile gönderilmeden önce istek tanıtıcılarında WinHttpSetOption'a geçirilmesi gerektiğini unutmayın.

Süre Açıklama
WINHTTP_DISABLE_AUTHENTICATION Otomatik kimlik doğrulaması devre dışı bırakıldı.
WINHTTP_DISABLE_COOKIES tanımlama bilgisi üst bilgilerinin isteklere otomatik olarak eklenmesi devre dışı bırakılır. Ayrıca, döndürülen tanımlama bilgileri tanımlama bilgisi veritabanına otomatik olarak eklenmez. Tanımlama bilgilerinin devre dışı bırakılması Passport kimlik doğrulaması için düşük performansa neden olabilir.
WINHTTP_DISABLE_KEEP_ALIVE Bağlantı için canlı tutma semantiğini devre dışı bırakır. MSN, NTLM ve diğer kimlik doğrulama türleri için canlı tutma semantiği gereklidir.
WINHTTP_DISABLE_REDIRECTS WinHttpSendRequest ile istek gönderirken otomatik yeniden yönlendirme devre dışı bırakılır. Otomatik yeniden yönlendirme devre dışı bırakılırsa, Passport kimlik doğrulamasının başarılı olması için uygulamanın geri çağırma işlevini kaydetmesi gerekir.

WINHTTP_OPTION_DISABLE_GLOBAL_POOLING

Genel, oturumlar arası havuzu devre dışı bırakır. Genel, oturumlar arası havuz oluşturma, uyumluluk nedeniyle varsayılan olarak desteklenen eski davranış olduğundan bu uygulama önerilir. Bu, daha sonra maksimum bağlantıları el ile ayarlamakla etkilenir.

WINHTTP_OPTION_DISABLE_PROXY_AUTH_SCHEMES

Tüm geçerli seçenekleri sağlayarak WinHTTP oturumunda aşağıdaki proxy kimlik doğrulama uygulamalarından OR birini veya daha fazlasını devre dışı bırakır. Bunlar, bir geri döngüye veya yerel adrese istek gönderirken yerel makine hesabının kullanılmasını zorlayan WINHTTP_PROXY_DISABLE_AUTH_LOCAL_SERVICE dışında tüm şemalardır. Bu, sistem kimlik bilgilerinin yerel HTTP proxy'lerine sızmasını önler.

Süre Açıklama
WINHTTP_PROXY_DISABLE_SCHEME_BASIC Temel kimlik doğrulama düzenini devre dışı bırakır.
WINHTTP_PROXY_DISABLE_SCHEME_DIGEST Özet kimlik doğrulama düzenini devre dışı bırakır.
WINHTTP_PROXY_DISABLE_SCHEME_NTLM NTLM kimlik doğrulama düzenini devre dışı bırakır.
WINHTTP_PROXY_DISABLE_SCHEME_KERBEROS Kerberos kimlik doğrulama düzenini devre dışı bırakır.
WINHTTP_PROXY_DISABLE_SCHEME_NEGOTIATE Anlaşma kimlik doğrulama düzenini devre dışı bırakır.
WINHTTP_PROXY_DISABLE_AUTH_LOCAL_SERVICE İstekleri bir geri döngüye veya yerel adrese gönderirken yerel makine hesabının kullanımını zorlar.

WINHTTP_OPTION_DISABLE_SECURE_PROTOCOL_FALLBACK

İlk protokol anlaşması başarısız olduğunda WinHTTP'nin güvenlik protokolünün daha düşük bir sürümüyle bağlantıyı yeniden denemesini engeller.

WINHTTP_OPTION_DISABLE_STREAM_QUEUE

Yeni isteklerin, mevcut bir bağlantıda bir sonraki kullanılabilir akışı beklemek yerine eşzamanlı akış üst sınırına ulaşıldığında ek bir HTTP/2 bağlantısı açmasına izin verir.

WINHTTP_OPTION_ENABLE_FEATURE

Şu anda etkin olan özellikleri belirten işaretsiz bir uzun tamsayı değeri ayarlar. Aşağıdaki değerlerden biri olabilir.

Süre Açıklama
WINHTTP_ENABLE_SSL_REVERT_IMPERSONATION Etkinleştirilirse, WinHTTP SSL sertifikası kimlik doğrulama işlemleri süresi boyunca istemci kimliğine bürünme işlemini geçici olarak geri alır. Bu değer yalnızca oturum tutamacıyla ayarlanabilir.
WINHTTP_ENABLE_SSL_REVOCATION Etkinleştirilirse, WinHTTP SSL iptalini sağlar. Bu değer yalnızca istek tutamacıyla ayarlanabilir.

WINHTTP_OPTION_ENABLE_HTTP_PROTOCOL

Kabul edilebilir gelişmiş HTTP sürümlerinden oluşan bir DWORD bit maskesi ayarlar. Olası değerler şunlardır:

Süre Açıklama
WINHTTP_PROTOCOL_FLAG_HTTP2 (0x1) İstek için HTTP/2'yi etkinleştirir.
WINHTTP_PROTOCOL_FLAG_HTTP3 (0x2) İstek için HTTP/3'i etkinleştirir.
Hiçbiri (0x0) İsteği HTTP/1.1 ve öncesi ile kısıtlar.

HTTP'nin eski sürümleri (1.1 ve öncesi) bu seçenek kullanılarak devre dışı bırakılamaz. Varsayılan değer 0x0.

WINHTTP_OPTION_ENABLE_HTTP2_PLUS_CLIENT_CERT

Bu seçenek, HTTP/2 kullanılırken WinHttp'nin çağıran tarafından sağlanan istemci sertifikası bağlamını kullanmasına izin vermek için WinHttp oturum tanıtıcısında ayarlanabilir.

WINHTTP_OPTION_ENABLETRACING

İzlemenin şu anda etkin olup olmadığını belirten bir BOOL değeri ayarlar. Bu seçenek yalnızca NULLHINTERNET tutamacıyla ayarlanabilir. Ayrıca bkz . WinHTTP izlemelerini toplama.

WINHTTP_OPTION_ENCODE_EXTRA

Yol ve sorgu dizesi için URL yüzde kodlamasını etkinleştirir.

Alternatif olarak, WinHttp'yu çağırmadan önce kodlama yüzdesini de ayarlayabilirsiniz.

WINHTTP_OPTION_EXPIRE_CONNECTION

Bu seçenek yalnızca hala etkin olan (gönderen veya alan) bir istek tutamacıyla ayarlanabilir. Bu seçeneğin ayarlanması WinHttp'ya iletilen istek tanıtıcısıyla ilişkili bağlantıda isteklerin sunulmasını durdurmasını bildirir. Bu seçenek ile çağrılan istek işleyicisi tamamlandıktan sonra bağlantı kapatılır. Bu seçenek herhangi bir parametre almaz.

WINHTTP_OPTION_EXTENDED_ERROR

Bu iş parçacığı bağlamında en son döndürülen ERROR_WINHTTP_* hata iletilerine eşlenmiş bir Microsoft Windows Yuvaları hata kodu içeren işaretsiz bir uzun tamsayı değeri alır. Tanıtıcı değeri olarak NULL geçirebilirsiniz.

WINHTTP_OPTION_FEATURE_SUPPORTED

Sağlanan seçenek bayrağının Bu WinHTTP sürümü tarafından desteklenip desteklenmediğini denetleyin.

WINHTTP_OPTION_FIRST_AVAILABLE_CONNECTION

Varsayılan olarak, WinHttp bir istek gönderdiğinde, isteği sunmak için kullanılabilir bağlantı yoksa, WinHttp yeni bir bağlantı kurmaya çalışır ve istek bu yeni bağlantıya bağlanır. Bu seçeneği ayarladığınızda, bu tür bir istek bunun yerine kullanılabilir hale gelen ilk bağlantıda sunulur ve kurulması gerekmez.

WINHTTP_OPTION_GLOBAL_PROXY_CREDS

hInternet işlev parametresi NULL olarak ayarlanmış bir WINHTTP_CREDS_EX yapısına işaretçi alır. Bu seçenek için HKLM\Software\Microsoft\Windows\CurrentVersion\Internet Settings kayıt defteri anahtarı gerekir! ShareCredsWithWinHttp. Bu kayıt defteri anahtarı ayarlanmadıysa WinHTTP hata ERROR_WINHTTP_INVALID_OPTION döndürür. Bu kayıt defteri anahtarı varsayılan olarak mevcut değildir. Ayarlandığında, WinINet kimlik bilgilerini WinHTTP'ya gönderir. WinHttp kimlik doğrulaması sınaması aldığında ve geçerli tanıtıcıda ayarlanmış kimlik bilgileri yoksa, WinINet tarafından sağlanan kimlik bilgilerini kullanır. Proxy kimlik bilgilerine ek olarak sunucu kimlik bilgilerini paylaşmak için kullanıcıların WINHTTP_OPTION_USE_GLOBAL_SERVER_CREDENTIALS ayarlaması gerekir.

WINHTTP_OPTION_GLOBAL_SERVER_CREDS

hInternet işlev parametresi NULL olarak ayarlanmış bir WINHTTP_CREDS_EX yapısına işaretçi alır. Bu seçenek için HKLM\Software\Microsoft\Windows\CurrentVersion\Internet Settings kayıt defteri anahtarı gerekir! ShareCredsWithWinHttp. Bu kayıt defteri anahtarı ayarlanmadıysa WinHTTP hata ERROR_WINHTTP_INVALID_OPTION döndürür. Bu kayıt defteri anahtarı varsayılan olarak mevcut değildir. Ayarlandığında, WinINet kimlik bilgilerini WinHTTP'ya gönderir. WinHttp kimlik doğrulaması sınaması aldığında ve geçerli tanıtıcıda ayarlanmış kimlik bilgileri yoksa, WinINet tarafından sağlanan kimlik bilgilerini kullanır. Proxy kimlik bilgilerine ek olarak sunucu kimlik bilgilerini paylaşmak için kullanıcıların WINHTTP_OPTION_USE_GLOBAL_SERVER_CREDENTIALS ayarlaması gerekir.

WINHTTP_OPTION_HANDLE_TYPE

geçirilen HINTERNET tutamacının türünü içeren işaretsiz bir uzun tamsayı değeri alır. Dönüş değeri aşağıdakilerden biri olabilir:

Süre Açıklama
WINHTTP_HANDLE_TYPE_CONNECT Tanıtıcı bir bağlantı tutamacıdır.
WINHTTP_HANDLE_TYPE_REQUEST Tanıtıcı bir istek tutamacıdır.
WINHTTP_HANDLE_TYPE_SESSION Tanıtıcı bir oturum tutamacıdır.

WINHTTP_OPTION_HTTP_PROTOCOL_REQUIRED

WINHTTP_OPTION_ENABLE_HTTP_PROTOCOL tarafından etkinleştirilenler dışındaki protokol sürümlerinin istek için kullanılmasını engeller.

WINHTTP_OPTION_HTTP_PROTOCOL_USED

Belirli bir istekte hangi gelişmiş HTTP sürümünün kullanıldığını gösteren bir DWORD alır. Olası değerlerin listesi için bkz. WINHTTP_OPTION_ENABLE_HTTP_PROTOCOL.

WINHTTP_OPTION_HTTP_VERSION

Desteklenen eski HTTP sürümünü belirten bir HTTP_VERSION_INFO yapısı ayarlar veya alır. Bu işlem genelinde bir seçenektir; tanıtıcı için NULL kullanın.

Uyarı

Bu yapı HTTP/1.0 ve HTTP/1.1 için geçerlidir. Modern HTTP sürümleri için bkz. WINHTTP_OPTION_ENABLE_HTTP_PROTOCOL ve WINHTTP_OPTION_HTTP_PROTOCOL_USED.

WINHTTP_OPTION_HTTP2_KEEPALIVE

Bu seçenek, bir oturum tanıtıcısında WinHttp'nin HTTP/2 PING çerçevelerini tutma mekanizması olarak kullanmasını sağlamak için ayarlanabilir. Arayanlar milisaniye cinsinden bir zaman aşımı belirtir ve bu zaman aşımı süresi için bir bağlantıda etkinlik olmadığında WinHttp HTTP/2 PING çerçeveleri göndermeye başlar. Arayanlar 5000 milisaniyeden küçük bir zaman aşımı değeri ayarlayamaz.

WINHTTP_OPTION_HTTP2_PLUS_TRANSFER_ENCODING

Bu seçenek, bir HTTP/2 yanıtı "Aktarım-Kodlama" üst bilgisi içerdiğinde WinHttp'nin nasıl davranacağını denetlemek için WinHttp istek tutamacıyla ayarlanabilir. Böyle bir durumda, bu seçenek YANLIŞ olarak ayarlanırsa WinHttp bir hata döndürür.

WINHTTP_OPTION_HTTP2_RECEIVE_WINDOW

İlk HTTP/2 akışı alma penceresi boyutunu ve WINHTTP_HTTP2_RECEIVE_WINDOW yapısını kullanarak pencere güncelleştirmelerini gönderme eşiğini ayarlayın.

WINHTTP_OPTION_HTTP3_HANDSHAKE_TIMEOUT

HTTP/3 el sıkışması zaman aşımını milisaniye cinsinden PDWORD olarak ayarlamak için arabelleği kullanır.

WINHTTP_OPTION_HTTP3_INITIAL_RTT

msquic tarafından kullanılan ilk RTT'yi milisaniye cinsinden yapılandırılır.

WINHTTP_OPTION_HTTP3_KEEPALIVE

Bağlantı için canlı tutma semantiğini etkinleştirir. Etkin tutma zaman aşımını milisaniye cinsinden PDWORD olarak ayarlamak için arabelleği kullanır.

WINHTTP_OPTION_HTTP3_STREAM_ERROR_CODE

İsteği göndermek için kullanılan HTTP/3 akışında sunucu tarafından sağlanan hatayı alır.

WINHTTP_OPTION_IGNORE_CERT_REVOCATION_OFFLINE

Güvenli bağlantıların, sertifika iptal listesinin indirilemediği güvenlik sertifikalarını kullanmasına izin verir.

WINHTTP_OPTION_IPV6_FAST_FALLBACK

Bağlantı için IPv6 hızlı geri dönüşünü (Happier Eyeballs) etkinleştirir. Bu davranış, IPv6'nın güvenilir olmadığı ağlarda bağlantı sürelerini iyileştirmek için RFC 6555'te açıklanan Happy Eyeballs davranışına benzer.

  • Belirli bir konak için hem IPv6 hem de IPv4 adresleri çözümlenirse, WinHttp kısa (300ms) zaman aşımıyla ilk çözümlenen IPv6 adresine bağlanarak başlar.
  • Bu bağlantı başarısız olursa WinHttp, standart zaman aşımıyla ilk çözümlenen IPv4 adresine bağlanmayı dener.
  • İkinci bağlantı başarısız olursa WinHttp, standart zaman aşımı ile ilk çözümlenen IPv6 adresini yeniden dener.
  • Üçüncü bağlantı başarısız olursa, WinHttp kalan adresler için varsayılan davranışa geri döner ve bağlantı yapılana veya adres kalmayana kadar standart zaman aşımına sahip her birine bağlantı kurmaya çalışır.

WINHTTP_OPTION_IS_PROXY_CONNECT_RESPONSE

Ara Sunucu Dönüş Bağlantı Yanıtı alınıp alınamayacağını alır.

WINHTTP_OPTION_MATCH_CONNECTION_GUID

WinHTTP'ya isteği eşleşen bir bağlantıda sunmasını bildirmek için bir WINHTTP_MATCH_CONNECTION_GUID yapısı alır. WINHTTP_MATCH_CONNECTION_GUID_FLAG_REQUIRED ayarlanırsa, yalnızca eşleşen GUID'ye sahip bağlantılar kullanılabilir. Aksi takdirde, eşleşen GUID'lere ve herhangi bir GUID ile işaretlenmemiş bağlantılara sahip bağlantılar kullanılabilir.

WINHTTP_OPTION_MAX_CONNS_PER_1_0_SERVER

HTTP/1.0 sunucusu başına izin verilen en fazla bağlantı sayısını içeren işaretsiz bir uzun tamsayı değeri ayarlar veya alır. Varsayılan değer SONSUZdur.

Şunlar için geçerlidir: SP1 ve üzeri yüklü Windows Vista; Windows Server 2008 ve üzeri.

WINHTTP_OPTION_MAX_CONNS_PER_SERVER

Sunucu başına izin verilen en fazla bağlantı sayısını içeren işaretsiz bir uzun tamsayı değeri ayarlar veya alır. Varsayılan değer SONSUZdur.

Bu seçenek sıfır olarak ayarlandığında, WinHTTP bağlantı sayısı sınırını 2 olarak ayarlar.

WINHTTP_OPTION_MAX_HTTP_AUTOMATIC_REDIRECTS

WinHTTP'nin izlediği en fazla yeniden yönlendirme sayısını ayarlar; varsayılan değer 10'dur. Bu sınır, yetkisiz sitelerin çok sayıda yeniden yönlendirmeden sonra WinHTTP istemcisini duraklatmasını önler.

Şunlar için geçerlidir: WINDOWS XP SP1 ve üzeri; SP3 ve üzeri yüklü Windows 2000.

WINHTTP_OPTION_MAX_HTTP_STATUS_CONTINUE

Son durum kodunu WinHTTP istemcisine döndürmeden önce göz ardı edilen en fazla Bilgi 100-199 durum kodu yanıtı sayısı. Bilgilendirme 100-199 durum kodları sunucu tarafından son durum kodundan önce gönderilebilir ve HTTP/1.1 belirtiminde açıklanmıştır (daha fazla bilgi için bkz. RFC 2616). Varsayılan değer 10'dur.

Şunlar için geçerlidir: WINDOWS XP SP1 ve üzeri; SP3 ve üzeri yüklü Windows 2000.

WINHTTP_OPTION_MAX_RESPONSE_DRAIN_SIZE

Bayt cinsinden belirtilen bir bağlantıyı yeniden kullanmak için yanıtlardan boşaltılan veri miktarına bağlı. Varsayılan değer 1 MB'tır.

Şunlar için geçerlidir: WINDOWS XP SP1 ve üzeri; SP3 ve üzeri yüklü Windows 2000.

WINHTTP_OPTION_MAX_RESPONSE_HEADER_SIZE

Sunucu yanıtının üst bilgi bölümünün bayt cinsinden belirtilen üst bilgi bölümünün en büyük boyutu üzerinde bir sınır kümesi. Bu sınır, sonsuz miktarda üst bilgi verisi içeren bir yanıt göndererek istemciyi oyalamaya çalışan yetkisiz bir sunucudan korur. Varsayılan değer 64 KB'tır.

Şunlar için geçerlidir: WINDOWS XP SP1 ve üzeri; SP3 ve üzeri yüklü Windows 2000.

WINHTTP_OPTION_PARENT_HANDLE

Bu tanıtıcının üst tutamacını alır.

WINHTTP_OPTION_PASSPORT_COBRANDING_TEXT

Passport oturum açma sunucusu tarafından sağlanan kobranding metnini içeren bir dize alır. Bu seçenek, oturum açma sunucusu 401 durum koduyla yanıt verdikten hemen sonra alınmalıdır. Bir uygulama, döndürülen dizeyi barındıracak kadar büyük bir arabellek boyutunu bayt cinsinden geçirmelidir.

WINHTTP_OPTION_PASSPORT_COBRANDING_URL

Passport oturum açma sunucusu tarafından sağlanan bir kobranding grafiğinin URL'sini içeren bir dizeyi alır. Bu seçenek, oturum açma sunucusu 401 durum koduyla yanıt verdikten hemen sonra alınmalıdır. Bir uygulama, döndürülen dizeyi barındıracak kadar büyük bir arabellek boyutunu bayt cinsinden geçirmelidir.

WINHTTP_OPTION_PASSPORT_RETURN_URL

Passport dönüş URL'sini alan bir istek tanıtıcısında salt okunur bir seçenek ayarlar.

WINHTTP_OPTION_PASSPORT_SIGN_OUT

Tüm Passport oturum açma işlemlerinin oturumunu kapatmak için oturum tutamacının seçeneğini ayarlar. Bir uygulama , WINHTTP_OPTION_PASSPORT_RETURN_URL ile alınan Passport dönüş URL'sini geçirmelidir. İade URL'si ile ilgili tüm tanımlama bilgileri temizlenir.

WINHTTP_OPTION_PASSWORD

İstek tanıtıcısıyla ilişkili parolayı içeren bir dize değerini ayarlar veya alır.

WINHTTP_OPTION_PROXY

Var olan bir oturum tanıtıcı veya istek tutamacıyla ilgili ara sunucu verilerini içeren bir WINHTTP_PROXY_INFO yapısı ayarlar veya alır. Ara sunucu verileri alınırken, bir uygulamanın GlobalFree işlevini kullanarak bu yapıda yer alan lpszProxy ve lpszProxyBypass dizelerini boşaltması gerekir (NULL değilse). Bir uygulama, null tanıtıcı geçirerek genel ara sunucu verilerini (varsayılan ara sunucu) sorgulayabilir.

WINHTTP_OPTION_PROXY_PASSWORD

Ara sunucuya erişmek için kullanılan parolayı içeren bir dize değeri ayarlar veya alır.

WINHTTP_OPTION_PROXY_SPN_USED

Kimlik doğrulaması sırasında SSPI'ye sağlanan WinHTTP'nin proxy Sunucu Asıl Adını alır. Bu dize değeri, kimlik doğrulaması hatasından sonra SspiPromptForCredentials'a geçirmek için kullanılır.

WINHTTP_OPTION_PROXY_USERNAME

Ara sunucuya erişmek için kullanılan kullanıcı adını içeren bir dize değeri ayarlar veya alır.

WINHTTP_OPTION_QUIC_STATS

RTT ve gönderilen ve alınan baytlar gibi bağlantı bilgilerini içeren bir QUIC_STATISTICS yapısı alır.

WINHTTP_OPTION_READ_BUFFER_SIZE

Bu seçenek kullanım dışıdır; hiçbir etkisi yoktur.

WINHTTP_OPTION_RECEIVE_PROXY_CONNECT_RESPONSE

Ara sunucu yanıt varlığının alınıp alınamayacağını ayarlar. Bu seçenek varsayılan olarak devre dışıdır.

WINHTTP_OPTION_RECEIVE_RESPONSE_TIMEOUT

Zaman aşımı değerini içeren işaretsiz bir uzun tamsayı değerini milisaniye cinsinden ayarlar veya alır ve bir isteğe tüm yanıt üst bilgilerini almayı bekler. WinHTTP bu zaman aşımı süresi içinde tüm üst bilgileri alamazsa istek iptal edilir. Varsayılan zaman aşımı değeri 90 saniyedir.

Bu zaman aşımı yalnızca yuvadan veri alındığında denetlenilir. Sonuç olarak, zaman aşımı süresi dolduğunda istemci uygulamaya sunucudan daha fazla veri ulaşana kadar bildirim gönderilir. Sunucudan veri gelmezse, istemci uygulamasının zaman aşımı süresi ve bildirimi arasındaki gecikme, WinHttpSetTimeouts işlevinin dwReceiveTimeout parametresi kullanılarak ayarlanan zaman aşımı değeri kadar büyük olabilir.

WINHTTP_OPTION_RECEIVE_TIMEOUT

bir isteğe kısmi yanıt almak veya bazı verileri okumak için milisaniye cinsinden zaman aşımı değerini içeren işaretsiz bir uzun tamsayı değerini ayarlar veya alır. Yanıt bu zaman aşımı değerinden uzun sürerse istek iptal edilir. Varsayılan zaman aşımı değeri 30 saniyedir.

WINHTTP_OPTION_REDIRECT_POLICY

30x HTTP yeniden yönlendirme durum kodunun işlenmesiyle ilgili WinHTTP davranışını ayarlar. Bu seçenek bir oturumda veya istek tanıtıcısında aşağıdaki değerlerden birine ayarlanabilir:

Süre Açıklama
WINHTTP_OPTION_REDIRECT_POLICY_ALWAYS Tüm yeniden yönlendirmeler otomatik olarak takip edilir.
WINHTTP_OPTION_REDIRECT_POLICY_DISALLOW_HTTPS_TO_HTTP Güvenli (https) URL'den güvenli olmayan (http) URL'ye gelenler dışında tüm yeniden yönlendirmeler takip edilir. Bu varsayılan ayardır.
WINHTTP_OPTION_REDIRECT_POLICY_NEVER Yeniden yönlendirmeler hiçbir zaman takip edilir. 30x durumu uygulamaya döndürülür.

WINHTTP_OPTION_REJECT_USERPWD_IN_URL

Kullanıcı adı ve parola içeren URL'leri reddeder. Bu seçenek, kullanıcı adı veya parola belirtilmemiş olsa bile username:password semantics içeren URL'leri de reddeder. Örneğin, "u:p@hostname", ":@hostname", "u:@hostname" ve ":p@hostname" geçersiz olarak işaretlenebilir. İşleve geçersiz bir URL geçirilirse , ERROR_WINHTTP_INVALID_URL döndürür. Bu seçenek varsayılan olarak kapalıdır.

WINHTTP_OPTION_REQUEST_ANNOTATION

Sağlanan ek açıklama adı için istek ek açıklamasını almayı ve ayarlamayı etkinleştirir. Bu, çağıranın daha sonra almak üzere isteğe bir dize eklemesini ve çağıranın yararlı bulduğu özel mantıkla istekleri tanımlamasını sağlar.

WINHTTP_OPTION_REQUEST_PRIORITY

Bu seçenek kullanım dışıdır; hiçbir etkisi yoktur.

WINHTTP_OPTION_REQUEST_STATS

İsteğin istatistiklerini alır. Kullanılabilir istatistiklerin listesi için bkz. WINHTTP_REQUEST_STATS.

WINHTTP_OPTION_REQUEST_TIMES

İstek için zamanlama bilgilerini kullanır. Kullanılabilir zamanlamaların listesi için bkz. WINHTTP_REQUEST_TIMES.

WINHTTP_OPTION_REQUIRE_STREAM_END

Bu seçenek WinHttp'ya "İçerik Uzunluğu" yanıt üst bilgilerini yoksayıp END_STREAM bayrağı alınana kadar bir akışta almaya devam etmelerini söyler.

WINHTTP_OPTION_RESOLUTION_HOSTNAME

Bu seçenek, gönderilmeden önce WinHttp istek tanıtıcısında ayarlanabilir. Ayarlanırsa, WinHttp DNS çözümlemesi için ana bilgisayar adı olarak çağıran tarafından sağlanan dizeyi kullanır.

WINHTTP_OPTION_RESOLVE_TIMEOUT

Konak adını çözümlemek için zaman aşımı değerini içeren işaretsiz bir uzun tamsayı değerini milisaniye cinsinden ayarlar veya alır. Varsayılan zaman aşımı değeri SONSUZ'dur. Varsayılan olmayan bir değer belirtilirse, ad çözümlemesi başına bir iş parçacığı oluşturma yükü vardır.

WINHTTP_OPTION_REVERT_IMPERSONATION_SERVER_CERT

Sunucu sertifika zincirini oluştururken iş parçacığı kimliğe bürünme işlemlerini geri alır ve bunun yerine işlem belirtecinin kullanılmasını zorlar.

WINHTTP_OPTION_SECURE_PROTOCOLS

Hangi Güvenli (HTTPS) protokollerinin kabul edilebilir olduğunu belirten işaretsiz bir uzun tamsayı değeri ayarlar. Bu ayarın varsayılan değeri işletim sistemi sürümüne göre değişir ve yüklü güncelleştirmeler tarafından etkilenebilir.

  • Windows 11. Varsayılan olarak, yalnızca TLS1.2 ve TLS1.3 etkinleştirilir.
  • Windows 10 ve Windows 8.1. Varsayılan olarak yalnızca SSL3, TLS1.0, TLS1.1 ve TLS1.2 etkinleştirilir.
  • Windows 8 ve Windows 7. Varsayılan olarak, yalnızca SSL3 ve TLS1 etkinleştirilir.

Değer, aşağıdaki değerlerden birinin veya daha fazlasının birleşimi olabilir.

Süre Açıklama
WINHTTP_FLAG_SECURE_PROTOCOL_ALL Güvenli Yuva Katmanı (SSL) 2.0, SSL 3.0 ve Aktarım Katmanı Güvenliği (TLS) 1.0 protokolleri kullanılabilir.
WINHTTP_FLAG_SECURE_PROTOCOL_SSL2 SSL 2.0 protokolü kullanılabilir.
WINHTTP_FLAG_SECURE_PROTOCOL_SSL3 SSL 3.0 protokolü kullanılabilir.
WINHTTP_FLAG_SECURE_PROTOCOL_TLS1 TLS 1.0 protokolü kullanılabilir.
WINHTTP_FLAG_SECURE_PROTOCOL_TLS1_1 TLS 1.1 protokolü kullanılabilir.
WINHTTP_FLAG_SECURE_PROTOCOL_TLS1_2 TLS 1.2 protokolü kullanılabilir.
WINHTTP_FLAG_SECURE_PROTOCOL_TLS1_3 TLS 1.3 protokolü kullanılabilir.

Daha yeni protokoller için desteği etkinleştirmeniz gerekiyorsa ancak uygulamanızı uygun WINHTTP_OPTION_SECURE_PROTOCOLS değerlerini kullanacak şekilde yeniden derleyemiyorsanız, bunun yerine kayıt defteri girdisini DefaultSecureProtocols ekleyebilirsiniz. Bu kayıt defteri girişi, WINHTTP_OPTION_SECURE_PROTOCOLS seçeneği ayarlanmadığında hangi güvenli protokollerin kullanılacağını belirtmenize olanak tanır.

Önemli

Aşağıdaki yönergeler kayıt defterini değiştirmeyi içerir. Ancak, kayıt defterini yanlış bir şekilde değiştirirseniz ciddi sorunlar ortaya çıkabilir. Bu nedenle, bu yönergeleri dikkatle izlediğinize emin olun. Daha fazla koruma için, değiştirmeden önce kayıt defterini yedekleyin. Ardından, bir sorun oluşursa kayıt defterini geri yükleyebilirsiniz. Kayıt defterini yedekleme ve geri yükleme hakkında daha fazla bilgi için bkz. Windows'da kayıt defterini yedekleme ve geri yükleme.

Uygulama WinHttpSetOption(WINHTTP_OPTION_SECURE_PROTOCOLS) öğesini çağırmazsa, sistem kayıt defteri girdisini DefaultSecureProtocols denetler ve varsa, mevcut işletim sistemi varsayılanlarını kayıt defteri girdisinde DefaultSecureProtocols belirtilen protokollerle geçersiz kılar. WinHTTP tarafından belirtilen protokoller, protokolleri devre dışı bırakabilecek Güvenli Kanal (Schannel) yapılandırma ayarları tarafından geçersiz kılınabilir.

Kayıt defteri girdisini DefaultSecureProtocols aşağıdaki yola ekleyebilirsiniz:

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

x64 tabanlı bilgisayarlarda, yola da eklemeniz DefaultSecureProtocolsWow6432Node gerekir:

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

Kayıt defteri değeri bir DWORD bit eşlemidir. Kullanılacak değer, istenen protokollere karşılık gelen değerler eklenerek belirlenir.

DefaultSecureProtocols değeri Protokol etkinleştirildi
0x00000008 SSL 2.0'ın varsayılan olarak etkinleştirilmesi
0x00000020 SSL 3.0'ın varsayılan olarak etkinleştirilmesi
0x00000080 TLS 1.0'ın varsayılan olarak etkinleştirilmesi
0x00000200 TLS 1.1'i varsayılan olarak etkinleştirme
0x00000800 TLS 1.2'yi varsayılan olarak etkinleştirme
0x00002000 TLS 1.3'i varsayılan olarak etkinleştirme

Örneğin, TLS 1.1 ve TLS 1.2'yi belirtmek üzere WINHTTP_OPTION_SECURE_PROTOCOLS için varsayılan değerleri geçersiz kılmak istiyorsanız. Bu durumda TLS 1.1 (0x00000200) değerini ve TLS 1.2 (0x00000800) değerini alın, bunları hesap makinesinde (programcı modunda) birlikte ekleyin; sonuçta elde edilen kayıt defteri değeri 0x00000A00.

WINHTTP_OPTION_SECURITY_CERTIFICATE_STRUCT

SSL/TLS sunucusunun sertifikasını WINHTTP_CERTIFICATE_INFO yapısına alır. Uygulamanın lpszSubjectInfo ve lpszIssuerInfo üyelerini LocalFree ile serbest bırakın.

WINHTTP_OPTION_SECURITY_FLAGS

Bir tanıtıcı için güvenlik bayraklarını içeren işaretsiz bir uzun tamsayı değeri ayarlar veya alır. Bu değerlerin bir bileşimi olabilir:

Süre Açıklama
SECURITY_FLAG_IGNORE_CERT_CN_INVALID Bir sertifikada geçersiz ortak ada izin verir; başka bir ifadeyle, uygulama tarafından belirtilen sunucu adı sertifikadaki ortak adla eşleşmiyor. Bu bayrak ayarlanırsa, uygulama bir WINHTTP_CALLBACK_STATUS_FLAG_CERT_CN_INVALID geri çağırma almaz.
SECURITY_FLAG_IGNORE_CERT_DATE_INVALID Geçersiz bir sertifika tarihine, yani süresi dolmuş veya henüz etkin olmayan bir sertifikaya izin verir. Bu bayrak ayarlanırsa, uygulama bir WINHTTP_CALLBACK_STATUS_FLAG_CERT_DATE_INVALID geri çağırma almaz.
SECURITY_FLAG_IGNORE_UNKNOWN_CA Geçersiz bir sertifika yetkilisine izin verir. Bu bayrak ayarlanırsa, uygulama bir WINHTTP_CALLBACK_STATUS_FLAG_INVALID_CA geri çağırma almaz.
SECURITY_FLAG_IGNORE_CERT_WRONG_USAGE Bir sunucunun kimliğinin sunucu dışı bir sertifikayla (örneğin, bir istemci sertifikası) oluşturulmasına izin verir.
SECURITY_FLAG_IGNORE_WEAK_SIGNATURE Zayıf bir imzanın yoksayılmasına izin verir.
Bu bayrak, Windows 7 ve Windows Server 2008 R2 ile başlayan her işletim sistemi için güncelleştirme paketinde kullanılabilir.
SECURITY_FLAG_SECURE Güvenli aktarımları kullanır. Bu yalnızca WinHttpQueryOption çağrısında döndürülür.
SECURITY_FLAG_STRENGTH_MEDIUM Orta (56 bit) şifreleme kullanır. Bu yalnızca WinHttpQueryOption çağrısında döndürülür.
SECURITY_FLAG_STRENGTH_STRONG Güçlü (128 bit) şifreleme kullanır. Bu yalnızca WinHttpQueryOption çağrısında döndürülür.
SECURITY_FLAG_STRENGTH_WEAK Zayıf (40 bit) şifreleme kullanır. Bu yalnızca WinHttpQueryOption çağrısında döndürülür.

WINHTTP_OPTION_SECURITY_INFO

bir istek için SChannel bağlantısını ve şifre bilgilerini yeniden kullanır.

WINHTTP_OPTION_SECURITY_KEY_BITNESS

Şifreleme anahtarının şifreleme gücünü içeren işaretsiz bir uzun tamsayı değeri alır. Daha büyük bir sayı daha güçlü şifreleme gücü şifrelemesini gösterir.

WINHTTP_OPTION_SEND_TIMEOUT

İstek göndermek veya veri yazmak için milisaniye cinsinden zaman aşımı değerini içeren işaretsiz bir uzun tamsayı değeri ayarlar veya alır. İsteğin gönderilmesi zaman aşımından uzun sürüyorsa gönderme işlemi iptal edilir. Varsayılan zaman aşımı 30 saniyedir.

WINHTTP_OPTION_SERVER_CBT

Kanal Bağlama Belirteci (CBT) belirten SecPkgContext_Bindings yapısına yönelik bir işaretçi alır.

Kanal Bağlama Belirteci, güvenli bir aktarım kanalının özelliğidir ve kimlik doğrulama kanalını güvenli aktarım kanalına bağlamak için kullanılır. Bu belirteç yalnızca SSL bağlantısı kurulduktan sonra bu seçenek tarafından elde edilebilir.

Uyarı

Bu seçeneğin ve lpBuffer için nulldeğerin WinHttpQueryOption'a geçirilmesi, lpdwBufferLength parametresindeki arabellek için ERROR_INSUFFICIENT_BUFFER ve gerekli bayt boyutunu döndürür. Bu döndürülen arabellek boyutu değeri, Kanal Bağlama Belirteci için sonraki bir sorgu çağrısında geçirilebilir. Kanal Bağlama Belirtecini temel alarak istek üst bilgilerini değiştirmek istiyorsanız, WINHTTP_CALLBACK_STATUS_REQUEST işlenirken bu adımlar gereklidir. Windows XP ve Vista'nın bu geri çağırma sırasında istek üst bilgilerini değiştirmeyi desteklemediğini unutmayın.

WINHTTP_OPTION_SERVER_CERT_CHAIN_CONTEXT

Sunucu sertifika zinciri bağlamını alır. WINHTTP_OPTION_SERVER_CERT_CHAIN_CONTEXT , üzerinde anlaşmaya varılan SSL bağlantısı sırasında alınan bir sunucu sertifika zinciri için CERT_CHAIN_CONTEXT yinelenen bir işaretçi elde etmek için geçirilebilir. İstemci, arabelleğe doldurulan döndürülen PCCERT_CONTEXT işaretçisinde CertFreeCertificateContext'i çağırmalıdır.

WINHTTP_OPTION_SERVER_CERT_CONTEXT

Sunucu sertifikası bağlamını alır. WINHTTP_OPTION_SERVER_CERT_CONTEXT , üzerinde anlaşmaya varılan SSL bağlantısı sırasında alınan bir sunucu sertifikası için CERT BAĞLAMI'na yinelenen bir işaretçi almak için geçirilebilir. İstemci, arabelleğe doldurulan döndürülen PCCERT_CONTEXT işaretçisinde CertFreeCertificateContext'i çağırmalıdır.

WINHTTP_OPTION_SERVER_SPN_USED

Kimlik doğrulaması sırasında SSPI'ye sağlanan WinHTTP'nin sunucu Sunucu Asıl Adını alır. Bu dize değeri, kimlik doğrulaması hatasından sonra SspiPromptForCredentials'a geçirilebilir.

WINHTTP_OPTION_SPN

SPN (hizmet asıl adı) Kerberos veya Negotiate Kerberos kimlik doğrulaması için oluşturulduğunda sunucu bağlantı noktası numarasını ekler veya kaldırır. Bu bayrak aşağıdaki değerlerden biridir:

Süre Açıklama
WINHTTP_DISABLE_SPN_SERVER_PORT Sunucu bağlantı noktası numarasını kaldırır.
WINHTTP_ENABLE_SPN_SERVER_PORT Sunucu bağlantı noktası numarasını içerir.

WINHTTP_OPTION_STREAM_ERROR_CODE

Bu seçenek WinHttp istek tanıtıcısında sorgulanabilir ve HTTP akışında alınan RST_STREAM çerçevesi tarafından belirtilen hata kodunu döndürür.

WINHTTP_OPTION_TCP_FAST_OPEN

Bağlantı için TCP Hızlı Açma'ya olanak tanır.

WINHTTP_OPTION_TCP_KEEPALIVE

Bu seçenek, temel alınan yuvada TCP etkin tutma davranışını etkinleştirmek için WinHttp oturum tanıtıcısında ayarlanabilir. bir tcp_keepalive yapısı alır.

WINHTTP_OPTION_TLS_FALSE_START

Bağlantı için TLS False Start'ı etkinleştirir.

WINHTTP_OPTION_TCP_PRIORITY_STATUS

tcp yuva kümesinin ipucu önceliğini WINHTTP_OPTION_TCP_PRIORITY_HINT ile sorgula. Daha fazla ayrıntı için SIO_SET_PRIORITY_HINT belgelerine bakın.

WINHTTP_OPTION_TLS_PROTOCOL_INSECURE_FALLBACK

Bu seçenek, daha yeni bir protokol sürümüyle TLS el sıkışma hatası olduğunda TLS 1.0'a geri dönüşe izin verilip verilmeyeceğini denetlemek için WinHttp oturum tanıtıcısında ayarlanabilir.

WINHTTP_OPTION_UNLOAD_NOTIFY_EVENT

Belirli bir oturum için son geri çağırma tamamlandığında ayarlanacak bir olayı alır. Bu bayrağın bir oturum tanıtıcıda kullanılması gerekir. Olay WinHTTP tarafından ayarlanana kadar kapatılamaz.

WINHTTP_OPTION_UNSAFE_HEADER_PARSING

Bu seçenek dahili kullanım için ayrılmıştır ve çağrılmamalıdır.

WINHTTP_OPTION_UPGRADE_TO_WEB_SOCKET

Yığına WinHttpSendRequest ile bir WebSocket el sıkışma işlemi başlatma talimatı verir. Bu seçenek parametre almaz.

WINHTTP_OPTION_URL

İndirilen kaynağın tam URL'sini içeren bir dize değeri alır. Özgün URL arama dizeleri veya tutturucular gibi ek veriler içeriyorsa veya çağrı yeniden yönlendirildiyse, döndürülen URL özgün URL'den farklıdır. Uygulama, döndürülen URL'yi geniş karakterde tutacak kadar büyük bayt cinsinden bir arabellek geçirmelidir.

WINHTTP_OPTION_USE_GLOBAL_SERVER_CREDENTIALS

Bir BOOL alır ve yalnızca bir oturum tutamacı ayarlanabilir. Yalnızca seçenek ayarlandıktan sonra oturum tutamacından oluşturulan tanıtıcılara yayılır. TRUE ise, bu seçenek son çare olarak WinInet'ten gönderilen genel sunucu kimlik bilgilerinin kullanılmasına neden olur. Bu seçenek için varsayılan değer YANLIŞ'tır. Bu seçenek için HKLM\Software\Microsoft\Windows\CurrentVersion\Internet Settings kayıt defteri anahtarı gerekir! ShareCredsWithWinHttp. Bu kayıt defteri anahtarı varsayılan olarak mevcut değildir. Ayarlandığında, WinINet kimlik bilgilerini WinHTTP'ya gönderir. WinHttp kimlik doğrulaması sınaması aldığında ve geçerli tanıtıcıda ayarlanmış kimlik bilgileri yoksa, WinINet tarafından sağlanan kimlik bilgilerini kullanır.

WINHTTP_OPTION_USE_SESSION_SCH_CRED

Her uç nokta için varsayılan kimlik bilgilerine sahip olmak yerine oturumdaki tüm uç noktalar için varsayılan olarak kullanılacak tek bir kimlik bilgisi ayarlamaya izin verir. Bu, kimlik bilgisi yönetimi ek yükünü azaltarak performansı artırabilir. Bir istemci sertifikası açıkça sağlandığında bu varsayılan kimlik bilgilerinin hiçbir etkisi olmayacağına dikkat edin.

WINHTTP_OPTION_USER_AGENT

WinHttpAddRequestHeaders veya WinHttpSendRequest tarafından eklenen üst bilgi geçersiz kılınmadığı sürece, WinHttpOpen tarafından sağlanan ve sonraki WinHttpSendRequest işlevlerinde kullanılan tanıtıcılarda kullanıcı aracısı dizesini ayarlar veya alır. Kullanıcı aracısını alırken uygulama, döndürülen URL'yi geniş karakterde tutacak kadar büyük, bayt cinsinden boyutlandırılmış bir arabellek geçirmelidir. Kullanıcı aracısını ayarlarken arabellek boyutu dizenin karakter cinsinden uzunluğu ve NULL sonlandırıcısıdır.

WINHTTP_OPTION_USERNAME

Kullanıcı adını içeren bir dizeyi ayarlar veya alır.

WINHTTP_OPTION_WEB_SOCKET_CLOSE_TIMEOUT

WinHttpWebSocketClose'un yakın el sıkışmasını tamamlamak için bekleyeceği süreyi milisaniye olarak ayarlar. Varsayılan değer 10 saniyedir.

WINHTTP_OPTION_WEB_SOCKET_KEEPALIVE_INTERVAL

Bağlantı üzerinden canlı tutma paketi göndermek için aralığı milisaniye olarak ayarlar. Varsayılan aralık 30000 'dir (30 saniye). En düşük aralık 15000 'dir (15 saniye). 15000'den düşük bir değer ayarlamak için WinHttpSetOption kullanıldığında ERROR_INVALID_PARAMETER döndürülecektir.

Uyarı

WINHTTP_OPTION_WEB_SOCKET_KEEPALIVE_INTERVAL için varsayılan değer HKLM:\SOFTWARE\Microsoft\WebSocket\KeepaliveInterval konumundan okunur. Bir değer ayarlanmazsa, varsayılan değer olan 30000 kullanılır. 15000 milisaniyeden daha düşük bir tutma aralığına sahip olmak mümkün değildir.

WINHTTP_OPTION_WEB_SOCKET_RECEIVE_BUFFER_SIZE

WebSocket bağlantılarında kullanılacak alma arabelleği boyutunu belirten bir DWORD ayarlar veya alır.

WINHTTP_OPTION_WEB_SOCKET_SEND_BUFFER_SIZE

WebSocket bağlantılarında kullanılacak gönderme arabellek boyutunu belirten bir DWORD ayarlar veya alır.

WINHTTP_OPTION_WORKER_THREAD_COUNT

İş parçacığı havuzunun zaman uyumsuz tamamlamalar için kullanması gereken çalışan iş parçacığı sayısını belirten işaretsiz bir uzun tamsayı değeri ayarlar. Bu seçeneğin varsayılan değeri sıfırdır ve çalışan iş parçacığı sayısının sistemdeki CPU sayısına eşit olduğunu belirtir. Bu seçenek yalnızca zaman uyumsuz bir işlem gerçekleşmeden önce NULLHINTERNET tanıtıcısında ayarlanabilir. Bu seçenek yalnızca bir kez ayarlanabilir.

Şunlar için geçerlidir: Windows 7 ve üzeri; Windows Server 2008 R2 ve üzeri.

WINHTTP_OPTION_WRITE_BUFFER_SIZE

Bu seçenek kullanım dışıdır; hiçbir etkisi yoktur.

Açıklamalar

Aşağıdaki tabloda, hangi işleyiciler üzerinde işlem yapabileceklerini, sorgulanıp sorgulanamayacağını ve ayarlanıp ayarlanamayacağını ve kullanılan veri türünü belirterek seçenek bayrakları listelenmiştir. "X", seçenek bayrağının işlev veya tanıtıcı ile kullanım için geçerli olduğunu, "-" ise seçenek bayrağının geçersiz olduğunu belirtir.

Desteklenmeyen bir Windows sürümünde seçenek bayrağını ayarlamaya veya sorgulamaya çalışmak ERROR_WINHTTP_INVALID_OPTION.

Seçenek bayrağı ve veri türü Oturum tutamacı İstek tanıtıcısı Sorgu seçeneği Ayarla seçeneği En Düşük Windows Sürümü
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 Sürüm 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 Sürüm 1903
WINHTTP_OPTION_CONNECTION_STATS_V1
TCP_INFO_v1
- X X - Windows 10 Sürüm 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 Sürüm 21H1
WINHTTP_OPTION_DISABLE_FEATURE
DWORD
- X - X -
WINHTTP_OPTION_DISABLE_SECURE_PROTOCOL_FALLBACK
bool
X - - X Windows 10 Sürüm 1903
WINHTTP_OPTION_DISABLE_STREAM_QUEUE
bool
X X - X Windows 10 Sürüm 1809
WINHTTP_OPTION_ENABLE_FEATURE
DWORD
* * - X -
WINHTTP_OPTION_ENABLE_HTTP_PROTOCOL
DWORD
X X - X Windows 10 Sürüm 1607
WINHTTP_OPTION_ENABLE_HTTP2_PLUS_CLIENT_CERT_CONTEXT
bool
X - - X Windows 10 Sürüm 21H1
WINHTTP_OPTION_ENABLETRACING
DWORD
- - X X -
WINHTTP_OPTION_ENCODE_EXTRA
bool
X X - X Windows 10 Sürüm 1803
WINHTTP_OPTION_EXPIRE_CONNECTION
Mevcut Değil
- X - X Windows 10 Sürüm 1903
WINHTTP_OPTION_EXTENDED_ERROR
DWORD
X X X - -
WINHTTP_OPTION_FIRST_AVAILABLE_CONNECTION
bool
X - - X Windows 10 Sürüm 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 Sürüm 1903
WINHTTP_OPTION_HTTP_PROTOCOL_USED
DWORD
- X X - Windows 10 Sürüm 1607
WINHTTP_OPTION_HTTP_VERSION
HTTP_VERSION_INFO
X X X X -
WINHTTP_OPTION_HTTP2_KEEPALIVE
DWORD
X - - X Windows 10 Sürüm 21H1
WINHTTP_OPTION_HTTP2_PLUS_TRANSFER_ENCODING
bool
X X - X Windows 10 Sürüm 21H1
WINHTTP_OPTION_IGNORE_CERT_REVOCATION_OFFLINE
bool
- X - X Windows 10 Sürüm 2004
WINHTTP_OPTION_IPV6_FAST_FALLBACK
bool
X - - X Windows 10 Sürüm 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 Sürüm 1903
WINHTTP_OPTION_REQUEST_TIMES
WINHTTP_REQUEST_TIMES
- X X - Windows 10 Sürüm 1903
WINHTTP_OPTION_REQUIRE_STREAM_END
bool
X X - X Windows 10 Sürüm 21H1
WINHTTP_OPTION_RESOLUTION_HOSTNAME
LPWSTR
- X - X Windows 10 Sürüm 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 Sürüm 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 Sürüm 2004
WINHTTP_OPTION_SERVER_CERT_CONTEXT
SERTIFIKA BAĞLAMı
- 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 Sürüm 21H1
WINHTTP_OPTION_TCP_FAST_OPEN
bool
X - - X Windows 10 Sürüm 2004
WINHTTP_OPTION_TCP_KEEPALIVE
tcp_keepalive
X - - X Windows 10 Sürüm 2004
WINHTTP_OPTION_TLS_FALSE_START
bool
X - - X Windows 10 Sürüm 2004
WINHTTP_OPTION_TLS_PROTOCOL_INSECURE_FALLBACK
bool
X - - X Windows 10 Sürüm 21H1
WINHTTP_OPTION_UNLOAD_NOTIFY_EVENT
HINTERNET
X - - X -
WINHTTP_OPTION_UNSAFE_HEADER_PARSING
DWORD
- X - X -
WINHTTP_OPTION_UPGRADE_TO_WEB_SOCKET
Mevcut Değil
- 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 -

Uyarı

Windows XP ve Windows 2000 için bkz. Run-Time Gereksinimleri.

Gereksinimler

Gereksinim Değer
Desteklenen en düşük düzeydeki istemci Windows XP, SP3 ile Windows 2000 Professional [yalnızca masaüstü uygulamaları]
Desteklenen en düşük sunucu Windows Server 2003, SP3 ile Windows 2000 Server [yalnızca masaüstü uygulamaları]
Yeniden Dağıtılabilir Windows XP ve Windows 2000'de WinHTTP 5.0 ve Internet Explorer 5.01 veya üzeri.
Başlık Winhttp.h

Ayrıca bakınız