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.

72 lines
1.2 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. --*/
  12. #ifndef WMLKM_H
  13. #define WMLKM_H 1
  14. #pragma warning(disable: 4201) // error C4201: nonstandard extension used : nameless struct/union
  15. #include <wmistr.h>
  16. #include <evntrace.h>
  17. #ifdef __cplusplus
  18. extern "C" {
  19. #endif
  20. typedef struct _WML_CONTROL_GUID_REG {
  21. GUID Guid;
  22. union {
  23. struct {
  24. ULONG EnableFlags;
  25. ULONG EnableLevel;
  26. };
  27. UINT64 EnableFlags64;
  28. };
  29. TRACEHANDLE LoggerHandle;
  30. } WML_CONTROL_GUID_REG, *PWML_CONTROL_GUID_REG;
  31. typedef struct _WML_TINY_INFO {
  32. PWML_CONTROL_GUID_REG ControlGuids;
  33. ULONG GuidCount;
  34. PDEVICE_OBJECT LowerDeviceObject;
  35. PUNICODE_STRING DriverRegPath;
  36. } WML_TINY_INFO, *PWML_TINY_INFO;
  37. NTSTATUS
  38. WmlTinySystemControl(
  39. IN OUT PWML_TINY_INFO WmiLibInfo,
  40. IN PDEVICE_OBJECT DeviceObject,
  41. IN PIRP Irp
  42. );
  43. ULONG
  44. WmlTrace(
  45. IN ULONG Type,
  46. IN LPCGUID TraceGuid,
  47. IN TRACEHANDLE LoggerHandle,
  48. ... // Pairs: Length, Address
  49. );
  50. #ifdef __cplusplus
  51. };
  52. #endif
  53. #endif // WMLKM_H