Как добавить CLSID и IID в заголовочный файл с MIDL? - PullRequest
0 голосов
/ 15 мая 2019

Вот тестовый файл 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, она не добавляет CLSID в заголовочный файл test.h. Но WIDL из mingw-w64 (производной от 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?

...