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 + -
显示快捷键?