Помогите разобраться с IDL
От:
lya
Дата: 11.05.03 08:52
Оценка:
Я недавно начала разбираться с idl.
При описании интерфейса его методы в качестве типов параметров имеют CMediaType и IPin
при компиляции idl файла выходит ошибка:
syntax error : expecting a type specification near "CMediaType"
syntax error : expecting a type specification near "IPin"
Как мне это исправить ?
Re: Помогите разобраться с IDL
От:
ioni
Дата: 12.05.03 00:43
Оценка:
Здравствуйте, lya, Вы писали:
код в студию
Re[2]: Помогите разобраться с IDL
От:
lya
Дата: 12.05.03 06:13
Оценка:
Здравствуйте, ioni, Вы писали:
I>Здравствуйте, lya, Вы писали:
I>код в студию
Вот он.
import "oaidl.idl";
import "ocidl.idl";
[object,
uuid(65AB2A0A-F500-4ef1-B6A5-98C71E2C2F5B),
]
interface ISafe_rootIPP : IUnknown
{
HRESULT put_MediaType ([in] CMediaType *pmt);
HRESULT(get_MediaType) ([out] CMediaType **pmt);
HRESULT(get_IPin) ([out] IPin **pPin);
HRESULT(get_State) ([out] FILTER_STATE *state);
};
[
uuid(65AB2A0A-F500-4ef1-B6A5-98C71E2C2F5B),
version(1.0)
]
library Safe_rootTypeLib
{
importlib("stdole32.tlb");
[
uuid(FEF17761-3AED-4cdb-BF18-9A75EABD1125)
]
coclass CSafe_root
{
[default] interface ISafe_rootIPP;
};
};
Re[3]: Как сделать ActiveX DLL в .NET?
От:
trolik
Дата: 12.05.03 06:36
Оценка:
Здравствуйте, lya, Вы писали:
С первого взгляда видно что не описанны структуры CMediaType и другие.
lya>Вот он.
lya>import "oaidl.idl";
lya>import "ocidl.idl";
lya>[object,
lya> uuid(65AB2A0A-F500-4ef1-B6A5-98C71E2C2F5B),
lya>]
lya> interface ISafe_rootIPP : IUnknown
lya> {
lya> HRESULT put_MediaType ([in] CMediaType *pmt);
lya> HRESULT(get_MediaType) ([out] CMediaType **pmt);
lya> HRESULT(get_IPin) ([out] IPin **pPin);
lya> HRESULT(get_State) ([out] FILTER_STATE *state);
lya> };
lya> [
lya> uuid(65AB2A0A-F500-4ef1-B6A5-98C71E2C2F5B),
lya> version(1.0)
lya> ]
lya> library Safe_rootTypeLib
lya> {
lya> importlib("stdole32.tlb");
lya> [
lya> uuid(FEF17761-3AED-4cdb-BF18-9A75EABD1125)
lya> ]
lya> coclass CSafe_root
lya> {
lya> [default] interface ISafe_rootIPP;
lya> };
lya> };
Пока на собственное сообщение не было ответов, его можно удалить.
Удалить