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.

78 lines
1.4 KiB

  1. /*++
  2. Copyright (c) 2000 Microsoft Corporation
  3. Module Name:
  4. output.h
  5. Abstract:
  6. This header file declares output routines
  7. and classes.
  8. Author:
  9. Jason Hartman (JasonHa) 2000-10-16
  10. --*/
  11. #ifndef _OUTPUT_H_
  12. #define _OUTPUT_H_
  13. class OutputMonitor
  14. {
  15. public:
  16. OutputMonitor() {
  17. Client = NULL;
  18. }
  19. HRESULT Monitor(PDEBUG_CLIENT Client, ULONG OutputMask);
  20. HRESULT GetOutputMask(PULONG OutputMask);
  21. HRESULT SetOutputMask(ULONG OutputMask);
  22. ~OutputMonitor();
  23. private:
  24. PDEBUG_CLIENT Client;
  25. PDEBUG_CLIENT MonitorClient;
  26. };
  27. //----------------------------------------------------------------------------
  28. //
  29. // Default output callbacks implementation, provides IUnknown for
  30. // static classes and prints all text sent through Output.
  31. //
  32. //----------------------------------------------------------------------------
  33. class PrintOutputCallbacks :
  34. public IDebugOutputCallbacks
  35. {
  36. public:
  37. // IUnknown.
  38. STDMETHOD(QueryInterface)(
  39. THIS_
  40. IN REFIID InterfaceId,
  41. OUT PVOID* Interface
  42. );
  43. STDMETHOD_(ULONG, AddRef)(
  44. THIS
  45. );
  46. STDMETHOD_(ULONG, Release)(
  47. THIS
  48. );
  49. // IDebugOutputCallbacks.
  50. STDMETHOD(Output)(
  51. THIS_
  52. IN ULONG Mask,
  53. IN PCSTR Text
  54. );
  55. };
  56. #endif _OUTPUT_H_