pci.h

来自「有关树WDM 驱动的编程.里面包含了许多实例,学习硬件的可以参考哦」· C头文件 代码 · 共 87 行

H
87
字号
#if !defined(AFX_PCI_H__C283DB9D_5C48_46BE_9527_3687159D483B__INCLUDED_)
#define AFX_PCI_H__C283DB9D_5C48_46BE_9527_3687159D483B__INCLUDED_

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

/////////////////////////////////////////////////////////////////////////////
// Cpci dialog

class Cpci : public CDialog
{
// Construction
public:
	Cpci(CWnd* pParent = NULL);   // standard constructor
 HANDLE	hDevice;
 HANDLE	hDevice2;
DWORD nRet;

//以下是用户加的自定义数据类型

//原PCI_con驱动头文件定义的数据类型
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,*pci2;						//config paramer struct.

//原Io_wr驱动头文件定义的数据类型
struct Write_AD
{
	ULONG	Address;
	UCHAR	Data;
};

//原Mem驱动头文件定义的数据类型
LARGE_INTEGER    Phy_Address;
ULONG	         mem_length;                           //modified by Long Yachun
struct Mem_Param
{
	ULONG mdr_PhysicalAddress;
	PVOID mdr_LinearAddress;
}*pMem;

// Dialog Data
	//{{AFX_DATA(Cpci)
	enum { IDD = IDD_DIALOG24 };
	int		m_irq;
	CString	m_io2;
	CString	m_mem;
	CString	m_io1;
	//}}AFX_DATA


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

// Implementation
protected:

	// Generated message map functions
	//{{AFX_MSG(Cpci)
	virtual BOOL OnInitDialog();
	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_PCI_H__C283DB9D_5C48_46BE_9527_3687159D483B__INCLUDED_)

⌨️ 快捷键说明

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