You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

FileOpenPicker触发事件引发RPC_E_CANTCALLOUT_ININPUTSYNCCALL错误求解

问题场景与报错说明

调用FileOpenPicker::PickSingleFileAsync时会触发Window.Activated事件,若在该事件的处理程序中调用LowLagMediaRecording::StartAsync或LowLagMediaRecording::FinishAsync,会触发如下错误:

0x8001010D : 'An outgoing call cannot be made since the application is dispatching an input-synchronous call.'
该错误对应COM错误码RPC_E_CANTCALLOUT_ININPUTSYNCCALL。

已有解决方案

目前可行的解决思路是避免在PickSingleFileAsync执行期间的事件处理逻辑中调用LowLagMediaRecording的异步方法,调整调用顺序如下:

LowLagMediaRecording::FinishAsync();
auto async = FileOpenPicker::PickSingleFileAsync();
// 不在PickSingleFileAsync执行期间的事件处理程序中调用LowLagMediaRecording方法
auto file = co_await async;
LowLagMediaRecording::StartAsync()
问题本质与待探索方案

目前尚未完全理解该问题的底层本质,推测与COM线程模型、输入同步调用期间的调用限制有关,可能存在其他更优的解决方案有待探索。

内容的提问来源于stack exchange,提问作者Tom Huntington

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 15:57:26