overlapped.h
来自「Windows防火墙与网络封包截获技术源码」· C头文件 代码 · 共 56 行
H
56 行
#ifndef OVERLAPPED_H
#define OVERLAPPED_H
#include <afxtempl.h>
//
// 保存重叠操作参数信息的结构
//
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:
//
// 所有没有完成的重叠操作数组
//
CArray<OVERLAPPED_RECORDER, OVERLAPPED_RECORDER> m_OverlappedRecorder;
private:
CRITICAL_SECTION m_CriticalSection;
};
#endif //OVERLAPPED_H
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?