📄 ihxtlogsystem.h
字号:
* * {EA6ABCD9-66EB-11d4-931A-00D0B749DE42} * */DEFINE_GUID(IID_IHXTLogWriter, 0xea6abcd9, 0x66eb, 0x11d4, 0x93, 0x1a, 0x0, 0xd0, 0xb7, 0x49, 0xde, 0x42);#undef INTERFACE#define INTERFACE IHXTLogWriterDECLARE_INTERFACE_(IHXTLogWriter, IUnknown){ /* * IUnknown methods */ STDMETHOD(QueryInterface) (THIS_ REFIID riid, void** ppvObj) PURE; STDMETHOD_(ULONG32,AddRef) (THIS) PURE; STDMETHOD_(ULONG32,Release) (THIS) PURE; /************************************************************************ * Method: * IHXTLogWriter::LogMessage * Purpose: * Logs a message in the log system with the specified parameters * to be delivered to all observers. * * Parameters: * szNamespace - [in] Text identifier to qualify the functional area * and numeric message parameter. * nLogCode - [in] Enumerated value from rtalogconstants.h which * indicates the importance of the log message * nFuncArea - [in] Enumerated value from rtalogconstnats.h which * indicates the general area of the system where the message * originated. * nMsg - [in] Identifies the log message to be used from the translation * xml files loaded by the log system upon startup. To use the * szMsg variable for the message instead, specify 0xFFFFFFFF for * this value. * szMsg - [in] Contains the text that will be used for the log message if * the nMsg parameter is 0xFFFFFFFF. * Returns: * HXR_OK - if success * HXR_FAIL - Log system is not properly initialized. */ STDMETHOD(LogMessage) (THIS_ const char* /*IN*/ szNamespace, EHXTLogCode /*IN*/ nLogCode, EHXTLogFuncArea /*IN*/ nFuncArea, UINT32 /*IN*/ nMsg, const char* /*IN*/ szMsg ) PURE; /************************************************************************ * Method: * IHXTLogWriter::GetTranslatedMessage * Purpose: * Retrieves the translated string for the message number provided * from the log system. * * Parameters: * nMessageNumber - [in] Message number to be translated. * szNamespace - [in] Namespace of the message to be translated. * szLanguage - [in] Currently unused. * szMessage - [out] Translated message string. * Returns: * HXR_OK - if success */ STDMETHOD(GetTranslatedMessage) (THIS_ UINT32 /*IN*/ nMessageNumber, const char* /*IN*/ szNamespace, const char* /*IN*/ szLanguage, const char** /*OUT*/ szMessage ) PURE;};HXT_MAKE_SMART_PTR(IHXTLogWriter)// {E7ADC1B7-7B6E-4e54-9878-AA810ECC6DE6}DEFINE_GUID(IID_IHXTInternalLogWriter, 0xe7adc1b7, 0x7b6e, 0x4e54, 0x98, 0x78, 0xaa, 0x81, 0xe, 0xcc, 0x6d, 0xe6);#undef INTERFACE#define INTERFACE IHXTInternalLogWriterDECLARE_INTERFACE_(IHXTInternalLogWriter, IUnknown){ /* * IUnknown methods */ STDMETHOD(QueryInterface) (THIS_ REFIID riid, void** ppvObj) PURE; STDMETHOD_(ULONG32,AddRef) (THIS) PURE; STDMETHOD_(ULONG32,Release) (THIS) PURE; /************************************************************************ * Method: * IHXTLogWriter::LogMessage * Purpose: * Logs a message in the log system with the specified parameters * to be delivered to all observers. * * Parameters: * szNamespace - [in] Text identifier to qualify the functional area * and numeric message parameter. * nLogCode - [in] Enumerated value from rtalogconstants.h which * indicates the importance of the log message * nFuncArea - [in] Enumerated value from rtalogconstnats.h which * indicates the general area of the system where the message * originated. * nMsg - [in] Identifies the log message to be used from the translation * xml files loaded by the log system upon startup. To use the * szMsg variable for the message instead, specify 0xFFFFFFFF for * this value. * szMsg - [in] Contains the text that will be used for the log message if * the nMsg parameter is 0xFFFFFFFF. * args - [in] The list of variable arguments that will be substituted into * the log message by the log system using sprintf * Returns: * HXR_OK - if success * HXR_FAIL - Log system is not properly initialized. */ STDMETHOD(LogMessage) (THIS_ const char* /*IN*/ szNamespace, EHXTLogCode /*IN*/ nLogCode, EHXTLogFuncArea /*IN*/ nFuncArea, UINT32 /*IN*/ nMsg, const char* /*IN*/ szMsg, va_list /*IN*/ args) PURE;};HXT_MAKE_SMART_PTR(IHXTInternalLogWriter)/**************************************************************************** * * Interface: * * IHXTLogSystem * * Purpose: * Provides access to the areas of the log system * * IID_IHXTLogSystem: * * // {E50F7E51-4640-11d5-935B-00D0B749DE42} * */DEFINE_GUID(IID_IHXTLogSystem, 0xe50f7e51, 0x4640, 0x11d5, 0x93, 0x5b, 0x0, 0xd0, 0xb7, 0x49, 0xde, 0x42);#undef INTERFACE#define INTERFACE IHXTLogSystemDECLARE_INTERFACE_(IHXTLogSystem, IUnknown){ /* * IUnknown methods */ STDMETHOD(QueryInterface) (THIS_ REFIID riid, void** ppvObj) PURE; STDMETHOD_(ULONG32,AddRef) (THIS) PURE; STDMETHOD_(ULONG32,Release) (THIS) PURE; /************************************************************************ * Method: * IHXTLogSystem::Shutdown * Purpose: * Properly shuts down the log system. * Parameters: * None. * Returns: * HXR_OK - If success. * HXR_FAIL - Log system could not shutdown properly. * Notes: * Under Windows, this method should not be called from within DllMain(). */ STDMETHOD(Shutdown) (THIS) PURE; /************************************************************************ * Method: * IHXTLogSystem::SetTranslationFileDirectory * Purpose: * Sets the translation file directory for the log system. * Parameters: * szTranslationFileDir - [in] Location of all log system translation files. These * files will be used to translate message numbers into text strings. * Returns: * HXR_OK - If success. * HXR_FAIL - Translation file directory already set. */ STDMETHOD(SetTranslationFileDirectory) (THIS_ const char* szTranslationFileDir) PURE; /************************************************************************ * Method: * IHXTLogSystem::GetWriterInterface * Purpose: * Retrieves an interface to the log writer, used to send messages * into the log system. * Parameters: * ppIWriter - [out] Address of output variable that receives * the log writer interface pointer. * Returns: * HXR_OK - If success. * HXR_FAIL - Log system not properly initialized. */ STDMETHOD(GetWriterInterface) (THIS_ IHXTLogWriter** /*OUT*/ ppIWriter) PURE; /************************************************************************ * Method: * IHXTLogSystem::GetObserverManagerInterface * Purpose: * Retrieves an interface to the observer manager, used to subscribe, * manage, and unsubscribe listening observer which receive log messages. * Parameters: * ppILogObserverManager - [out] Address of output variable that receives * the observer manager interface pointer. * Returns: * HXR_OK - If success. * HXR_FAIL - Log system not properly initialized. */ STDMETHOD(GetObserverManagerInterface)(THIS_ IHXTLogObserverManager** /*OUT*/ ppILogObserverManager) PURE; /************************************************************************ * Method: * IHXTLogSystem::GetFunctionalAreaEnumerator * Purpose: * Retrieves an interface to an enumerator which will enumerate through * all functional areas in all namespaces in the specified language * loaded on log system initialization. * Parameters: * pIEnum - [out] Address of output variable that receives * the enumerator interface pointer. * szLanguage - [in] The language of the functional areas to be enumerated. * Returns: * HXR_OK - If success. * HXR_FAIL - Log system not properly initialized. */ STDMETHOD(GetFunctionalAreaEnumerator) ( IHXTFuncAreaEnum** /*OUT*/ pIEnum, const char* /*IN*/ szLanguage) PURE;};/**************************************************************************** * Function: * RMAGetLogSystemInterface * Purpose: * Obtains an interface pointer to the log system. If the log system has not * yet been created, it is created and initialized. */typedef HX_RESULT (STDAPICALLTYPE *FPRMAGETLOGSYSTEMINTERFACE)(IHXTLogSystem** ppLogSystem);HXT_MAKE_SMART_PTR(IHXTLogSystem)#endif /* #ifndef IHXTLOGSYSTEM_H */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -