2025-04-27 07:49:33 -04:00

79 lines
1.4 KiB
C++

/*++
Copyright (c) 2000 Microsoft Corporation
Module Name:
output.h
Abstract:
This header file declares output routines
and classes.
Author:
Jason Hartman (JasonHa) 2000-10-16
--*/
#ifndef _OUTPUT_H_
#define _OUTPUT_H_
class OutputMonitor
{
public:
OutputMonitor() {
Client = NULL;
}
HRESULT Monitor(PDEBUG_CLIENT Client, ULONG OutputMask);
HRESULT GetOutputMask(PULONG OutputMask);
HRESULT SetOutputMask(ULONG OutputMask);
~OutputMonitor();
private:
PDEBUG_CLIENT Client;
PDEBUG_CLIENT MonitorClient;
};
//----------------------------------------------------------------------------
//
// Default output callbacks implementation, provides IUnknown for
// static classes and prints all text sent through Output.
//
//----------------------------------------------------------------------------
class PrintOutputCallbacks :
public IDebugOutputCallbacks
{
public:
// IUnknown.
STDMETHOD(QueryInterface)(
THIS_
IN REFIID InterfaceId,
OUT PVOID* Interface
);
STDMETHOD_(ULONG, AddRef)(
THIS
);
STDMETHOD_(ULONG, Release)(
THIS
);
// IDebugOutputCallbacks.
STDMETHOD(Output)(
THIS_
IN ULONG Mask,
IN PCSTR Text
);
};
#endif _OUTPUT_H_