Esempio n. 1
0
BOOL QQwry::OpenQQwry(LPCTSTR lpFileName)
{
	BOOL bReturn = FALSE;

	//
	HANDLE hSrcFile = CreateFile(lpFileName,GENERIC_READ,FILE_SHARE_READ,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);

	//
	if(hSrcFile)
	{
		//Get file size
		DWORD dwNumberOfBytesToRead = SetFilePointer(hSrcFile,0,NULL,FILE_END);
		//reset to begin for data reading
		SetFilePointer(hSrcFile,0,NULL,FILE_BEGIN);
		//would not be failed in win32?
		m_pDataBuffer = new BYTE[dwNumberOfBytesToRead + 1];

		if(m_pDataBuffer)
		{
			//
			DWORD dwReaded;
			//
			if(ReadFile(hSrcFile,m_pDataBuffer,dwNumberOfBytesToRead,&dwReaded,NULL))
			{
				//calculate the ip information record count
				DWORD *pIntData = (DWORD *)m_pDataBuffer;
				//Start position of record infor in file
				DWORD nBuffer_0 = *pIntData;
				//End position of record infor in file
				DWORD nBuffer_4	= *(pIntData + 1);
				nBuffer_4 -= nBuffer_0;
				//IP record count
				m_dwRecordCount = nBuffer_4 / 7;
				int nsuiv = nBuffer_4 % 7;
				//must be integral info struct,7 bytes
				if(nsuiv == 0)
				{
					m_bInit = TRUE;
					bReturn = m_bInit;
				}			
			}
		}
		
		//close IP data file
		CloseHandle(hSrcFile);
	}
	
	if(!m_bInit)
	{		
		//Verify the null buffer if we got some error
		CloseQQwry();
	}

	return bReturn;
}
Esempio n. 2
0
NL_QQwry::~NL_QQwry()
{
	CloseQQwry();
}
Esempio n. 3
0
//析构函数
QQwry::~QQwry()
{
	//
	CloseQQwry();
}
Esempio n. 4
0
SEU_QQwry::~SEU_QQwry()
{
	CloseQQwry();
}