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.

81 lines
1.4 KiB

  1. /*++
  2. Copyright (c) 2000 Microsoft Corporation
  3. Module Name:
  4. vfirplog.h
  5. Abstract:
  6. This header exposes functions for logging IRP events.
  7. Author:
  8. Adrian J. Oney (adriao) 09-May-1998
  9. Environment:
  10. Kernel mode
  11. Revision History:
  12. --*/
  13. //
  14. // Log-snapshots are retrievable by user mode for profiling and targetted
  15. // probing of stacks. Content-wise they are heavier.
  16. //
  17. typedef struct _IRPLOG_SNAPSHOT {
  18. ULONG Count;
  19. UCHAR MajorFunction;
  20. UCHAR MinorFunction;
  21. UCHAR Flags;
  22. UCHAR Control;
  23. ULONGLONG ArgArray[4];
  24. } IRPLOG_SNAPSHOT, *PIRPLOG_SNAPSHOT;
  25. VOID
  26. VfIrpLogInit(
  27. VOID
  28. );
  29. VOID
  30. VfIrpLogRecordEvent(
  31. IN PVERIFIER_SETTINGS_SNAPSHOT VerifierSettingsSnapshot,
  32. IN PDEVICE_OBJECT DeviceObject,
  33. IN PIRP Irp
  34. );
  35. ULONG
  36. VfIrpLogGetIrpDatabaseSiloCount(
  37. VOID
  38. );
  39. NTSTATUS
  40. VfIrpLogLockDatabase(
  41. IN ULONG SiloNumber
  42. );
  43. NTSTATUS
  44. VfIrpLogRetrieveWmiData(
  45. IN ULONG SiloNumber,
  46. OUT PUCHAR OutputBuffer OPTIONAL,
  47. OUT ULONG *OffsetInstanceNameOffsets,
  48. OUT ULONG *InstanceCount,
  49. OUT ULONG *DataBlockOffset,
  50. OUT ULONG *TotalRequiredSize
  51. );
  52. VOID
  53. VfIrpLogUnlockDatabase(
  54. IN ULONG SiloNumber
  55. );
  56. VOID
  57. VfIrpLogDeleteDeviceLogs(
  58. IN PDEVICE_OBJECT DeviceObject
  59. );