windows-nt/Source/XPSP1/NT/enduser/netmeeting/ui/conf/history.h
2020-09-26 16:20:57 +08:00

71 lines
1.5 KiB
C++

// File: history.h
#ifndef _HISTORY_H_
#define _HISTORY_H_
#include "calv.h"
// The header for a record in the call log file
typedef struct _tagLogHdr {
DWORD dwSize; // size of this entire record
DWORD dwCLEF; // CallLogEntry Flags (CLEF_*)
DWORD dwPF; // Participant flags (PF_*)
DWORD cbName; // size of szName, in bytes, including NULL
DWORD cbData; // size of rgData, in bytes
DWORD cbCert; // size of certificate, in bytes
SYSTEMTIME sysTime; // date/time of record creation
// WCHAR szName; // null terminated display name (in UNICODE)
// BYTE ri[]; // Roster Information
} LOGHDR;
class CHISTORY : public CALV
{
private:
HANDLE m_hFile;
LPTSTR m_pszFile;
int
Compare
(
LPARAM param1,
LPARAM param2
);
static
int
CALLBACK
StaticCompare
(
LPARAM param1,
LPARAM param2,
LPARAM pThis
);
public:
CHISTORY();
~CHISTORY();
VOID CmdDelete(void);
VOID CmdProperties(void);
// CALV methods
VOID ShowItems(HWND hwnd);
VOID ClearItems(void);
VOID OnCommand(WPARAM wParam, LPARAM lParam);
//
HANDLE OpenLogFile(VOID);
BOOL FSetFilePos(DWORD dwOffset);
BOOL FReadData(PVOID pv, UINT cb);
HRESULT ReadEntry(DWORD dwOffset, LOGHDR * pLogHdr, LPTSTR * ppszName, LPTSTR * ppszAddress);
VOID LoadFileData(HWND hwnd);
HRESULT WriteData(LPDWORD pdwOffset, PVOID pv, DWORD cb);
HRESULT DeleteEntry(DWORD dwOffset);
UINT GetStatusString(DWORD dwCLEF);
};
#endif /* _HISTORY_H_ */