hr = CoCreateInstance( __uuidof(SoftUSBHub),
NULL,
CLSCTX_INPROC_SERVER,
__uuidof(ISoftUSBHub),
reinterpret_cast<void**>(&piSoftUSBHub) );
返回值0x80040154
SoftUSBHub = {4195454B-4ACE-44CD-B4B9-30CEE8D8951B}
ISoftUSBHub = {0442B742-2BD3-4B07-99D8-65B6395BCDB0}
这2个CLSID注册表中都有,但是我不能确定这2个注册表项是正确的
还有在baidu上看到有人说这和注册类是否支持CLSCTX_INPROC_SERVER方式有关
真是万事开头难( ⊙ o ⊙ )!
10 个解决方案
#1
你的线程是STA还是MTA?
#2
版主你好,我这个是win32控制台程序,没有使用线程,怎么选STA/MTA,我用的是VS2008
至于STA/MTA,我看到.NET这2种模式,COM的使用和.NET有关么
我又看了下注册表:{4195454B-4ACE-44CD-B4B9-30CEE8D8951B}(SoftUSBHub)是在HKEY_CLASSES_ROOT\CLSID下,{0442B742-2BD3-4B07-99D8-65B6395BCDB0}(ISoftUSBHub)在HKEY_CLASSES_ROOT\interface下,这个有影响么,而且他们下面都没有InProcServer32项
要使用ATL么
完蛋了现在又变成"0x80070002系统找不到指定的文件"
#3
若没有使用线程相关的东西话,首先检测下是否正确注册,
重新注册下该组件。
若上述没有问题且仍存在你所述问题,看下是否支持CLSCTX_INPROC_SERVER,可能该组件不支持以这种方式创建。
重新注册下该组件。
若上述没有问题且仍存在你所述问题,看下是否支持CLSCTX_INPROC_SERVER,可能该组件不支持以这种方式创建。
#4
注册表HKEY_CLASSES_ROOT\CLSID下有{4195454B-4ACE-44CD-B4B9-30CEE8D8951B}SoftUSBHub
注册表HKEY_CLASSES_ROOT\interface下有{0442B742-2BD3-4B07-99D8-65B6395BCDB0}ISoftUSBHub
hr = CoCreateInstance( __uuidof(SoftUSBHub),
NULL,
CLSCTX_INPROC_SERVER,
__uuidof(ISoftUSBHub),
reinterpret_cast<void**>(&piSoftUSBHub) );
返回值0x80040154 没有注册类别
#5
使用regsvr32 xxx.dll注册一下
#6
你用的是托管的??
#7
应该不是注册的问题了,现在问题是"0x80070002系统找不到指定的文件".我的目的是使用DSF架构来实现虚拟USB设备,我跑了一下微软提供的Create1.1Kbd.wsf文件(cscript.exe Create1.1Kbd.wsf)命令行提示:C:\Program Files\dsf\GenericHID\TestGenericHid.wsf(53, 16) (null): 系统找不到指定的文件。
53:Dim DSF : Set DSF = CreateObject("DSF.DSF")
这里的DSF和前面的SoftUSBHub以及ISoftUSBHub类似.抓狂了啊
53:Dim DSF : Set DSF = CreateObject("DSF.DSF")
这里的DSF和前面的SoftUSBHub以及ISoftUSBHub类似.抓狂了啊
#8
我建的是控制台程序,应该不是托管的吧?
#9
你要注册的那个dll是不是托管地?
#10
这个我就不晓得了,SoftUSBHub和ISoftUSBHub应该都是WDK注册的
#1
你的线程是STA还是MTA?
#2
版主你好,我这个是win32控制台程序,没有使用线程,怎么选STA/MTA,我用的是VS2008
至于STA/MTA,我看到.NET这2种模式,COM的使用和.NET有关么
我又看了下注册表:{4195454B-4ACE-44CD-B4B9-30CEE8D8951B}(SoftUSBHub)是在HKEY_CLASSES_ROOT\CLSID下,{0442B742-2BD3-4B07-99D8-65B6395BCDB0}(ISoftUSBHub)在HKEY_CLASSES_ROOT\interface下,这个有影响么,而且他们下面都没有InProcServer32项
要使用ATL么
完蛋了现在又变成"0x80070002系统找不到指定的文件"
#3
若没有使用线程相关的东西话,首先检测下是否正确注册,
重新注册下该组件。
若上述没有问题且仍存在你所述问题,看下是否支持CLSCTX_INPROC_SERVER,可能该组件不支持以这种方式创建。
重新注册下该组件。
若上述没有问题且仍存在你所述问题,看下是否支持CLSCTX_INPROC_SERVER,可能该组件不支持以这种方式创建。
#4
注册表HKEY_CLASSES_ROOT\CLSID下有{4195454B-4ACE-44CD-B4B9-30CEE8D8951B}SoftUSBHub
注册表HKEY_CLASSES_ROOT\interface下有{0442B742-2BD3-4B07-99D8-65B6395BCDB0}ISoftUSBHub
hr = CoCreateInstance( __uuidof(SoftUSBHub),
NULL,
CLSCTX_INPROC_SERVER,
__uuidof(ISoftUSBHub),
reinterpret_cast<void**>(&piSoftUSBHub) );
返回值0x80040154 没有注册类别
#5
使用regsvr32 xxx.dll注册一下
#6
你用的是托管的??
#7
应该不是注册的问题了,现在问题是"0x80070002系统找不到指定的文件".我的目的是使用DSF架构来实现虚拟USB设备,我跑了一下微软提供的Create1.1Kbd.wsf文件(cscript.exe Create1.1Kbd.wsf)命令行提示:C:\Program Files\dsf\GenericHID\TestGenericHid.wsf(53, 16) (null): 系统找不到指定的文件。
53:Dim DSF : Set DSF = CreateObject("DSF.DSF")
这里的DSF和前面的SoftUSBHub以及ISoftUSBHub类似.抓狂了啊
53:Dim DSF : Set DSF = CreateObject("DSF.DSF")
这里的DSF和前面的SoftUSBHub以及ISoftUSBHub类似.抓狂了啊
#8
我建的是控制台程序,应该不是托管的吧?
#9
你要注册的那个dll是不是托管地?
#10
这个我就不晓得了,SoftUSBHub和ISoftUSBHub应该都是WDK注册的