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; }
NL_QQwry::~NL_QQwry() { CloseQQwry(); }
//析构函数 QQwry::~QQwry() { // CloseQQwry(); }
SEU_QQwry::~SEU_QQwry() { CloseQQwry(); }