IOCPFunc.cpp
上传用户:szopptop
上传日期:2013-04-23
资源大小:1047k
文件大小:1k
源码类别:

模拟服务器

开发平台:

Visual C++

  1. #include "stdafx.h"
  2. // **************************************************************************************
  3. //
  4. //
  5. //
  6. // **************************************************************************************
  7. BOOL CheckAvailableIOCP()
  8. {
  9. OSVERSIONINFO VersionInfo;
  10. GetVersionEx(&VersionInfo);
  11. if (VersionInfo.dwPlatformId == VER_PLATFORM_WIN32_NT && VersionInfo.dwMajorVersion >= 5)
  12. return TRUE;
  13. return FALSE;
  14. }
  15. // **************************************************************************************
  16. //
  17. //
  18. //
  19. // **************************************************************************************
  20. /*
  21. INT CreateIOCPWorkerThread(HANDLE hCP, LPDWORD lpdwThreadID, LPTHREAD_START_ROUTINE WorkerThreadFunc)
  22. {
  23. if (CompletionPort != INVALID_HANDLE_VALUE)
  24. {
  25. SYSTEM_INFO SystemInfo;
  26. if ((hCP = CreateIoCompletionPort(INVALID_HANDLE_VALUE, NULL, 0, 0)) == NULL)
  27. return -1;
  28. GetSystemInfo(&SystemInfo);
  29. for (UINT i = 0; i < SystemInfo.dwNumberOfProcessors * 2; i++)
  30. {
  31. HANDLE ThreadHandle;
  32. if ((ThreadHandle = CreateThread(NULL, 0, WorkerThreadFunc, hCP, 0, lpdwThreadID)) == NULL)
  33. return -1;
  34. CloseHandle(ThreadHandle);
  35. }
  36. return SystemInfo.dwNumberOfProcessors * 2;
  37. }
  38. return -1;
  39. }
  40. */