如何在带有MIDL的头文件中添加CLSID和IID?

时间:2019-05-15 07:28:52

标签: windows visual-studio visual-c++ com midl

这是一个测试IDL文件:

import "unknwn.idl";

[uuid(f531223f-43bb-49d4-80fc-30ceb5f4f990)]
coclass test
{
    interface Itest;
}

[uuid(deb8730f-f811-4cb3-bd8f-b1601926bd48)]
interface Itest : IUnknown
{
    HRESULT function(int var);
};

当我运行midl test.idl命令时,它不会在test.h头文件中添加CLSID。但是mingw-w64的WIDL(来自wine项目)在头文件中都添加了CLSID和IID。

在使用库属性后:

import "unknwn.idl";

[uuid(82c87f04-887a-41b2-9c2d-0f3a6a973efd)]
library testLib
{
    [uuid(f531223f-43bb-49d4-80fc-30ceb5f4f990)]
    coclass test
    {
        interface Itest;
    }
};

[uuid(deb8730f-f811-4cb3-bd8f-b1601926bd48)]
interface Itest : IUnknown
{
    HRESULT function(int var);
};

那些GUID包含在C ++和EXTERN_C中。并在单独的C文件中提到,但在头文件中没有提及。

如何使用MIDL进行相同操作?还是我在IDL文件中做错了什么?

0 个答案:

没有答案