Есть у меня dll-лина в которой находятся CLSID нескольких классов. Я ее импртирую директивой #import но при етом возникает следующая проблема: в етой же dll-лине есть обьявление структуры вида
struct _FW_CONNECTION_INFO
{
unsigned long m_ConnId;
int m_Proto;
int m_State;
unsigned long m_AddrFrom;
unsigned short m_PortFrom;
unsigned long m_AddrTo;
unsigned short m_PortTo;
LARGE_INTEGER m_CreationTime; // обратите внимание на эту строчку!!!!!!
unsigned __int64 m_BytesSent;
unsigned __int64 m_BytesRecieved;
char m_szAppName[500];
}
а после выполнения директивы я получаю *.tlh-файл, в котором данное обьявление уже выглядит следующим образом:
struct _FW_CONNECTION_INFO
{
unsigned long m_ConnId;
int m_Proto;
int m_State;
unsigned long m_AddrFrom;
unsigned short m_PortFrom;
unsigned long m_AddrTo;
unsigned short m_PortTo;
struct _LARGE_INTEGER m_CreationTime;// та самая строка, но в новом лице
unsigned __int64 m_BytesSent;
unsigned __int64 m_BytesRecieved;
char m_szAppName[500];
}
после чего получаю ошибку
error C2011: '_LARGE_INTEGER' : 'union' type redefinition
Кто знает как побороть такую гадость?
Причем скажу сразу, что добавление инструкции
rename("_LARGE_INTEGER","LARGE_INTEGER")
или
rename("struct _LARGEINTEGER","LARGE_INTEGER")
ни к чему не приводит