コード例 #1
0
ファイル: AD7Port.cs プロジェクト: optikos/MIEngine
        public int EnumProcesses(out IEnumDebugProcesses2 processEnum)
        {
            IDebugProcess2[] processes = EnumProcessesInternal();
            processEnum = new AD7ProcessEnum(processes);

            return(HR.S_OK);
        }
コード例 #2
0
        public int EnumProcesses(out IEnumDebugProcesses2 processEnum)
        {
            IEnumDebugProcesses2 result = null;
            var connection = GetConnection(ConnectionReason.Deferred);

            if (connection == null)
            {
                processEnum = null;
                return(HR.E_REMOTE_CONNECT_USER_CANCELED);
            }

            VS.VSOperationWaiter.Wait(StringResources.WaitingOp_ExecutingPS, throwOnCancel: true, action: () =>
            {
                List <PSOutputParser.Process> processList = connection.ListProcesses();
                IDebugProcess2[] processes = processList.Select((proc) => new AD7Process(this, proc)).ToArray();
                result = new AD7ProcessEnum(processes);
            });

            processEnum = result;
            return(HR.S_OK);
        }
コード例 #3
0
ファイル: AD7Port.cs プロジェクト: Trass3r/MIEngine
        public int EnumProcesses(out IEnumDebugProcesses2 processEnum)
        {
            IEnumDebugProcesses2 result = null;
            var connection = GetConnection();

            if (connection == null)
            {
                // Don't return a failure to prevent vsdebug.dll from showing an error message
                processEnum = new AD7ProcessEnum(Array.Empty <IDebugProcess2>());
                return(HR.S_OK);
            }

            VS.VSOperationWaiter.Wait(StringResources.WaitingOp_ExecutingPS, throwOnCancel: true, action: (cancellationToken) =>
            {
                List <Process> processList = connection.ListProcesses();
                IDebugProcess2[] processes = processList.Select((proc) => new AD7Process(this, proc)).ToArray();
                result = new AD7ProcessEnum(processes);
            });

            processEnum = result;
            return(HR.S_OK);
        }