////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
        ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
        ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

        public int GetHostName(enum_GETHOSTNAME_TYPE dwHostNameType, out string pbstrHostName)
        {
            //
            // Gets the name of the process hosting the program.
            //

            LoggingUtils.PrintFunction();

            try
            {
                if (dwHostNameType == enum_GETHOSTNAME_TYPE.GHN_FRIENDLY_NAME)
                {
                    LoggingUtils.RequireOk(DebugProcess.GetName(enum_GETNAME_TYPE.GN_MONIKERNAME, out pbstrHostName));
                }
                else if (dwHostNameType == enum_GETHOSTNAME_TYPE.GHN_FILE_NAME)
                {
                    LoggingUtils.RequireOk(DebugProcess.GetName(enum_GETNAME_TYPE.GN_FILENAME, out pbstrHostName));
                }
                else
                {
                    throw new NotImplementedException();
                }

                return(Constants.S_OK);
            }
            catch (Exception e)
            {
                LoggingUtils.HandleException(e);

                pbstrHostName = string.Empty;

                return(Constants.E_FAIL);
            }
        }
        ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
        ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
        ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

        public int GetProgramName(out string pbstrProgramName)
        {
            //
            // Gets the name of the program.
            //

            LoggingUtils.PrintFunction();

            try
            {
                LoggingUtils.RequireOk(DebugProcess.GetName(enum_GETNAME_TYPE.GN_NAME, out pbstrProgramName));

                return(Constants.S_OK);
            }
            catch (Exception e)
            {
                LoggingUtils.HandleException(e);

                pbstrProgramName = string.Empty;

                return(Constants.E_FAIL);
            }
        }