Как использовать в IDL структуры из .h файлов
От: Vi2 Удмуртия http://www.adem.ru
Дата: 09.07.04 14:56
Оценка: 11 (2)
#Имя: FAQ.com.import.sysheaders
А>Можно ли как-то использовать в IDL-никах струкутры из .h файлов?
А>проблема с window-ой структурой WAVEFORMAT котору хочеться поюзать как параметр интерефейса..

RB>Обычно наоборот, по idl генерируют "ашники"...


А>В том то и беда что WAVEFORMAT структура и соотв. mmreg.h существовал задолго до COM-а.

А>Поэтому MS оставило просто "все как есть". Вопрос всетаки открытый...

Посмотри в Importing System Header Files

Importing System Header Files

While it is often possible to use the #include directive to include header files in your IDL file, it is not recommended. The MIDL compiler will generate stubs for all functions defined in the IDL file being compiled. Usually a header file contains a number of prototypes that you neither need nor want to include in your stub files, and a #include effectively puts all those definitions into your main IDL file. Furthermore, if there are nonremotable types defined in the header file, the IDL file may not compile.

There are two ways to include type definitions from header files in an IDL file:

  • Use the import directive to include data types defined in a header file. Unlike the C-language #include directive, the import directive only picks up type and constant definitions and ignores procedure prototypes. This approach will work as long as your main IDL file does not reference any nonremotable types defined in the header file.
  • Create a helper IDL file with a dummy interface that includes the header files. Then, use the import directive to include the helper file. In this way, only the typedefs will appear in the compiled stubs. For example:

    //in helper.idl:
    interface dummy
    { 
      #include "kitchensink.h"
      #include "system.h"
    }
    
    //in main.idl:
    import "helper.idl";

  • Vita
    Выше головы не прыгнешь, ниже земли не упадешь, дальше границы не убежишь! © КВН НГУ
    использовать в IDL структуры из .h файлов
    От: Аноним  
    Дата: 09.07.04 13:48
    Оценка:
    Здравствуйте!

    Можно ли как-то использовать в IDL-никах струкутры из .h файлов?
    проблема с window-ой структурой WAVEFORMAT котору хочеться поюзать как параметр интерефейса..

    p.s. почем MS не делает для _всех_ h-никоы своих (старых и новых) соответсвующий IDL?
    Re: использовать в IDL структуры из .h файлов
    От: rus blood Россия  
    Дата: 09.07.04 13:51
    Оценка:
    Здравствуйте, Аноним, Вы писали:

    А>p.s. почем MS не делает для _всех_ h-никоы своих (старых и новых) соответсвующий IDL?


    Обычно наоборот, по idl генерируют "ашники"...
    Имею скафандр — готов путешествовать!
    Re[2]: использовать в IDL структуры из .h файлов
    От: Аноним  
    Дата: 09.07.04 13:57
    Оценка:
    Здравствуйте, rus blood, Вы писали:

    RB>Здравствуйте, Аноним, Вы писали:


    А>>p.s. почем MS не делает для _всех_ h-никоы своих (старых и новых) соответсвующий IDL?


    RB>Обычно наоборот, по idl генерируют "ашники"...


    В том то и беда что WAVEFORMAT структура и соотв. mmreg.h существовал задолго до COM-а.
    Поэтому MS оставило просто "все как есть". Вопрос всетаки открытый...
     
    Подождите ...
    Wait...
    Пока на собственное сообщение не было ответов, его можно удалить.