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

📄 dma.h

📁 有关树WDM 驱动的编程.里面包含了许多实例,学习硬件的可以参考哦
💻 H
字号:
#if !defined(AFX_DMA_H__4DA02055_8C2A_4D5D_8278_E0D883A7AB24__INCLUDED_)
#define AFX_DMA_H__4DA02055_8C2A_4D5D_8278_E0D883A7AB24__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// DMA.h : header file
//

/////////////////////////////////////////////////////////////////////////////
// CDMA dialog
#include "HexEdit.h"
class CDMA : public CDialog
{
// Construction
public:
    CHexEdit m_data1,m_data2,m_data3,m_data4;
	HANDLE	hDevice;
    CDMA(CWnd* pParent = NULL);   // standard constructor

// Dialog Data
	//{{AFX_DATA(CDMA)
	enum { IDD = IDD_DMA };
	byte	m_Status;
	//}}AFX_DATA


// Overrides
	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CDMA)
	protected:
	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
	//}}AFX_VIRTUAL

// Implementation
protected:
	LARGE_INTEGER    config[6];
    ULONG	         Length[6];
    ULONG	         IRQ;

   struct pci_cfg
   {
	ULONG	MemBase;        //memory base address
	ULONG	MemLength;		//memory length
	ULONG	IOBase[2];		//IO base address
	ULONG	IOPortLength[2];//IO base length 
	ULONG	IRQ;			//Interrupt number
	ULONG	DMA;			//DMA number.
   }*pci;						//config paramer struct.

     //原Io_wr驱动头文件定义的数据类型
    struct Write_AD
{
	ULONG	Address;
	UCHAR	Data;
};
    struct Write_AD* W_AD;
    DWORD nRet;
     HANDLE hEvent;
//原Mem驱动头文件定义的数据类型
   LARGE_INTEGER    Phy_Address;
   ULONG	         mem_length;   //modified by Long Yachun
    struct Mem_Param
	{
	 ULONG mdr_PhysicalAddress;
      PVOID mdr_LinearAddress;
	}*pMem;

	// Generated message map functions
	//{{AFX_MSG(CDMA)
	virtual BOOL OnInitDialog();
	afx_msg void OnRadio1();
	afx_msg void OnRadio2();
	afx_msg void OnRadio3();
	afx_msg void OnRadio6();
	afx_msg void OnRadio5();
	afx_msg void OnRadio4();
	afx_msg void OnWrite1();
	afx_msg void OnRead1();
	afx_msg void OnWrite2();
	afx_msg void OnRead2();
	afx_msg void OnDma();
	virtual void OnOK();
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
};

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

#endif // !defined(AFX_DMA_H__4DA02055_8C2A_4D5D_8278_E0D883A7AB24__INCLUDED_)

⌨️ 快捷键说明

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