如何使用CLSID值和C++头文件来打开带有CyType的库?

2024-10-01 17:38:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个SDK,我应该使用。此SDK不记录要使用的具体dll文件。C头文件包含一个类ID。还有接口和类声明。这些可以用作导出函数的参数,也可以用作返回值。在

示例声明:

const CLSID CLSID_Core2 = {0x1111111D,0x111D,0x99bc,{0x99,0x99,0x99,0x99,0x99,0x99,0xff,0xaa}};

在C程序中,它是这样使用的:

^{pr2}$

CComPtr和ICatalog类在其他地方定义。CComPtr内置于windows(https://msdn.microsoft.com/hu-hu/library/ezzw7k98.aspx),但ICatalog是在SDK的头文件中定义的。SDK包含许多带有接口和类id的头文件,但它不包含任何实现(C或CPP文件)。在

我有没有可能使用这些头文件并使用Python安装的SDK?在


Tags: 文件函数id声明参数定义头文件记录
2条回答

您必须使用支持iunkown*(或“早期绑定”)接口的comtypes包:http://pythonhosted.org/comtypes/,这与只支持IDispatch*(或“后期绑定”)接口的pywin32相反。在

注意:CComPtr不是内置到Windows中的,它是visualstudiovc++文件提供的一个助手类。在

不需要使用CLSID来创建对象。只需使用人类可读的ProgID来创建对象。在

AFAIK Phython使用后期绑定(IDispatch interface),因此这里不需要接口定义。在

相关问题 更多 >

    热门问题