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.

74 lines
1.3 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. #ifdef __cplusplus
  19. extern "C" {
  20. #endif
  21. typedef struct _WML_CONTROL_GUID_REG {
  22. GUID Guid;
  23. union {
  24. struct {
  25. ULONG EnableFlags;
  26. ULONG EnableLevel;
  27. };
  28. UINT64 EnableFlags64;
  29. };
  30. TRACEHANDLE LoggerHandle;
  31. } WML_CONTROL_GUID_REG, *PWML_CONTROL_GUID_REG;
  32. typedef struct _WML_TINY_INFO {
  33. PWML_CONTROL_GUID_REG ControlGuids;
  34. ULONG GuidCount;
  35. PDEVICE_OBJECT LowerDeviceObject;
  36. PUNICODE_STRING DriverRegPath;
  37. } WML_TINY_INFO, *PWML_TINY_INFO;
  38. NTSTATUS
  39. WmlTinySystemControl(
  40. IN OUT PWML_TINY_INFO WmiLibInfo,
  41. IN PDEVICE_OBJECT DeviceObject,
  42. IN PIRP Irp
  43. );
  44. ULONG
  45. WmlTrace(
  46. IN ULONG Type,
  47. IN LPCGUID TraceGuid,
  48. IN TRACEHANDLE LoggerHandle,
  49. ... // Pairs: Length, Address
  50. );
  51. #ifdef __cplusplus
  52. };
  53. #endif
  54. #endif // WMLKM_H