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.

77 lines
1.4 KiB

  1. /*++
  2. Copyright (c) 2000 Microsoft Corporation
  3. Module Name:
  4. vfdevobj.h
  5. Abstract:
  6. This header exposes function hooks that verify drivers properly manage
  7. device objects.
  8. Author:
  9. Adrian J. Oney (adriao) 09-May-1998
  10. Environment:
  11. Kernel mode
  12. Revision History:
  13. AdriaO 05/02/2000 - Seperated out from ntos\io\trackirp.h
  14. --*/
  15. typedef enum {
  16. VF_DEVOBJ_PDO = 0,
  17. VF_DEVOBJ_BUS_FILTER,
  18. VF_DEVOBJ_LOWER_DEVICE_FILTER,
  19. VF_DEVOBJ_LOWER_CLASS_FILTER,
  20. VF_DEVOBJ_FDO,
  21. VF_DEVOBJ_UPPER_DEVICE_FILTER,
  22. VF_DEVOBJ_UPPER_CLASS_FILTER
  23. } VF_DEVOBJ_TYPE, *PVF_DEVOBJ_TYPE;
  24. VOID
  25. VerifierIoAttachDeviceToDeviceStack(
  26. IN PDEVICE_OBJECT NewDevice,
  27. IN PDEVICE_OBJECT ExistingDevice
  28. );
  29. VOID
  30. VerifierIoDetachDevice(
  31. IN PDEVICE_OBJECT LowerDevice
  32. );
  33. VOID
  34. VerifierIoDeleteDevice(
  35. IN PDEVICE_OBJECT DeviceObject
  36. );
  37. VOID
  38. VfDevObjPreAddDevice(
  39. IN PDEVICE_OBJECT PhysicalDeviceObject,
  40. IN PDRIVER_OBJECT DriverObject,
  41. IN PDRIVER_ADD_DEVICE AddDeviceFunction,
  42. IN VF_DEVOBJ_TYPE DevObjType
  43. );
  44. VOID
  45. VfDevObjPostAddDevice(
  46. IN PDEVICE_OBJECT PhysicalDeviceObject,
  47. IN PDRIVER_OBJECT DriverObject,
  48. IN PDRIVER_ADD_DEVICE AddDeviceFunction,
  49. IN VF_DEVOBJ_TYPE DevObjType,
  50. IN NTSTATUS Result
  51. );
  52. VOID
  53. VfDevObjAdjustFdoForVerifierFilters(
  54. IN OUT PDEVICE_OBJECT *FunctionalDeviceObject
  55. );