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

📄 interrupt.cpp

📁 http down source code for driver development programmer
💻 CPP
字号:
// interrupt.cpp : Defines the entry point for the DLL application.
//

#include "stdafx.h"
#include <math.h>
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
#include <devioctl.h>
#include "..\\..\\include\\rtmdll.h"





#pragma bss_seg( "RTMBSS" )
int k_stack;
int k_stack1;
#pragma  bss_seg()

HANDLE hRTMDLL;

BOOL APIENTRY DllMain( HANDLE hModule, 
                       DWORD  ul_reason_for_call, 
                       LPVOID lpReserved
					 )
{
        hRTMDLL = hModule;
        return TRUE;
}




#pragma data_seg("RTMDATA")
DWORD _isr = 0;



int initLpt =0;
unsigned short dbit = 1;
#pragma data_seg()


#pragma check_stack(off) 

#pragma code_seg("RTMCODE")


void newintr(void *)
{
// generate exception 
// char *p = NULL;
//    *p =1;
	_isr++;
}








#pragma code_seg()


#pragma check_stack(on) 




int  th_end = 1;

HANDLE pi1;
HANDLE pi2;



extern "C"  int WINAPI RTXEntry(int tmresol)
{
 RTMCONNINTERRUPT cinter;
 int error;

              if(RtmInit(hRTMDLL,KERNEL_MODE) == FALSE) return 0;
           

                 cinter.BusNumber = 1;
                 cinter.DevID = 0x2f00;
                 cinter.nVector =0;
                 cinter.VenID = 0x14f1;
                 cinter.itype = PCIBus;
                 cinter.lpParameter = NULL;
                 cinter.newintr = newintr;  
                 pi1 = RtmConnectInterrupt(hRTMDLL ,&cinter);

                 Sleep(1000);

                 error = _isr;

                 RtmDisConnectInterrupt(hRTMDLL ,pi1);

             return RtmClose(hRTMDLL);

}




   


#pragma check_stack(on) 

#pragma code_seg()

⌨️ 快捷键说明

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