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.

66 lines
1.5 KiB

  1. /*++
  2. Copyright (c) 1996 Microsoft Corporation
  3. Module Name:
  4. sysctrl.c
  5. Abstract: Human Input Device (HID) minidriver for Universal Serial Bus (USB) devices
  6. The HID USB Minidriver (HUM, Hum) provides an abstraction layer for the
  7. HID Class so that future HID devices whic are not USB devices can be supported.
  8. Author:
  9. ervinp
  10. Environment:
  11. Kernel mode
  12. Revision History:
  13. --*/
  14. #include "pch.h"
  15. #ifdef ALLOC_PRAGMA
  16. #pragma alloc_text(PAGE, HumSystemControl)
  17. #endif
  18. /*
  19. ************************************************************
  20. * HumSystemControl
  21. ************************************************************
  22. *
  23. */
  24. NTSTATUS HumSystemControl(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. }