📄 sysedb.h
字号:
#ifndef _SYS_EDB_H_
#define _SYS_EDB_H_
#define EDB
#include <windows.h>
#include <windbase.h>
#include <vector>
#define DB_NAME TEXT("BlackList")
#define DB_FILE_NAME TEXT("SmsBList.dat")
#define STREAM_DB_NAME TEXT("StreamDB")
typedef struct ITEMData
{
CEOID ceoid;
TCHAR name[32];
TCHAR number[32];
ITEMData()
{
ceoid = 0;
name[0] = 0;
number[0] = 0;
}
}ITEMData;
UINT GetCurrAppFolder(TCHAR* appFolder);
// 创建存储拨号前缀的数据库
//BOOL CreateDB(LPTSTR apsDBVolPath);
class CSysDB
{
public:
CSysDB(BOOL bSetPrimarykey = FALSE , LONG iSeekOrder = CEDB_SEEK_BEGINNING);
~CSysDB();
DWORD AddDBItem(ITEMData &item);
BOOL ModifyAnPrefixItem(ITEMData &item);
BOOL DelAnPrefixItem(ITEMData &item);
DWORD GetAllPrefixItem(std::vector<ITEMData> &vecPrefixItem);
DWORD GetPrefixItemCount();
BOOL IsPrefixItemExist(ITEMData &item);
//////////////////////////////////////////////////////////////////////////
BOOL CreateDBEx(LPTSTR apsDBVolPath);
BOOL OpenDB(TCHAR *szwDBName);
void CloseDBHandle(); // 结束数据库操作
//////////////////////////////////////////////////////////////////////////
//Stream DB
BOOL CreateStreamDB(LPTSTR apsDBVolPath);
BOOL OpenStreamDB(TCHAR *szwDBName);
DWORD AddStreamDBItem(ITEMData &item);
DWORD AddStreamDBItem(void *pData , int cbSize);
DWORD GetAllStreamItem(std::vector<ITEMData> &vecPrefixItem);
BOOL ModifyAnStreamDBItem(ITEMData &item);
DWORD GetDBItemCount();
CEOID BeginRead(CEOID *pOid);
void* ReadNextRecord(CEOID *pOid , void *pData);
private:
//BOOL Initial();
DWORD GetMaxPrefixOrderID();
public:
private:
HANDLE m_hDB; //数据库句柄
BOOL m_bInitial; // 是否已经初始化
CEGUID m_ceGuidDB; // 打开的数据库卷的GUID
UINT m_dwMaxPrefixOrderID;
UINT m_iSeekOrder;
BOOL m_bSetPrimaryKey;
};
#endif //_SYS_EDB_H_
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -