Преминаване към основното съдържание
Поддръжка
Влизане с Microsoft
Влезте или създайте акаунт.
Здравейте,
Изберете друг акаунт.
Имате няколко акаунта
Изберете акаунта, с който искате да влезете.

Симптоми

Да разгледаме следния сценарий:

  • Имате Microsoft Forefront Threat шлюз клиент на клиентски компютър, работещ под операционна система Windows.

  • Имате програма, която е инсталирана на компютър, използващ Windows Sockets (Winsock) за свързване към външен или вътрешен сървър.


Когато установена връзка между клиента и сървъра е затворен в този случай програмата опит 20 секунди закъснение.

Забележка: По време на този 20 секунди закъснение програмата може да изглежда напълно отговаря.

Причина

Този проблем може да възникне, когато програма, която се изпълнява на клиентския компютър изпълнява Winsock почистване чрез извикване на функцията WSACleanup() от функцията DllMain() в една от DLL файлове, които се използват от програмата. Това предизвиква блокиране на зареждане на Windows NT, което пречи на функцията WSACleanup() завършване. Повикване на функцията WSACleanup() от функцията DllMain() нарушава DllMain спецификации. По-долу е извлечение от темата "DllMain входна точка" в библиотеката на Microsoft Developer Network (MSDN):

"Извикване на функции, които изискват DLL файлове освен Kernel32.dll може да доведе до проблеми, които са трудни за диагностициране. Например извикване на потребителя, Shell и COM функции може да доведе до достъп нарушаване грешка, защото някои функции се зареди други системни компоненти. Обратно извикване на функции, като тези по време на прекратяването може да предизвика достъп нарушаване грешка, защото съответния компонент вече е разтоварването или не остане неинициализирана."За улесняване на тази ситуация блокиране в ограничена степен, кодиран изчакване от 20 секунди се използва за откриване на това блокиране. Надвишена това изчакване, шлюз клиент за управление на Forefront Threat пропуска Winsock почистване.

Решение

За да промените времето, през което шлюз клиент за управление на Forefront Threat изчаква, преди прескочите Winsock cleanup, инсталирате сборния пакет за корекция, описана в следната статия от базата знания на Microsoft:

2616324 кумулативен спешна корекция е налична за Forefront Threat Management шлюз клиентСлед прилагането на този пакет с актуални корекции, можете да персонализирате стойност за таймаут чрез промяна на следните DWORD настройка на системния регистър:

WSP_CLEANUP_DEADLOCK_DETECTION_LIMIT_IN_MILLISECONDSЗа 32-битови програми на 32-битови платформи или 64-битови програми на 64-битови платформи DWORD настройката се намира по следния начин:

HKEY_LOCAL_MACHINE\Software\Microsoft\RAT\Stingray\Debug\FwcWspЗа 32-битови програми на 64-битови платформи DWORD настройката се намира по следния начин:

HKEY_LOCAL_MACHINE \Software\Wow6432Node\Microsoft\RAT\Stingray\Debug\FwcWsp
Забележка: Ключове на системния регистър, които съдържат стойност за таймаут може да не съществува. В този случай трябва да създадете ги.

Статус

Microsoft потвърждава, че това е проблем в програмата, която използва Winsock.

Препратки

За повече информация относно DllMain спецификации посетете следния уеб сайт на MSDN:

DllMain входна точкаЗа допълнителна информация за защитната стена на клиентски компютри посетете следния уеб сайт на Microsoft:

Защитната стена на клиентски компютриЗа повече информация относно терминологията за актуализация на софтуера щракнете върху следния номер, за да отидете на статия в базата знания на Microsoft:

824684 описание на стандартната терминология, използвана за описание на софтуерните актуализации на Microsoft

Допълнителна информация

При определени обстоятелства може да се достигне допълнително изчакване в допълнение към описаните WSP_CLEANUP_DEADLOCK_DETECTION_LIMIT_IN_MILLISECONDS стойност. Това допълнително време за изчакване и може да влияе чрез създаване на регистър DWORD стойност с име WSP_CLEANUP_TIMEOUT в следното местоположение:

За 32-битови програми платформи 32-битова или 64-битови програми на 64-битови платформи:

HKEY_LOCAL_MACHINE\Software\Microsoft\RAT\Stingray\Debug\FwcWspЗа 32-битови програми на 64-битови платформи:

HKEY_LOCAL_MACHINE \Software\Wow6432Node\Microsoft\RAT\Stingray\Debug\FwcWsp
Забележка: Стойността на времето за изчакване трябва да бъде зададен в милисекунди. Ако стойността не е създаден, програмата използва стойността по подразбиране на 2 500 милисекунди. Препоръчваме да не много ниска стойност за WSP_CLEANUP_TIMEOUT. Това е защото тази изчакване указва колко дълго програмата изчаква за така наречения монитор нишка да прекрати правилно. Затова не трябва да зададете тази стойност, която е по-малко от 500 милисекунди.

Нуждаете ли се от още помощ?

Искате ли още опции?

Разгледайте ползите от абонамента, прегледайте курсовете за обучение, научете как да защитите устройството си и още.

Общностите ви помагат да задавате и отговаряте на въпроси, да давате обратна връзка и да получавате информация от експерти с богати знания.

Беше ли полезна тази информация?

Доколко сте доволни от качеството на езика?
Какво е повлияло на вашия потребителски опит?
Като натиснете „Подаване“, вашата обратна връзка ще се използва за подобряване на продуктите и услугите на Microsoft. Вашият ИТ администратор ще може да събира тези данни. Декларация за поверителност.

Благодарим ви за обратната връзка!

×