IDLMULTI.H
上传用户:dzyhzl
上传日期:2019-04-29
资源大小:56270k
文件大小:2k
源码类别:

模拟服务器

开发平台:

C/C++

  1. //-----------------------------------------------------------------------------
  2. // File: IDLMULTI.H
  3. //
  4. // Copyright: Copyright (c) Microsoft Corporation          
  5. //
  6. // Contents:  preprocessor trickery to make our .idl/.tdl files compile
  7. // with MIDL or APBU Mktyplib.
  8. //
  9. // Comments: 
  10. //
  11. //-----------------------------------------------------------------------------
  12. #ifndef __IDLMULTI_H__
  13. #define __IDLMULTI_H__
  14. #define ENDCOCLASS  };
  15. #ifndef __MKTYPLIB__
  16. #define TYPEDEF(guid)   
  17. typedef
  18. #define LOCAL_INTERFACE(guid)       
  19. [                                   
  20.     local,                          
  21.     object,                         
  22.     uuid(guid),                     
  23.     pointer_default(unique)         
  24. ]
  25. #define REMOTED_INTERFACE(guid)     
  26. [                                   
  27.     object,                         
  28.     uuid(guid),                     
  29.     pointer_default(unique)         
  30. ]
  31. #define BEGINEVENTSET(es)   
  32. eventset es  
  33. {            
  34. #define ENDEVENTSET  };
  35. #define COCLASS(name, dispint, events)  
  36. cotype name                                                 
  37. {                                                           
  38.     dispinterface dispint;                                  
  39.     eventset events;
  40. #else // __MKTYPLIB__
  41. #define TYPEDEF(guid) typedef [uuid(guid)]
  42. #define cpp_quote(string)
  43. #define const
  44. #define LOCAL_INTERFACE(guid)    
  45. [                           
  46.     uuid(guid),             
  47.     odl                     
  48. ]
  49. #define REMOTED_INTERFACE(guid)    
  50. [                           
  51.     uuid(guid),             
  52.     odl                     
  53. ]
  54. #define BEGINEVENTSET(es)  
  55. dispinterface es           
  56. {                          
  57. properties:                
  58.                            
  59. methods:                   
  60. #define ENDEVENTSET  };
  61. #define COCLASS(name, dispint, events)                 
  62. coclass name                                                
  63. {                                                           
  64.     dispinterface dispint;                                  
  65.     [source,] dispinterface events;                         
  66. #endif  /// MKTYPLIB
  67. #endif  // __IDLMULTI_H__