#ifndef _CAPTURE_DEF__
#define _CAPTURE_DEF__

#pragma once

// 命令类型;
enum CommandType {
	SHOW_APP,
	HIDE_APP,
	CONNECT_DEVICE,
	DIS_CONNECT_DEVICE,
	START_STREAMING,
	STOP_STREAMING,
	STOP_CAPTUREIMAGE,
	CAPTURE_IMAGE_COUNT,
	CAPTURE_IMAGE_TIME,
	CAPTURE_IMAGE_SINGLE,
	STOP_CAPTUREAUDIO,
	SYN_CAPTURE_AUDIO,
	ASY_CAPTURE_AUDIO
};

// 连接设备;
typedef struct CMD_CONECTDEVICE {
	unsigned char cmdType;
	unsigned short nIndex;		// 设备索引;
}CMD_ConnectDevice, * pCMD_ConnectDevice;

// 截图;
typedef struct CMD_CAPUTERIMAGE {
	// 命令类型;
	unsigned char cmdType;
	// 图片格式;
	unsigned short dwImageType;
	// 持续方式;//false=以张数为单位; true以秒为单位;
	BOOL bContinuType;
	// 持续时间;
	int nKeepTime;
	// 每秒抓取张数;
	int nCaputerCount;
	// 保存路径;
	TCHAR szSaveDir[MAX_PATH];
	// 文件名前缀;
	TCHAR szPrefix[64];
	// 是否自动命名;
	BOOL IsAutoName;
	// 是否单张截图;
	BOOL bSingle;
}CMD_CaputerImage, * pCMD_CaputerImage;

// 视屏保存;
typedef struct CMD_CAPUTERAUDIO {
	// 命令类型;
	unsigned char cmdType;
	// 录制时长//单位毫秒;
	DWORD dwDuration;
	// 保存路径;
	TCHAR szSaveDir[MAX_PATH];
}CMD_CaputerAudio, * pCMD_CaputerAudio;

// 开始/停止流命令;
typedef struct CMD_STREAMOPT {
	unsigned char cmdType;
	BOOL bStartStreaming;
}CMD_StreamOpt, * pCMD_StreamOpt;

// 返回结果;
typedef struct CMD_RESULT {
	unsigned char cmdType;
	BOOL bResult;
}CMD_Result, * pCMD_Result;


#endif // _CAPTURE_DEF__