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.

71 lines
2.0 KiB

  1. #ifndef __SWUSBFLTSHELL_H__
  2. #define __SWUSBFLTSHELL_H__
  3. // @doc
  4. /**********************************************************************
  5. *
  6. * @module SwUsbFltShell.h |
  7. *
  8. * Header file for SwUsbFlt.sys WDM shell structure
  9. *
  10. * History
  11. * ----------------------------------------------------------------------
  12. * Matthew L. Coill Original (Adopted from GckShell.h from MitchD)
  13. *
  14. * (c) 1986-2000 Microsoft Corporation. All right reserved.
  15. *
  16. * @topic SwUsbFltShell |
  17. * Declaration of all structures, and functions in SwUsbFlt that make up
  18. * the shell of the driver.
  19. *
  20. **********************************************************************/
  21. // We use some structures from hidclass.h
  22. #include <hidclass.h>
  23. #include <hidsdi.h>
  24. #include <hidpi.h>
  25. #include <hidusage.h>
  26. // A little more rigorous than our normal build
  27. #pragma warning(error:4100) // Unreferenced formal parameter
  28. #pragma warning(error:4705) // Statement has no effect
  29. //
  30. // @struct SWUSB_FILTER_EXT | Device Extension for this device filter
  31. //
  32. typedef struct _tagSWUSB_FILTER_EXT
  33. {
  34. PDEVICE_OBJECT pPDO; // @field PDO to which this filter is attached
  35. PDEVICE_OBJECT pTopOfStack; // @field Top of the device stack just beneath this filter device object
  36. USBD_PIPE_INFORMATION outputPipeInfo; // @field Information about the Output Pipe
  37. } SWUSB_FILTER_EXT, *PSWUSB_FILTER_EXT;
  38. /*****************************************************************************
  39. ** Declaration of Driver Entry Points
  40. ******************************************************************************/
  41. //
  42. // General Entry Points - In SwUsbFltShell.c
  43. //
  44. NTSTATUS DriverEntry(
  45. IN PDRIVER_OBJECT pDriverObject,
  46. IN PUNICODE_STRING pRegistryPath
  47. );
  48. NTSTATUS SWUSB_PnP (
  49. IN PDEVICE_OBJECT pDeviceObject,
  50. IN PIRP pIrp
  51. );
  52. NTSTATUS SWUSB_Ioctl_Internal (
  53. IN PDEVICE_OBJECT pDeviceObject,
  54. IN PIRP pIrp
  55. );
  56. NTSTATUS SWUSB_Pass (
  57. IN PDEVICE_OBJECT pDeviceObject,
  58. IN PIRP pIrp
  59. );
  60. #endif __SWUSBFLTSHELL_H__