IVsCommonMessagePump 接口
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
允许用户在后台处理过程中保持 Visual Studio 的响应能力。 可以通过服务获取接口 SVsCommonMessagePumpFactory 。
public interface class IVsCommonMessagePump
public interface class IVsCommonMessagePump
__interface IVsCommonMessagePump
public interface IVsCommonMessagePump
type IVsCommonMessagePump = interface
Public Interface IVsCommonMessagePump
- 派生
注解
在主线程上进行长时间处理或等待对象 ((例如,事件、mutex、信号灯等) 信号)时,接口提供了一种通用的方法来保持 Visual Studio 的响应能力。 如果使用此接口,则不会解决由于发送窗口消息而导致的与重新进入有关的所有问题,而是在主 VS 线程上执行其他一些处理。 这将允许对 windows 消息进行统一处理以及热键等操作的正确处理。 使用此接口可以实现故障排除机制,以检测与重入相关的问题。
方法
| EnableRealProgress(Boolean) |
启用 (或禁用) 基于百分比的进度控件。 |
| ModalWaitForObjects(IntPtr[], UInt32, UInt32) |
使用此方法等待对象发出信号,以便 (一些后台处理) ,同时保持与响应性。 |
| ModalWaitForObjectsWithClient(IntPtr[], UInt32, IVsCommonMessagePumpClientEvents) |
此方法的行为与非常类似 ModalWaitForObjects(IntPtr[], UInt32, UInt32) 。 此外,它还允许提供自定义等待和事件处理逻辑。 方法使 VS 模式实现 VS 模式,并在等待大约2秒后自动提供默认等待 UI。 |
| SetAllowCancel(Boolean) |
指定 "等待" 对话框是否应显示 "取消" 按钮。 |
| SetProgressInfo(Int32, Int32, String) |
指定等待对话框的进度信息。 |
| SetStatusBarText(String) |
指定要在状态栏上使用的文本。 |
| SetTimeout(UInt32) |
指定等待对象信号所用的最长时间 (以毫秒为单位) 。 |
| SetWaitText(String) |
指定用于解释等待原因的默认等待 UI 的文本。 |
| SetWaitTitle(String) |
指定等待对话框的标题。 |