chime.cpp

来自「武安河书第一版(vxd)Windows 驱动例子」· C++ 代码 · 共 47 行

CPP
47
字号
// CHIME.cpp - main module for VxD CHIME

#define DEVICE_MAIN
#include "chime.h"
Declare_Virtual_Device(CHIME)
#undef DEVICE_MAIN

// Static data

VOID TickHandler(VOID);		// Forward declaration for callback 
							// on RTC interrupt
RTCInterrupt* pRTCInterrupt=0;	// Pointer to our RTCInterrupt object
int x=0;

VOID TickHandler(VOID)
{

	x++;
	if (x>=3072) {
		x=0;
		(new BellEvent())->call();
	}
}

BOOL ChimeDevice::OnSysDynamicDeviceInit()
{
	pRTCInterrupt = new RTCInterrupt(TickHandler);

	if ((pRTCInterrupt==NULL) || !pRTCInterrupt->hook())
	{
		pRTCInterrupt = 0;
		return FALSE;
	}
	else
		pRTCInterrupt->Enable();	// Enable and unmask IRQ

	VEvent::initEvents();
	return TRUE;
}

BOOL ChimeDevice::OnSysDynamicDeviceExit()
{
	if (pRTCInterrupt) delete pRTCInterrupt;
	return TRUE;
}

⌨️ 快捷键说明

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