ZeroMemory(&(PerHandleData->Overlapped),sizeof(PerHandleData->Overlapped) );
PerHandleData->DataBuf.len = DATA_BUFSIZE;
PerHandleData->DataBuf.buf = PerHandleData->Buffer;
PerHandleData->BytesRECV = 0;
PerHandleData->BytesSEND = 0;
PerHandleData->Socket = sAccept;
DWORD Flags = 0;
DWORD RecvBytes;
BOOL bSuccess = PostQueuedCompletionStatus(CompletionPort, 0,
(DWORD)&PerHandleData, &(PerHandleData->Overlapped));
if ( (!bSuccess && GetLastError( ) != ERROR_IO_PENDING))
线程:
GetQueuedCompletionStatus(pThis->CompletionPort,&BytesTransferred,(LPDWORD)&PerHandleData,&pOverlapPlus,INFINITE)
在线程中得到的PerHandleData的东西都是乱的?为什么?
PerHandleData->DataBuf.len = DATA_BUFSIZE;
PerHandleData->DataBuf.buf = PerHandleData->Buffer;
PerHandleData->BytesRECV = 0;
PerHandleData->BytesSEND = 0;
PerHandleData->Socket = sAccept;
DWORD Flags = 0;
DWORD RecvBytes;
BOOL bSuccess = PostQueuedCompletionStatus(CompletionPort, 0,
(DWORD)&PerHandleData, &(PerHandleData->Overlapped));
if ( (!bSuccess && GetLastError( ) != ERROR_IO_PENDING))
线程:
GetQueuedCompletionStatus(pThis->CompletionPort,&BytesTransferred,(LPDWORD)&PerHandleData,&pOverlapPlus,INFINITE)
在线程中得到的PerHandleData的东西都是乱的?为什么?
(DWORD)PerHandleData, &(PerHandleData->Overlapped));
if ( (!bSuccess && GetLastError( ) != ERROR_IO_PENDING))