//FIX ME!!! This is a hack due to Win8:235420

        private void PassThroughLine(DEBUG_OUTPUT Mask, string line, bool textIsDml, DEBUG_OUTCBF dmlFlags)
        {
            if (ReEnter == false)
            {
                ReEnter = true;
                DEBUG_OUTCTL outctl;


                if (PassthroughUtilities.IsFirstCommand)
                {
                    outctl = DEBUG_OUTCTL.ALL_CLIENTS;
                }
                else
                {
                    outctl = DEBUG_OUTCTL.THIS_CLIENT | DEBUG_OUTCTL.NOT_LOGGED;
                }

                if (textIsDml)
                {
                    outctl |= DEBUG_OUTCTL.DML;
                }
                if (Mask.HasFlag(DEBUG_OUTPUT.ADDR_TRANSLATE) && (Mask.HasFlag(DEBUG_OUTPUT.NORMAL | DEBUG_OUTPUT.ERROR | DEBUG_OUTPUT.WARNING | DEBUG_OUTPUT.VERBOSE) == false))
                {
                    Mask = Mask | DEBUG_OUTPUT.NORMAL;
                }
                try
                {
                    PreviousMask = Mask;
                    if (InstalledThreadId == Thread.CurrentThread.ManagedThreadId)
                    {
                        PassthroughUtilities.DebugClient.FlushCallbacks();
                        PassthroughUtilities.OutputMaskRestore();
                        PassthroughUtilities.ControlledOutputWide(outctl, Mask, line);
                        PassthroughUtilities.OutputMaskDisableAll();
                    }
                    else
                    {
                        BufferedOutput.Add(new BufferLine(outctl, Mask, line));
                    }
                }
                catch
                {
                    DebugUtilities.CoUninitialize();
                    if (InstalledThreadId == Thread.CurrentThread.ManagedThreadId)
                    {
                        PassthroughUtilities.OutputMaskRestore();
                        PassthroughUtilities.ControlledOutputWide(outctl, Mask, line);
                        PassthroughUtilities.OutputMaskDisableAll();
                    }
                    else
                    {
                        BufferedOutput.Add(new BufferLine(outctl, Mask, line));
                    }
                }

                ReEnter = false;
            }
        }
        //FIX ME!!! This is a hack due to Win8:235420

        private void PassThroughLine(CallbackData cbd)
        {
            if (string.IsNullOrEmpty(cbd.Data?.ToString()))
            {
                return;
            }
            if (_reEnter == false)
            {
                _reEnter = true;

                if (cbd.Mask.HasFlag(DEBUG_OUTPUT.ADDR_TRANSLATE) && cbd.Mask.HasFlag(DEBUG_OUTPUT.NORMAL | DEBUG_OUTPUT.ERROR | DEBUG_OUTPUT.WARNING | DEBUG_OUTPUT.VERBOSE) == false)
                {
                    cbd.Mask = cbd.Mask | DEBUG_OUTPUT.NORMAL;
                }
                try
                {
                    if (_installedThreadId == Thread.CurrentThread.ManagedThreadId)
                    {
                        foreach (var bufferLine in _bufferedOutput)
                        {
                            bufferLine.Data.Insert(0, "BUFFERED ");
                            bufferLine.OutputLineMaskDisabled(_passthroughUtilities);
                        }
                        _bufferedOutput.Clear();
                        cbd.OutputLineMaskDisabled(_passthroughUtilities);
                    }
                    else
                    {
                        _bufferedOutput.Add(cbd);
                    }
                }
                catch
                {
                    DebugUtilities.CoUninitialize();
                    if (_installedThreadId == Thread.CurrentThread.ManagedThreadId)
                    {
                        cbd.OutputLineMaskDisabled(_passthroughUtilities);
                    }
                    else
                    {
                        _bufferedOutput.Add(cbd);
                    }
                }

                _reEnter = false;
            }
        }