Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

180 lines
4.7 KiB

  1. //+---------------------------------------------------------------------------
  2. //
  3. // Copyright 1995 - 1997 Microsoft Corporation. All Rights Reserved.
  4. //
  5. // Contents: Cb32 Protocol Core
  6. //
  7. //----------------------------------------------------------------------------
  8. cpp_quote("//+-------------------------------------------------------------------------")
  9. cpp_quote("//")
  10. cpp_quote("// Microsoft Windows")
  11. cpp_quote("// Copyright 1995-1997 Microsoft Corporation. All Rights Reserved.")
  12. cpp_quote("//")
  13. cpp_quote("// File: icbcore.h")
  14. cpp_quote("//")
  15. cpp_quote("//--------------------------------------------------------------------------")
  16. import "objidl.idl";
  17. import "oleidl.idl";
  18. import "oaidl.idl";
  19. import "imsconf2.idl";
  20. interface ICb32Core;
  21. interface ICb32CoreNotify;
  22. cpp_quote("")
  23. cpp_quote("////////////////////////////////////////////////////////////////////////////")
  24. cpp_quote("//")
  25. cpp_quote("// Constants")
  26. cpp_quote("enum {")
  27. cpp_quote(" CB32OP_CLOSEAPP = 0,")
  28. cpp_quote(" CB32OP_SHOWUI = 1")
  29. cpp_quote("};")
  30. cpp_quote("")
  31. cpp_quote("")
  32. cpp_quote("////////////////////////////////////////////////////////////////////////////")
  33. cpp_quote("// Return Codes")
  34. cpp_quote("")
  35. cpp_quote("#define NMCB_S(e) (0x01000300UL | (ULONG) (e))")
  36. cpp_quote("#define NMCB_E(e) (0x81000300UL | (ULONG) (e))")
  37. cpp_quote("")
  38. cpp_quote("enum {")
  39. cpp_quote("")
  40. cpp_quote("// Cb32core specific return codes")
  41. cpp_quote("//")
  42. cpp_quote(" NMCB_S_CANTSENDYET = NMCB_S((ULONG) 0x0001),")
  43. cpp_quote(" NMCB_S_CLOSEAPP = NMCB_S((ULONG) 0x0002),")
  44. cpp_quote(" NMCB_S_LASTCODE = NMCB_E((ULONG) 0x00FF)")
  45. cpp_quote("};")
  46. cpp_quote("")
  47. cpp_quote("enum {")
  48. cpp_quote("")
  49. cpp_quote("// Cb32core specific error return codes")
  50. cpp_quote("//")
  51. cpp_quote(" NMCB_E_NOTINITIALIZED = NMCB_E((ULONG) 0x0001),")
  52. cpp_quote(" NMCB_E_NOTCHATTING = NMCB_E((ULONG) 0x0002),")
  53. cpp_quote(" NMCB_E_UNKNOWNSENDER = NMCB_E((ULONG) 0x0003),")
  54. cpp_quote(" NMCB_E_PARTIALMSG = NMCB_E((ULONG) 0x0004),")
  55. cpp_quote(" NMCB_E_CANTWHISPER = NMCB_E((ULONG) 0x0005),")
  56. cpp_quote(" NMCB_E_CANTWHISPERNM1 = NMCB_E((ULONG) 0x0006),")
  57. cpp_quote(" NMCB_E_LASTCODE = NMCB_E((ULONG) 0x00FF)")
  58. cpp_quote("};")
  59. cpp_quote("")
  60. //////////////////////////////////////////////////////////////////////////////////
  61. // GUID usage:
  62. // {C7047720-CABE-11d0-A041-444553540000}-{C704772F-CABE-11d0-A041-444553540000}
  63. cpp_quote("")
  64. cpp_quote("////////////////////////////////////////////////////////////////////////////")
  65. cpp_quote("// Interface Definitions")
  66. //--------------------------------------------------------------------------
  67. // ICb32Core Interface
  68. [
  69. object,
  70. uuid(C7047721-CABE-11d0-A041-444553540000),
  71. pointer_default(unique)
  72. ]
  73. interface ICb32Core : IUnknown
  74. {
  75. typedef [unique] ICb32Core *LPCB32CORE;
  76. HRESULT Init( [in] TCHAR *pszCommandLine );
  77. HRESULT SetNotify( [in] IUnknown *pNotify );
  78. HRESULT StartChat( [in] HWND hMainWnd,
  79. [out] INmSysInfo **ppSysInfo );
  80. HRESULT DeInit( void );
  81. HRESULT SendMessageData( [in] INmMember *pMember,
  82. [in] ULONG uBuffer,
  83. [in, size_is(uBuffer)] byte *pBuffer,
  84. [in] ULONG uCChatBuffer,
  85. [in, size_is(uCChatBuffer)] byte *pCChatBuffer );
  86. HRESULT OnIdle( void );
  87. }
  88. //--------------------------------------------------------------------------
  89. // ICb32CoreNotify Interface
  90. [
  91. object,
  92. uuid(C7047722-CABE-11d0-A041-444553540000),
  93. pointer_default(unique)
  94. ]
  95. interface ICb32CoreNotify : IUnknown
  96. {
  97. typedef [unique] ICb32CoreNotify *LPCB32CORENOTIFY;
  98. HRESULT ChatStatus( [in] BOOL bInProgress );
  99. HRESULT ReceivedMessage( [in] BOOL bEcho,
  100. [in] TCHAR *pszMemberName,
  101. [in] INmMember *pMember,
  102. [in] TCHAR *pszWhisperedToName,
  103. [in] INmMember *pWhisperedTo,
  104. [in] ULONG uBuffer,
  105. [in, size_is(uBuffer)] byte *pBuffer,
  106. [in] ULONG uCChatBuffer,
  107. [in, size_is(uCChatBuffer)] byte *pCChatBuffer,
  108. [in] HRESULT hr );
  109. HRESULT MemberJoinedConference( [in] INmMember *pMember,
  110. [in] HRESULT hr );
  111. HRESULT MemberLeftConference( [in] INmMember *pMember );
  112. HRESULT MemberJoinedChat( [in] INmMember *pMember );
  113. HRESULT MemberLeftChat( [in] INmMember *pMember );
  114. HRESULT SpecialOps( [in] DWORD dwSpecial );
  115. }
  116. [
  117. uuid(C704772F-CABE-11d0-A041-444553540000),
  118. version(1.0),
  119. helpstring("Cb32Core Type Library")
  120. ]
  121. library Cb32Core
  122. {
  123. [
  124. uuid(C7047720-CABE-11d0-A041-444553540000),
  125. helpstring("Cb32 Protocol Core ")
  126. ]
  127. coclass Cb32Core
  128. {
  129. [default] interface ICb32Core;
  130. };
  131. };