main.cpp

来自「windows驱动开发例子」· C++ 代码 · 共 54 行

CPP
54
字号
#include <Windows.h>
#include <stdio.h>

#include ".\winiolib\WinIo.h"


int calAddr(int i,int j,int k,int addr)
{
	int n = 0x80000000+i*65536+j*2048+k*256+addr;
	return n;
}

int main()
{
	//打开WinIO驱动
	printf("===The program list all the pci device=====\n");
	printf("NO      BusNo      DeviceNo      FunctionNo\n");
	bool bRet = InitializeWinIo();
	if (bRet)
	{
//		printf("Load Dirver successfully!\n");
		int i,j,k,m,n,count;
		unsigned long data1;
		count = 0;
		for(i=0; i < 256; i++)
		{
			for(j=0; j<32; j++)
			{
				for(k=0; k<8; k++)
				{
					m = calAddr(i,j,k,0);
					SetPortVal(0x0cf8,m,4);
					GetPortVal(0x0cfe,&data1,2);
					if(data1 != 0x0ffff)
					{
						count++;
						n = data1;
						printf("%d,      %x,      %x,      %x,      %x\n",count,i,j,k,n);
					}
						
				}
			}

		}
		

		//关闭WinIO驱动
		ShutdownWinIo();
	}

	
	return 0;
}

⌨️ 快捷键说明

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