DragonNest/Server/ServiceMonitorEx/Source/NetPacketParser.h

40 lines
1.6 KiB
C
Raw Normal View History

2024-12-20 16:56:44 +08:00
<EFBFBD><EFBFBD>
#pragma once
#include <windows.h>
#include <winsock2.h>
#include "Define.h"
class CNetPacketParser
{
public:
typedef DWORD (*LPFN_PACKET_NOTIFY_PROC) (
LPVOID, // 8<EFBFBD>X<EFBFBD>
SHORT, // (ӷ<EFBFBD> <EFBFBD><EFBFBD>T<EFBFBD>ܴ
SHORT, // (ӷ<EFBFBD> <EFBFBD><EFBFBD>p<EFBFBD>T<EFBFBD>ܴ
LPBYTE, // <EFBFBD><EFBFBD>|<EFBFBD> <EFBFBD><EFBFBD>x<EFBFBD>0<EFBFBD>
SHORT // (ӷ<EFBFBD> l<EFBFBD>0<EFBFBD>
);
private:
LPFN_PACKET_NOTIFY_PROC m_lpfnPacketNotifyProc;
public:
CNetPacketParser();
virtual ~CNetPacketParser();
VOID SetPacketNotifyProc(LPFN_PACKET_NOTIFY_PROC lpfnPacketNotifyProc) {
m_lpfnPacketNotifyProc = lpfnPacketNotifyProc;
}
static BOOL PacketParse(class CSessionBase* lpSession, CHAR* lpcBuffer, INT& iBufferPtr, UINT uIoBytes, UINT uTotalBufferSize, LPVOID lpRecvNotifyProcParam, IN_ADDR stIpAddress, WORD wPortNumber);
public:
LPFN_PACKET_NOTIFY_PROC GetNotifyProc() const { return m_lpfnPacketNotifyProc; }
};