interrupt.c
来自「ReactOS是一些高手根据Windows XP的内核编写出的类XP。内核实现机」· C语言 代码 · 共 62 行
C
62 行
/*
*/
#include <sndblst.h>
BOOLEAN
CheckIrq(
PDEVICE_OBJECT DeviceObject)
{
/* PSOUND_BLASTER_PARAMETERS parameters = DeviceObject->DriverExtension;*/
/* TODO */
return TRUE;
}
BOOLEAN NTAPI
ServiceSoundBlasterInterrupt(
IN PKINTERRUPT Interrupt,
IN PVOID Context)
{
DPRINT("* Processing ISR *\n");
return FALSE;
}
NTSTATUS
EnableIrq(
PDEVICE_OBJECT DeviceObject)
{
PSOUND_BLASTER_PARAMETERS parameters = DeviceObject->DeviceExtension;
ULONG vector;
KIRQL irq_level;
KAFFINITY affinity;
NTSTATUS status = STATUS_SUCCESS;
vector = HalGetInterruptVector(Isa,
0,
parameters->irq,
parameters->irq,
&irq_level,
&affinity);
DPRINT("Vector is 0x%x\n", vector);
status = IoConnectInterrupt(¶meters->interrupt,
ServiceSoundBlasterInterrupt,
DeviceObject,
(PKSPIN_LOCK) NULL,
vector,
irq_level,
irq_level,
Latched, /* Latched / LevelSensitive */
FALSE, /* shareable */
affinity,
FALSE);
if ( status == STATUS_INVALID_PARAMETER )
status = STATUS_DEVICE_CONFIGURATION_ERROR;
return status;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?