Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

47 lines
1.4 KiB

  1. #include "wdmint.h"
  2. #pragma PAGEDCODE
  3. CInterrupt* CWDMInterrupt::create(VOID)
  4. { return new (NonPagedPool) CWDMInterrupt; }
  5. #pragma PAGEDCODE
  6. NTSTATUS CWDMInterrupt::connect(OUT PKINTERRUPT *InterruptObject,
  7. IN PKSERVICE_ROUTINE ServiceRoutine,
  8. IN PVOID ServiceContext,
  9. IN PKSPIN_LOCK SpinLock OPTIONAL,
  10. IN ULONG Vector,
  11. IN KIRQL Irql,
  12. IN KIRQL SynchronizeIrql,
  13. IN KINTERRUPT_MODE InterruptMode,
  14. IN BOOLEAN ShareVector,
  15. IN KAFFINITY ProcessorEnableMask,
  16. IN BOOLEAN FloatingSave )
  17. {
  18. return ::IoConnectInterrupt(InterruptObject,ServiceRoutine,ServiceContext,
  19. SpinLock,Vector,Irql,SynchronizeIrql,
  20. InterruptMode,ShareVector,ProcessorEnableMask,FloatingSave);
  21. }
  22. #pragma PAGEDCODE
  23. VOID CWDMInterrupt::disconnect(IN PKINTERRUPT InterruptObject)
  24. {
  25. ::IoDisconnectInterrupt(InterruptObject);
  26. }
  27. #pragma PAGEDCODE
  28. VOID CWDMInterrupt::initializeDpcRequest(IN PDEVICE_OBJECT DeviceObject,IN PDEFERRED_FUNCTION DpcForIsr)
  29. {
  30. IoInitializeDpcRequest(DeviceObject, DpcForIsr);
  31. //::KeInitializeDpc( &(DeviceObject)->Dpc,DpcForIsr,NULL);
  32. }
  33. #pragma PAGEDCODE
  34. BOOLEAN CWDMInterrupt::synchronizeExecution (IN PKINTERRUPT Interrupt,
  35. IN PKSYNCHRONIZE_ROUTINE SynchronizeRoutine,
  36. IN PVOID SynchronizeContext)
  37. {
  38. return ::KeSynchronizeExecution (Interrupt,SynchronizeRoutine,SynchronizeContext);
  39. }