Преглед на файлове

当服务端管道退出后,客户端ReadFile返回ERROR_BROKEN_PIPE时,需要结束客户端管道连接。

sat23 преди 3 години
родител
ревизия
01823dab4c
променени са 1 файла, в които са добавени 5 реда и са изтрити 1 реда
  1. 5 1
      DLLInjection/RegistryInjection/InjectionDLL/InjectionDLL/PipeClient.cpp

+ 5 - 1
DLLInjection/RegistryInjection/InjectionDLL/InjectionDLL/PipeClient.cpp

@@ -153,11 +153,15 @@ DWORD CPipeClient::ReadMsgThread(LPVOID lpParam)
         else
         {
             Utility::dprintf(_T("ReadFile from pipe failed. GLE=%d\n"), dwError );
-            if ( dwError == ERROR_PIPE_NOT_CONNECTED )
+            if ( dwError == ERROR_PIPE_NOT_CONNECTED || dwError == ERROR_BROKEN_PIPE)
             {
                 CloseHandle(pInstance->m_hPipeInst);
                 pInstance->m_hPipeInst = INVALID_HANDLE_VALUE;
             }
+
+#ifdef _DEBUG
+            Sleep(10000);
+#endif
         }
     }