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.

89 lines
1.6 KiB

  1. /*++
  2. Copyright (c) Microsoft Corporation. All rights reserved.
  3. Module Name:
  4. ppvutil.h
  5. Abstract:
  6. This header exposes various utilities required to do driver verification.
  7. Author:
  8. Adrian J. Oney (adriao) 20-Apr-1998
  9. Environment:
  10. Kernel mode
  11. Revision History:
  12. AdriaO 02/10/2000 - Seperated out from ntos\io\trackirp.h
  13. --*/
  14. #ifndef _PPVUTIL_H_
  15. #define _PPVUTIL_H_
  16. typedef enum {
  17. PPVERROR_DUPLICATE_PDO_ENUMERATED = 0,
  18. PPVERROR_MISHANDLED_TARGET_DEVICE_RELATIONS,
  19. PPVERROR_DDI_REQUIRES_PDO
  20. } PPVFAILURE_TYPE;
  21. typedef enum {
  22. PPVREMOVAL_SHOULD_DELETE = 0,
  23. PPVREMOVAL_SHOULDNT_DELETE,
  24. PPVREMOVAL_MAY_DEFER_DELETION
  25. } PPVREMOVAL_OPTION;
  26. VOID
  27. FASTCALL
  28. PpvUtilInit(
  29. VOID
  30. );
  31. NTSTATUS
  32. FASTCALL
  33. PpvUtilCallAddDevice(
  34. IN PDEVICE_OBJECT PhysicalDeviceObject,
  35. IN PDRIVER_OBJECT DriverObject,
  36. IN PDRIVER_ADD_DEVICE AddDeviceFunction,
  37. IN VF_DEVOBJ_TYPE DevObjType
  38. );
  39. VOID
  40. FASTCALL
  41. PpvUtilTestStartedPdoStack(
  42. IN PDEVICE_OBJECT DeviceObject
  43. );
  44. PPVREMOVAL_OPTION
  45. FASTCALL
  46. PpvUtilGetDevnodeRemovalOption(
  47. IN PDEVICE_OBJECT PhysicalDeviceObject
  48. );
  49. VOID
  50. FASTCALL
  51. PpvUtilFailDriver(
  52. IN PPVFAILURE_TYPE FailureType,
  53. IN PVOID CulpritAddress,
  54. IN PDEVICE_OBJECT DeviceObject OPTIONAL,
  55. IN PVOID ExtraneousInfo OPTIONAL
  56. );
  57. BOOLEAN
  58. FASTCALL
  59. PpvUtilIsHardwareBeingVerified(
  60. IN PDEVICE_OBJECT PhysicalDeviceObject
  61. );
  62. #endif // _PPVUTIL_H_