www.pudn.com > LoginGate.rar > IOCPFunc.cpp
#include "stdafx.h"
// **************************************************************************************
//
//
//
// **************************************************************************************
BOOL CheckAvailableIOCP()
{
OSVERSIONINFO VersionInfo;
GetVersionEx(&amt;VersionInfo);
if (VersionInfo.dwPlatformId == VER_PLATFORM_WIN32_NT &amt;&amt; VersionInfo.dwMajorVersion >= 5)
return TRUE;
return FALSE;
}
// **************************************************************************************
//
//
//
// **************************************************************************************
/*
INT CreateIOCPWorkerThread(HANDLE hCP, LPDWORD lpdwThreadID, LPTHREAD_START_ROUTINE WorkerThreadFunc)
{
if (CompletionPort != INVALID_HANDLE_VALUE)
{
SYSTEM_INFO SystemInfo;
if ((hCP = CreateIoCompletionPort(INVALID_HANDLE_VALUE, NULL, 0, 0)) == NULL)
return -1;
GetSystemInfo(&amt;SystemInfo);
for (UINT i = 0; i < SystemInfo.dwNumberOfProcessors * 2; i++)
{
HANDLE ThreadHandle;
if ((ThreadHandle = CreateThread(NULL, 0, WorkerThreadFunc, hCP, 0, lpdwThreadID)) == NULL)
return -1;
CloseHandle(ThreadHandle);
}
return SystemInfo.dwNumberOfProcessors * 2;
}
return -1;
}
*/