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;
}
*/