?? overlapped.h
字號:
#ifndef OVERLAPPED_H
#define OVERLAPPED_H
#include <afxtempl.h>
//
// 保存重疊操作參數(shù)信息的結(jié)構(gòu)
//
typedef struct _OVERLAPPED_RECORDER
{
SOCKET s;
LPWSABUF lpBuffers;
DWORD dwBufferCount;
LPDWORD lpNumberOfBytesRecvd;
LPDWORD lpFlags;
LPWSAOVERLAPPED lpOverlapped;
LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine;
struct sockaddr FAR * lpFrom;
LPINT lpFromlen;
int FunctionType; //0: WSPRecv; 1:WSPRecvFrom
} OVERLAPPED_RECORDER, *POVERLAPPED_RECORDER;
//
// 重疊操作類
//
class COverlapped
{
public:
COverlapped();
int FindOverlapped(LPWSAOVERLAPPED lpOverlapped);
BOOL DeleteOverlapped(int iIndex);
BOOL AddOverlapped(
SOCKET s,
LPWSABUF lpBuffers,
DWORD dwBufferCount,
LPDWORD lpNumberOfBytesRecvd,
LPDWORD lpFlags,
LPWSAOVERLAPPED lpOverlapped,
LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine,
struct sockaddr FAR * lpFrom,
LPINT lpFromlen,
int FunctionType //0: WSPRecv; 1:WSPRecvFrom
);
public:
//
// 所有沒有完成的重疊操作數(shù)組
//
CArray<OVERLAPPED_RECORDER, OVERLAPPED_RECORDER> m_OverlappedRecorder;
private:
CRITICAL_SECTION m_CriticalSection;
};
#endif //OVERLAPPED_H
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -