⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 zdusbmp_dutdlg.h

📁 这个是无线网卡WirelessLAN 测试程序NDIS
💻 H
字号:
// ZDUSBMP_DUTDlg.h : header file
//
//{{AFX_INCLUDES()
#include "mscomm.h"
//}}AFX_INCLUDES

#if !defined(AFX_ZDUSBMP_DUTDLG_H__0AEE103C_FEFD_429E_BF85_D0E09B668A5D__INCLUDED_)
#define AFX_ZDUSBMP_DUTDLG_H__0AEE103C_FEFD_429E_BF85_D0E09B668A5D__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#define STATE_IDLE					0
#define STATE_RUNNING				1
#define STATE_FAIL_RESEND			2
#define STATE_OVERTIMES				3
#define STATE_WAIT					4
#define STATE_TIMEOUT				5
#define STATE_RECEIVER_COMPLETE		6

/////////////////////////////////////////////////////////////////////////////
// CZDUSBMP_DUTDlg dialog
#include "E2promCtrl.h"
#include "ParameterCtrl.h"
#include "GPIBCtrl.h"
#include "CommunicationCtrl.h"
#include "ZDWlanAdapter.h"
#include "Tx.h"

static DWORD Amount_Hig; //0-18446744073709551615 8-bytes
static DWORD Amount_Med; 
static DWORD Amount_Low; 

class CZDUSBMP_DUTDlg : public CDialog
{
// Construction
public:
	//
	BOOL bImplement; //stop control code

	bool StartTest();
	bool DownloadSetting(PWLADAPTERINFO pWLAdapterInfoIn);
	bool SendCommand(char cClass, char cBindwithCmd=0x00);
	bool ThreadProcBegin;

	bool RXPacketsTest(PWLADAPTERINFO pWLAdapterInfoIn, int mCh);
	bool TXPacketsTest(PWLADAPTERINFO pWLAdapterInfoIn, int mCh);
	bool CWTest(PWLADAPTERINFO pWLAdapterInfoIn);
	bool ConTXTest(PWLADAPTERINFO pWLAdapterInfoIn, int mCh, int mPAGain);
	bool OpenAdapter();
	void GetEEData();
	EEPROM_DATA mtmpEEData;
	static UINT CommandCheckThread(LPVOID pParam);

	//for TX
	static UINT SendPacketComplete( LPVOID pParam );
	BOOL ZDRasTR_PacketSendEx(
	              HANDLE       hAdapterDevice,
                  PBYTE        lpSendBuffer,
                  DWORD        nSendBufferSize,
                  LPDWORD      lpBytesReturned,   // Required For Windows 95 Implementation
                  LPOVERLAPPED lpOverlapped,
                  PVOID        lpCompletionRoutine
                  );

	BOOL ZDRasTR_PacketReadEx(
                  HANDLE       hAdapterDevice,
                  PZDRAS_PACKET pZDRasPacket,
                  LPDWORD      lpBytesReturned,
                  LPOVERLAPPED lpOverlapped,
                  PVOID        lpCompletionRoutine
                  );

	DWORD ZDRasTR_GetLastError( VOID );

	DWORD64 ZDTxGetTotalBytes(HANDLE handle);
	bool ZDTxSetPattern(HANDLE handle, const char *ptr, int size);
	bool ZDTxIsSending(HANDLE handle);
	DWORD ZDTxGetSendDuration(HANDLE handle);
	DWORD ZDTxGetPacketSent(HANDLE handle);
	bool ZDTxSendStop(HANDLE handle);
	bool ZDTxSend(	
		HANDLE handle,						// Handle create by ZDTxCreate
		int pattern,						// Pattern type TX_PATTERN_0 -> TX_PATTERN_USER_DEFINED
		const char* RemoteMAC,				// String as dest addr, if NULL mean broadcast. ex: "FF FF FF FF FF FF" 
		int PacketLen,						// Len of data to sent, must less(equal) than 1490, because lib will insert FRAME_INFO_HEADER
		DWORD PacketNum,					// The number of packet to send, 0 mean send until user stop
		int Interval,						// The time(millisecond) between each packet
		bool EnableChecklost,				// If set CheckLostNumber in FRAME_INFO_HEADER
		bool EnableCheckCRC,				// If set CheckSum in FRAME_INFO_HEADER
		bool EnableCheckHeader,				// If set , do check MAC header and FRAME_INFO_HEADER
		UCHAR sequence,						// When use TX_PATTERN_SEQUENCE, set to the first packet pattern data.
		AFX_THREADPROC CompletionRoutine,	// When send complete, lib will call this routine.
		LPVOID pParam						// Its pParam.
		);

	void ZDTxClose(HANDLE handle);
	HANDLE ZDTxCreate(PWLADAPTERINFO pWLAdapterInfoIn);

	//
	LOCAL_TALLY_STRUCT DisplayTallyStruct;
	LOCAL_TALLY_STRUCT StartTallyStruct;
	ULONGLONG	TX_Total;
	ULONGLONG	RX_Total;
	ULONGLONG	Bad;
	ULONGLONG	PER;
	bool TRXPackFinish; //for TX and RX Packets test

	bool InitNIC(PWLADAPTERINFO pWLAdapterInfoIn, int Anteena);
	void ShowString(int dItem, int dImage, CString strBuff, bool bClear=FALSE);

	//Query
	char cTmpQue;

	//reply
	char cTmpResult;
	char cTmpValue;

	//Command
	char cTmpCmd;
	int dTmpCh;
	int dTmpPower;
	int dTmpAnt;
	DWORD dwTmpInterval;
	DWORD dwTmpLength;
	DWORD dwTmpTXAmount;

	VOID ReceiverByteFromCOMPort(char* Buff);
	VOID SendByteToCOMPort(char Buff[]);

	int ProcedureState;
	bool bComPortPresent;
	bool bInstrumentPresent;

	void PumpMessages();
	CE2promCtrl mE2promCtrl;
	CParameterCtrl mParameterCtrl;
	CGPIBCtrl mGPIBCtrl;
	CCommunicationCtrl mCommuCtrl;

	CZDUSBMP_DUTDlg(CWnd* pParent = NULL);	// standard constructor

// Dialog Data
	//{{AFX_DATA(CZDUSBMP_DUTDlg)
	enum { IDD = IDD_ZDUSBMP_DUT_DIALOG };
	CButton	m_StopButt;
	CListCtrl	m_StateList;
	CButton	m_StartButt;
	CButton	m_CommButt;
	CButton	m_ParametersButt;
	CButton	m_InstrumentButt;
	CButton	m_ViewButt;
	CMSComm	m_MSComCtrl;
	BOOL	m_ShowDetial;
	CString	m_Amount;
	//}}AFX_DATA

	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CZDUSBMP_DUTDlg)
	public:
	virtual BOOL PreTranslateMessage(MSG* pMsg);
	protected:
	virtual void DoDataExchange(CDataExchange* pDX);	// DDX/DDV support
	//}}AFX_VIRTUAL

// Implementation
protected:
	HICON m_hIcon;
	CZDWlanAdapter AdapterCtrl;
	HANDLE m_htx;

	// Generated message map functions
	//{{AFX_MSG(CZDUSBMP_DUTDlg)
	virtual BOOL OnInitDialog();
	afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
	afx_msg void OnPaint();
	afx_msg HCURSOR OnQueryDragIcon();
	afx_msg void OnOpenfileButton();
	afx_msg void OnViewButton();
	afx_msg void OnParameterButton();
	afx_msg void OnClose();
	afx_msg void OnExit();
	afx_msg void OnInstrumentButton();
	afx_msg void OnCommButton();
	afx_msg void OnOnCommMscomm1();
	afx_msg void OnTimer(UINT nIDEvent);
	afx_msg void OnStartButton();
	afx_msg void OnStopButton();
	DECLARE_EVENTSINK_MAP()
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
};

//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_ZDUSBMP_DUTDLG_H__0AEE103C_FEFD_429E_BF85_D0E09B668A5D__INCLUDED_)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -