Source code of Windows XP (NT5)
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.

66 lines
1.3 KiB

  1. /*++
  2. Copyright (c) 1996 Microsoft Corporation
  3. Module Name:
  4. ioctl.c
  5. Abstract: Human Input Device (HID) minidriver for Infrared (IR) devices
  6. The HID IR Minidriver (HidIr) provides an abstraction layer for the
  7. HID Class to talk to HID IR devices.
  8. Author:
  9. jsenior
  10. Environment:
  11. Kernel mode
  12. Revision History:
  13. --*/
  14. #include "pch.h"
  15. #ifdef ALLOC_PRAGMA
  16. #pragma alloc_text(PAGE, HidIrSystemControl)
  17. #endif
  18. /*
  19. ************************************************************
  20. * HidIrSystemControl
  21. ************************************************************
  22. *
  23. */
  24. NTSTATUS HidIrSystemControl(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
  25. {
  26. NTSTATUS status = STATUS_SUCCESS;
  27. PIO_STACK_LOCATION thisStackLoc;
  28. PAGED_CODE();
  29. thisStackLoc = IoGetCurrentIrpStackLocation(Irp);
  30. switch(thisStackLoc->Parameters.DeviceIoControl.IoControlCode){
  31. default:
  32. /*
  33. * Note: do not return STATUS_NOT_SUPPORTED;
  34. * If completing the IRP here,
  35. * just keep the default status
  36. * (this allows filter drivers to work).
  37. */
  38. status = Irp->IoStatus.Status;
  39. break;
  40. }
  41. IoCopyCurrentIrpStackLocationToNext(Irp);
  42. status = IoCallDriver(GET_NEXT_DEVICE_OBJECT(DeviceObject), Irp);
  43. return status;
  44. }