a
This commit is contained in:
@@ -0,0 +1,95 @@
|
||||
// HandleProcessor.cpp: implementation of the CHandleProcessor class.
|
||||
//
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
|
||||
#include "geomative.h"
|
||||
#include "HandleProcessor.h"
|
||||
#include "Constant.h"
|
||||
|
||||
#ifdef _DEBUG
|
||||
#undef THIS_FILE
|
||||
static char THIS_FILE[]=__FILE__;
|
||||
#define new DEBUG_NEW
|
||||
#endif
|
||||
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
// Construction/Destruction
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
|
||||
CHandleProcessor::CHandleProcessor()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
CHandleProcessor::~CHandleProcessor()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
DWORD CHandleProcessor::GenerateHandle(DWORD dwID, UINT uStyle)
|
||||
{
|
||||
DWORD dwtempHandle = (DWORD)VAL_ZERO;
|
||||
DWORD dwTempID = (DWORD)VAL_ZERO;
|
||||
DWORD dwTempStyle = (DWORD)VAL_ZERO;
|
||||
|
||||
dwTempID = (DWORD)dwID;
|
||||
dwTempStyle = (DWORD)uStyle;
|
||||
|
||||
dwTempStyle <<= HANDLE_OFFSET;
|
||||
dwtempHandle = dwTempID | dwTempStyle;
|
||||
|
||||
return dwtempHandle;
|
||||
}
|
||||
|
||||
DWORD CHandleProcessor::GenerateNewHandle(DWORD dwID, UINT uStyle)
|
||||
{
|
||||
DWORD dwtempHandle = (DWORD)VAL_ZERO;
|
||||
DWORD dwTempID = (DWORD)VAL_ZERO;
|
||||
DWORD dwTempStyle = (DWORD)VAL_ZERO;
|
||||
|
||||
dwTempID = dwID&0x07FFFFFF;
|
||||
dwTempStyle = (DWORD)uStyle;
|
||||
|
||||
dwTempStyle <<= HANDLE_OFFSET;
|
||||
dwtempHandle = dwTempID | dwTempStyle;
|
||||
|
||||
return dwtempHandle;
|
||||
}
|
||||
|
||||
void CHandleProcessor::AnalyseHandle(DWORD dwHandle, DWORD& dwID, UINT& uStyle)
|
||||
{
|
||||
DWORD dwTempHandle = VAL_ZERO;
|
||||
DWORD dwTempID = VAL_ZERO;
|
||||
DWORD dwTempStyle = VAL_ZERO;
|
||||
|
||||
dwTempHandle = dwHandle;
|
||||
dwTempID = dwTempHandle & 0x7FFFFFF;
|
||||
dwTempStyle = dwTempHandle & 0xF8000000;
|
||||
dwTempStyle >>= HANDLE_OFFSET;
|
||||
|
||||
dwID = dwTempID;
|
||||
uStyle = (UINT)dwTempStyle;
|
||||
}
|
||||
|
||||
DWORD CHandleProcessor::GetIDFromHandle(DWORD dwHandle)
|
||||
{
|
||||
DWORD dwTempHandle = VAL_ZERO;
|
||||
DWORD dwTempID = VAL_ZERO;
|
||||
|
||||
dwTempHandle = dwHandle;
|
||||
dwTempID = dwTempHandle & 0x7FFFFFF;
|
||||
|
||||
return dwTempID;
|
||||
}
|
||||
|
||||
UINT CHandleProcessor::GetStyleFromHandle(DWORD dwHandle)
|
||||
{
|
||||
DWORD dwTempHandle = VAL_ZERO;
|
||||
DWORD dwTempStyle = VAL_ZERO;
|
||||
|
||||
dwTempHandle = dwHandle;
|
||||
dwTempStyle = dwTempHandle & 0xF8000000;
|
||||
dwTempStyle >>= HANDLE_OFFSET;
|
||||
|
||||
return (UINT)dwTempStyle;
|
||||
}
|
||||
Reference in New Issue
Block a user