从新线程

时间:2015-10-30 07:11:45

标签: c++ windows com

我有一个c ++ DLL,它使用IDispatch接口来调用第三方DLL上的方法。它可以工作,如果我从原始线程调用这些方法,但如果启动一个新线程(不是一个CoCreateInstance被调用),在它抛出0x800101E错误后调用该方法。我也在第二个线程上尝试了CoInitialize而没有成功。

1 个答案:

答案 0 :(得分:2)

错误0x8001010E是<span class="input-group-addon ndrftextwidth text-right" style="width:180px">Password :</span> <div ng-class="{ 'has-error': billdata.pass.$touched && billdata.pass.$invalid }"> <input type="{{inputType}}" name="pass" id="contactno" class="form-control" placeholder="password" ng-model="password" ng-minlength="8" ng-pattern="/^(?=.*[A-Z])(?=.*\d)(?=.*[a-z]).*_.*/" > </div> </div> <div class="help-block" ng-messages="billdata.pass.$error" ng-if="billdata.pass.$touched"> <p ng-message="minlength" style="color:#F00;">This field is too short.The min length of your password should be 8.</p> <p ng-message="pattern" style="color:#F00;">This field needs the special character like at least one number,upper case,lower case letter and underscore.</p> </div> &#34;应用程序称为为不同线程编组的接口。&#34;。

您正在破坏COM公寓规则,并且您正在尝试在不属于指针有效的公寓的线程上使用接口指针。要将接口指针传递给另一个公寓,请使用编组。

请参阅What is COM marshaling and how do I use it?CoMarshalInterThreadInterfaceInStream function以及此Understanding The COM Single-Threaded Apartment