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.

116 lines
2.2 KiB

  1. /*++
  2. Copyright (c) 2000 Microsoft Corporation
  3. Module Name:
  4. wtrace.idl
  5. Abstract:
  6. This module contains the WinTrace interfaces.
  7. Author:
  8. Michael Tsang (MikeTs) 29-Jun-2000
  9. Environment:
  10. User mode
  11. Revision History:
  12. --*/
  13. import "WTypes.idl";
  14. [
  15. uuid(5484d3bb-d1f6-47fd-93c1-130252f31660),
  16. version(1.0),
  17. pointer_default(unique)
  18. ]
  19. interface WTServer
  20. {
  21. //
  22. // Implementation constants
  23. //
  24. const int MAX_PROCNAME_LEN = 32;
  25. const int NUM_TRIGPTS = 10;
  26. typedef struct _SETTINGS
  27. {
  28. int iVerboseLevel;
  29. int iTraceLevel;
  30. DWORD dwfSettings;
  31. } SETTINGS, *PSETTINGS;
  32. //
  33. // Settings flags (Settings.dwfSettings)
  34. //
  35. const DWORD SETTINGS_TRIGMODE_ENABLED = 0x00000001;
  36. const DWORD SETTINGS_TRACE_TO_DEBUGGER = 0x00000002;
  37. typedef struct _TRIGPT
  38. {
  39. char szProcName[MAX_PROCNAME_LEN];
  40. DWORD dwfTrigPt;
  41. } TRIGPT, *PTRIGPT;
  42. //
  43. // Trigger Point flags (TrigPt.dwfTrigPt)
  44. //
  45. const DWORD TRIGPT_TRACE_ENABLED = 0x00000001;
  46. const DWORD TRIGPT_BREAK_ENABLED = 0x00000002;
  47. typedef struct _CLIENTINFO
  48. {
  49. SETTINGS Settings;
  50. TRIGPT TrigPts[NUM_TRIGPTS];
  51. } CLIENTINFO, *PCLIENTINFO;
  52. typedef DWORD_PTR HCLIENT;
  53. HCLIENT
  54. WTRegisterClient(
  55. [in] handle_t hBinding,
  56. [in,string] unsigned char *pszClientName
  57. );
  58. void
  59. WTDeregisterClient(
  60. [in] handle_t hBinding,
  61. [in] HCLIENT hClient
  62. );
  63. void
  64. WTTraceProc(
  65. [in] handle_t hBinding,
  66. [in] HCLIENT hClient,
  67. [in] DWORD dwThreadId,
  68. [in] int iIndentLevel,
  69. [in,string] unsigned char *pszText
  70. );
  71. void
  72. WTTraceMsg(
  73. [in] handle_t hBinding,
  74. [in] HCLIENT hClient,
  75. [in,string] unsigned char *pszMsg
  76. );
  77. void
  78. WTDispatchServerRequests(
  79. [in] handle_t hBinding,
  80. [in] HCLIENT hClient
  81. );
  82. [callback]
  83. void
  84. WTGetClientInfo(
  85. [out] PCLIENTINFO ClientInfo
  86. );
  87. [callback]
  88. void
  89. WTSetClientInfo(
  90. [in] PCLIENTINFO ClientInfo
  91. );
  92. }