Prechádzať zdrojové kódy

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

sat23 3 rokov pred
rodič
commit
01823dab4c

+ 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
         }
     }