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.

84 lines
1.5 KiB

  1. /*++
  2. Copyright (c) 1999 Microsoft Corporation
  3. Module Name:
  4. wmlkm.h
  5. Abstract:
  6. Kernel mode definitions for an easy wmi tracing.
  7. Author:
  8. gorn
  9. Revision History:
  10. Comments:
  11. Needs to be moved to wmilib\inc when DCR is approved
  12. --*/
  13. #ifndef WMLKM_H
  14. #define WMLKM_H 1
  15. #pragma warning(disable: 4201) // error C4201: nonstandard extension used : nameless struct/union
  16. #include <wmistr.h>
  17. #include <evntrace.h>
  18. #include "wmlmacro.h"
  19. #ifdef __cplusplus
  20. extern "C" {
  21. #endif
  22. #define MAX_TRACE_GUIDS_PER_CONTROL 3
  23. typedef struct _WML_CONTROL_GUID_REG {
  24. GUID Guid;
  25. GUID TraceGuids[MAX_TRACE_GUIDS_PER_CONTROL];
  26. ULONG EnableFlags;
  27. ULONG EnableLevel;
  28. TRACEHANDLE LoggerHandle;
  29. } WML_CONTROL_GUID_REG, *PWML_CONTROL_GUID_REG;
  30. typedef struct _WML_TINY_INFO {
  31. PWML_CONTROL_GUID_REG ControlGuids;
  32. ULONG GuidCount;
  33. PDEVICE_OBJECT LowerDeviceObject;
  34. PUNICODE_STRING DriverRegPath;
  35. } WML_TINY_INFO, *PWML_TINY_INFO;
  36. NTSTATUS
  37. WmlTinySystemControl(
  38. IN OUT PWML_TINY_INFO WmiLibInfo,
  39. IN PDEVICE_OBJECT DeviceObject,
  40. IN PIRP Irp
  41. );
  42. ULONG
  43. WmlTrace(
  44. IN ULONG Type,
  45. IN LPCGUID TraceGuid,
  46. IN TRACEHANDLE LoggerHandle,
  47. ... // Pairs: Address, Length
  48. );
  49. ULONG
  50. WmlPrintf(
  51. IN ULONG Type,
  52. IN LPCGUID TraceGuid,
  53. IN TRACEHANDLE LoggerHandle,
  54. IN PCHAR FormatString,
  55. ... // var args
  56. );
  57. #ifdef __cplusplus
  58. };
  59. #endif
  60. #endif // WMLKM_H