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.

70 lines
1.5 KiB

  1. /*++
  2. Copyright (c) 2000 Microsoft Corporation
  3. Module Name:
  4. vfbugcheck.h
  5. Abstract:
  6. This header defines the prototypes and constants required for verifier
  7. bugchecks.
  8. Author:
  9. Adrian J. Oney (adriao) 20-Apr-1998
  10. Revision History:
  11. AdriaO 02/21/2000 - Moved from ntos\io\ioassert.h
  12. --*/
  13. #ifndef _VFBUGCHECK_H_
  14. #define _VFBUGCHECK_H_
  15. extern LONG IovpInitCalled;
  16. #define KDASSERT(x) { if (KdDebuggerEnabled) { ASSERT(x) ; } }
  17. #define ASSERT_SPINLOCK_HELD(x)
  18. #define DCPARAM_ROUTINE 0x00000001
  19. #define DCPARAM_IRP 0x00000008
  20. #define DCPARAM_IRPSNAP 0x00000040
  21. #define DCPARAM_DEVOBJ 0x00000200
  22. #define DCPARAM_STATUS 0x00001000
  23. #define DCPARAM_ULONG 0x00008000
  24. #define DCPARAM_PVOID 0x00040000
  25. #define WDM_FAIL_ROUTINE(ParenWrappedParamList) \
  26. { \
  27. if (IovpInitCalled) { \
  28. VfBugcheckThrowIoException##ParenWrappedParamList;\
  29. } \
  30. }
  31. VOID
  32. FASTCALL
  33. VfBugcheckInit(
  34. VOID
  35. );
  36. NTSTATUS
  37. VfBugcheckThrowIoException(
  38. IN DCERROR_ID MessageIndex,
  39. IN ULONG MessageParameterMask,
  40. ...
  41. );
  42. NTSTATUS
  43. VfBugcheckThrowException(
  44. IN PVFMESSAGE_TEMPLATE_TABLE MessageTable OPTIONAL,
  45. IN VFMESSAGE_ERRORID MessageID,
  46. IN PCSTR MessageParamFormat,
  47. IN va_list * MessageParameters
  48. );
  49. #endif // _VFBUGCHECK_H_