home *** CD-ROM | disk | FTP | other *** search
/ io Programmo 40 / IOPROG_40.ISO / SOFT / NETFrameworkSDK.exe / comsdk.cab / corsvc.idl < prev    next >
Encoding:
Text File  |  2000-06-23  |  3.1 KB  |  101 lines

  1. /* -------------------------------------------------------------------------- *
  2.  * Universal Runtime Service interface(s)
  3.  * (C) 1998 Microsoft
  4.  * -------------------------------------------------------------------------- */
  5.  
  6. cpp_quote("#if 0")  // So that the outputted header file doesn't cause redefines
  7.  
  8. #ifdef _WIN64
  9. import "unknwn.idl";
  10. #else
  11. #include "basetsd.h"
  12. #ifndef DO_NO_IMPORTS
  13. import "wtypes.idl";
  14. import "unknwn.idl";
  15. #endif
  16. #endif
  17.  
  18. cpp_quote("#endif")
  19.  
  20. /* -------------------------------------------------------------------------- *
  21.  * Forward declarations
  22.  * -------------------------------------------------------------------------- */
  23.  
  24. interface ICORSvcDbgInfo;
  25. interface ICORSvcDbgNotify;
  26.  
  27. /* -------------------------------------------------------------------------- *
  28.  * URT Service Information interface for Debuggers
  29.  * -------------------------------------------------------------------------- */
  30.  
  31. [
  32.     object,
  33.     uuid(B4BCA369-27F4-4f1b-A024-B0264117FE53),
  34.     pointer_default(unique),
  35. ]
  36. interface ICORSvcDbgInfo : IUnknown
  37. {
  38.     /*
  39.      * RequestAppDomainCreationNotification will tell the URT Service that
  40.      * the client (likely a debugger) would like notification when an
  41.      * AppDomain is created within a specific target process.
  42.      */
  43.     HRESULT RequestRuntimeStartupNotification(
  44.         [in] UINT_PTR procId,
  45.         [in] ICORSvcDbgNotify *pINotify);
  46. };
  47.  
  48. /* -------------------------------------------------------------------------- *
  49.  * URT Service Notification interface for Debuggers
  50.  * -------------------------------------------------------------------------- */
  51. [
  52.     object,
  53.     uuid(34C71F55-F3D8-4ACF-84F4-4E86BBD5AEBC),
  54.     pointer_default(unique),
  55. ]
  56. interface ICORSvcDbgNotify : IUnknown
  57. {
  58.     /*
  59.      * NotifyRuntimeStartup will be called on the interface provided by a
  60.      * call to RequestRuntimeStartupNotification.  The runtime will not
  61.      * continue until the call to NotifyRuntimeStartup returns.
  62.      */
  63.     HRESULT NotifyRuntimeStartup(
  64.         [in] UINT_PTR procId);
  65.  
  66.     /*
  67.      * NotifyServiceStopped lets those who have requested events know that the
  68.      * service is being stopped, so they will not get their requested
  69.      * notifications.  Calls on this method should not take long - if any great
  70.      * amount of work must be done, spin up a new thread to do it and let this
  71.      * one return.
  72.      */
  73.     HRESULT NotifyServiceStopped();
  74. };
  75.  
  76. /* -------------------------------------------------------------------------- *
  77.  * Library definition
  78.  * -------------------------------------------------------------------------- */
  79.  
  80. [
  81.     uuid(BDAD03B5-018F-4c99-9D0C-546B38E7B3B3),
  82.     version(1.0),
  83.     helpstring("Com+ URT Service")
  84. ]
  85. library CORSvcLib
  86. {
  87.     importlib("stdole32.tlb");
  88.  
  89.     /* -------------------------------------------------------------------------- *
  90.      * URT Service Object Implementation
  91.      * -------------------------------------------------------------------------- */
  92.     [
  93.         uuid(20BC1828-06F0-11d2-8CF4-00A0C9B0A063)
  94.     ]
  95.     coclass CORSvc
  96.     {
  97.         interface ICORSvcDbgInfo;
  98.         interface ICORSvcDbgNotify;
  99.     };
  100. };
  101.