Помогите разобраться с 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> };
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.