ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

interrupt.c
Go to the documentation of this file.
00001 /*
00002 */
00003 
00004 #include <sndblst.h>
00005 
00006 BOOLEAN
00007 CheckIrq(
00008     PDEVICE_OBJECT DeviceObject)
00009 {
00010 /*    PSOUND_BLASTER_PARAMETERS parameters = DeviceObject->DriverExtension;*/
00011 
00012     /* TODO */
00013 
00014     return TRUE;
00015 }
00016 
00017 BOOLEAN NTAPI
00018 ServiceSoundBlasterInterrupt(
00019     IN  PKINTERRUPT Interrupt,
00020     IN  PVOID Context)
00021 {
00022     DPRINT("* Processing ISR *\n");
00023     return FALSE;
00024 }
00025 
00026 NTSTATUS
00027 EnableIrq(
00028     PDEVICE_OBJECT DeviceObject)
00029 {
00030     PSOUND_BLASTER_PARAMETERS parameters = DeviceObject->DeviceExtension;
00031     ULONG vector;
00032     KIRQL irq_level;
00033     KAFFINITY affinity;
00034     NTSTATUS status = STATUS_SUCCESS;
00035 
00036     vector = HalGetInterruptVector(Isa,
00037                                    0,
00038                                    parameters->irq,
00039                                    parameters->irq,
00040                                    &irq_level,
00041                                    &affinity);
00042 
00043     DPRINT("Vector is 0x%x\n", vector);
00044 
00045     status = IoConnectInterrupt(&parameters->interrupt,
00046                                 ServiceSoundBlasterInterrupt,
00047                                 DeviceObject,
00048                                 (PKSPIN_LOCK) NULL,
00049                                 vector,
00050                                 irq_level,
00051                                 irq_level,
00052                                 Latched, /* Latched / LevelSensitive */
00053                                 FALSE,  /* shareable */
00054                                 affinity,
00055                                 FALSE);
00056 
00057     if ( status == STATUS_INVALID_PARAMETER )
00058         status = STATUS_DEVICE_CONFIGURATION_ERROR;
00059 
00060     return status;
00061 }

Generated on Sun May 27 2012 04:27:59 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.