Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Atl

3.2K
12 февраля 2005 года
Unregistered
26 / / 22.08.2004
Помогите, пожалуйста, решить такую непонятную проблемку.

Следующий фрагмент кода компилируется без ошибок:

[ object,
uuid(706DD59C-C668-48D3-ADB9-D873E730919E),
helpstring("..."),
pointer_default(unique)
]
__interface IFirst : IUnknown
{
. . .

HRESULT Update([in] RECT rectUpdate) ;

. . .
};



А вот этот:

[ object,
uuid(706DD59C-C668-48D3-ADB9-D873E730919F),
helpstring("..."),
pointer_default(unique)
]
__interface ISecond : IUnknown
{
. . .

HRESULT Update([in] SERVICE_STATUS sStat) ;

. . .
};


при компиляции требует спецификацию типа SERVICE_STATUS.

Я не могу понять в чем тут дело, так как эти структуры объявлены одним и тем же способом:


typedef struct tagRECT
{
LONG left;
LONG top;
LONG right;
LONG bottom;
} RECT;




typedef struct _SERVICE_STATUS {
DWORD dwServiceType;
DWORD dwCurrentState;
DWORD dwControlsAccepted;
DWORD dwWin32ExitCode;
DWORD dwServiceSpecificExitCode;
DWORD dwCheckPoint;
DWORD dwWaitHint;
} SERVICE_STATUS, *LPSERVICE_STATUS;


:???:

Поможите, кто чем сможет... plЫz!
368
12 февраля 2005 года
rostyslav
629 / / 13.07.2004
А ты подключил winsvc.h?
3.2K
12 февраля 2005 года
Unregistered
26 / / 22.08.2004
Цитата:
Originally posted by rostyslav
А ты подключил winsvc.h?



Да, но это ичего не меняет :( ...

Вообще проблема шире...

Если я в том же файле, объявляю структуру, то проект компилируется только в том случае, если перед ней стоит аттрибут [export]...
Но в тоже время, при использовании RECT, которая объявлена без этого аттрибута все ОК :???: :???:
И так же во многих примерах из MSDN используются структуры объявленные без этого аттрибута все тоже ОК...

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог