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.

73 lines
2.0 KiB

  1. // @doc
  2. /**********************************************************************
  3. *
  4. * @module HIDSWVD.h |
  5. *
  6. * Definitions and Declarations for Dummy Hid-Mini driver for virtual devices
  7. *
  8. * History
  9. * ----------------------------------------------------------
  10. * Mitchell S. Dernis Original
  11. *
  12. * (c) 1986-1998 Microsoft Corporation. All right reserved.
  13. *
  14. * @topic HIDSWVD |
  15. * The SideWinder Virtual Bus (SWVB) that is created by GcKernel needs a dummy
  16. * driver in order to expose HID devices. The difficulty is that HIDCLASS
  17. * really does require a separate layer for these device objects.
  18. * This driver fits the bill. It does absolutely nothing, except pass IRPs down
  19. * to the SWVB module in GcKernel which handles everything.
  20. **********************************************************************/
  21. // @struct HIDSWVB_EXTENSION | Minimum HID device extension.
  22. typedef struct tagHIDSWVB_EXTENSION
  23. {
  24. ULONG ulReserved; // @field a Placeholder as extension needs non-zero size
  25. } HIDSWVB_EXTENSION, *PHIDSWVB_EXTENSION;
  26. //---------------------------------------------------------------------------
  27. // Function prototypes
  28. //---------------------------------------------------------------------------
  29. NTSTATUS
  30. DriverEntry(
  31. IN PDRIVER_OBJECT DriverObject,
  32. IN PUNICODE_STRING registryPath
  33. );
  34. NTSTATUS
  35. HIDSWVD_PassThrough(
  36. IN PDEVICE_OBJECT pDeviceObject,
  37. IN PIRP pIrp
  38. );
  39. NTSTATUS
  40. HIDSWVD_AddDevice(
  41. IN PDRIVER_OBJECT DriverObject,
  42. IN PDEVICE_OBJECT FunctionalDeviceObject
  43. );
  44. NTSTATUS
  45. HIDSWVD_Power
  46. (
  47. IN PDEVICE_OBJECT pDeviceObject,
  48. IN PIRP pIrp
  49. );
  50. VOID
  51. HIDSWVD_Unload(
  52. IN PDRIVER_OBJECT DriverObject
  53. );
  54. //-------------------------------------------------------------------------------
  55. // Debug macros
  56. //-------------------------------------------------------------------------------
  57. #if (DBG==1)
  58. #define HIDSWVD_DBG_PRINT(__x__)\
  59. {\
  60. DbgPrint("HIDSWVD: ");\
  61. DbgPrint __x__;\
  62. }
  63. #else
  64. #define HIDSWVD_DBG_PRINT(__x__)
  65. #endif