?? netsdkdemo.h
字號:
// NetSDKDemo.h : main header file for the NETSDKDEMO application
//
#if !defined(AFX_NETSDKDEMO_H__F984CDA1_DB9B_44E5_ADD8_44A8BB6D6E9D__INCLUDED_)
#define AFX_NETSDKDEMO_H__F984CDA1_DB9B_44E5_ADD8_44A8BB6D6E9D__INCLUDED_
//new
#define WM_IR_RECIEVE (WM_USER+110)
#define COUNT_BUTTON 18 //注意18個按鍵前7個是發射給電視機的,后11個是控制電腦的
#define REMOTE_CONTROL "遙控器"
//new
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#ifndef __AFXWIN_H__
#error include 'stdafx.h' before including this file for PCH
#endif
#include "resource.h" // main symbols
#include "ComPort.h"
/////////////////////////////////////////////////////////////////////////////
// CNetSDKDemoApp:
// See NetSDKDemo.cpp for the implementation of this class
//
//設備信息列表結構
typedef struct _DeviceNode {
char UserNanme[20]; //登錄用戶名
char Name[20]; //設備名稱
char IP[20]; //設備IP地址字符
LONG LoginID; //設備登錄iD
NET_DEVICEINFO Info; //設備信息
NET_CLIENT_STATE State; //設備狀態
DWORD TotalKbps; //設備當前總碼流
DWORD Max_Kbps; //設置最大網絡流量
}DeviceNode;
//當前畫面顯示內容的類型
typedef enum _SplitType{
SPLIT_TYPE_NULL = 0, //空白
SPLIT_TYPE_MONITOR, //網絡監視
SPLIT_TYPE_NETPLAY, //網絡回放
SPLIT_TYPE_MULTIPLAY, //網絡預覽
SPLIT_TYPE_FILEPLAY, //本地文件播放
SPLIT_TYPE_CYCLEMONITOR, //輪循監視
SPLIT_TYPE_PBBYTIME //通過時間回放
}SplitType;
//視頻參數結構
typedef union _VideoParam{
BYTE bParam[4];
DWORD dwParam; //視頻參數
}VideoParam;
//畫面分割通道顯示信息(可以定義成type/param,param自定義)
typedef struct _SplitInfoNode
{
SplitType Type; //顯示類型 空白/監視/網絡回放/本地回放等
DWORD iHandle; //用于記錄通道id(監視通道ID/播放文件iD等)
// DWORD nTimeCount; //時間計數,用于碼流統計
// DWORD nKBPS; //碼流統計//sdk增加接口后不用應用層統計
int isSaveData; //數據是否保存(直接sdk保存)
FILE *SavecbFileRaw; //保存回調原始數據
FILE *SavecbFileStd; //保存回調mp4數據
FILE *SavecbFileYUV; //保存回調yuv數據
FILE *SavecbFilePcm; //保存回調pcm數據
VideoParam nVideoParam; //視頻參數
void *Param; //信息參數,對于不同的顯示有不同的參數
}SplitInfoNode;
class CNetSDKDemoApp : public CWinApp
{
public:
CNetSDKDemoApp();
//new
bool m_preview;
void SelDvr(int Dvr);
void RemoteControl(int button);
void InitComm(int port);
LsComm::CComPort m_ComPort;
CByteArray m_ir_data[COUNT_BUTTON]; //紅外線按鍵碼
CByteArray m_tv_data[7]; //電視遙控器的按鍵,2006/10/25
CByteArray m_learn_data[3]; //學習的3次按鍵碼
int m_learn_count; //學習次數
bool m_learn; //是否學習模式
int m_ir_fn; //遙控器當前的功能建
bool m_OnOff; //遙控器開關按動次數
HANDLE irEvent;
//new
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CNetSDKDemoApp)
public:
virtual BOOL InitInstance();
virtual int ExitInstance();
//}}AFX_VIRTUAL
// Implementation
//{{AFX_MSG(CNetSDKDemoApp)
// NOTE - the ClassWizard will add and remove member functions here.
// DO NOT EDIT what you see in these blocks of generated code !
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
/*
class CDeviceListProtector //全局變量保護類
{
public:
CDeviceListProtector(CPtrList **list):m_ptrdevicelist(list)
{
*m_ptrdevicelist = new CPtrList(sizeof(DeviceNode));
*list = *m_ptrdevicelist;
}
~CDeviceListProtector()
{
int count = (*m_ptrdevicelist)->GetCount();
for (int i = 0; i < count; i++)
{
delete (DeviceNode *)((*m_ptrdevicelist)->GetTail());
(*m_ptrdevicelist)->RemoveTail();
}
(*m_ptrdevicelist)->RemoveAll();
delete (*m_ptrdevicelist);
}
private:
CPtrList **m_ptrdevicelist;
};
class CCSLock
{
public:
CCSLock(CRITICAL_SECTION& cs):m_cs(cs)
{
EnterCriticalSection(&m_cs);
}
~CCSLock()
{
LeaveCriticalSection(&m_cs);
}
private:
CRITICAL_SECTION& m_cs;
};
*/
//extern CRITICAL_SECTION g_cs;
//全局變量,用于保存程序所在目錄的路徑名
extern CString g_strWorkDir;
//全局變量,用于保存設備列表
//extern CPtrList *g_ptrdevicelist ;
//全局函數,將系統時間格式轉換為大華定義的網絡時間格式
void g_systimetodhtime(SYSTEMTIME *systime , NET_TIME *dhtime);
//全局函數,將大華定義的網絡時間格式轉換為系統時間格式
void g_dhtimetosystime(NET_TIME *dhtime , SYSTEMTIME *systime);
//全局函數,將大華定義的網絡時間轉換為字符串顯示
CString g_TimeOutString(NET_TIME *dhtime );
//全局函數, 計算兩時間點之差
DWORD g_IntervalTime(NET_TIME *stime, NET_TIME *etime );
void g_SetWndStaticText(CWnd * pWnd);
/////////////////////////////////////////////////////////////////////////////
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_NETSDKDEMO_H__F984CDA1_DB9B_44E5_ADD8_44A8BB6D6E9D__INCLUDED_)
//new
void OnReceiveData(LPVOID pSender,void* pBuf,DWORD InBufferCount);
//new
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -