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.

78 lines
1.5 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. VfDevObjPreAddDevice(
  26. IN PDEVICE_OBJECT PhysicalDeviceObject,
  27. IN PDRIVER_OBJECT DriverObject,
  28. IN PDRIVER_ADD_DEVICE AddDeviceFunction,
  29. IN VF_DEVOBJ_TYPE DevObjType
  30. );
  31. VOID
  32. VfDevObjPostAddDevice(
  33. IN PDEVICE_OBJECT PhysicalDeviceObject,
  34. IN PDRIVER_OBJECT DriverObject,
  35. IN PDRIVER_ADD_DEVICE AddDeviceFunction,
  36. IN VF_DEVOBJ_TYPE DevObjType,
  37. IN NTSTATUS Result
  38. );
  39. VOID
  40. VfDevObjAdjustFdoForVerifierFilters(
  41. IN OUT PDEVICE_OBJECT *FunctionalDeviceObject
  42. );
  43. VOID
  44. VerifierIoAttachDeviceToDeviceStack(
  45. IN PDEVICE_OBJECT NewDevice,
  46. IN PDEVICE_OBJECT ExistingDevice
  47. );
  48. VOID
  49. VerifierIoDetachDevice(
  50. IN PDEVICE_OBJECT LowerDevice
  51. );
  52. VOID
  53. VerifierIoDeleteDevice(
  54. IN PDEVICE_OBJECT DeviceObject
  55. );