Есть у меня 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")
ни к чему не приводит