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

模拟服务器

开发平台:

C/C++

  1. /********************************************************************
  2. created: 2003/03/19
  3. file base: IClient
  4. file ext: h
  5. author: liupeng
  6. purpose:
  7. *********************************************************************/
  8. #ifndef __INCLUDE_INTERFACE_ICLIENT_H__
  9. #define __INCLUDE_INTERFACE_ICLIENT_H__
  10. #include "RainbowInterface.h"
  11. #include <objbase.h>
  12. /*
  13.  * Antitype : IESClient Interface
  14.  */
  15. // {D38249A9-4565-4336-9F70-1374F1E158E7}
  16. DEFINE_GUID( IID_IESClient, 
  17. 0xd38249a9, 0x4565, 0x4336, 0x9f, 0x70, 0x13, 0x74, 0xf1, 0xe1, 0x58, 0xe7);
  18. /*
  19.  * ATTENTION : PLEASE USE IT IN ANSI SETTING
  20.  */
  21. DECLARE_INTERFACE_( IClient, IUnknown )
  22. {
  23. /*
  24.  * Initialize server object and start up it
  25.  */
  26. STDMETHOD( Startup )
  27. (
  28. ) PURE;
  29. /*
  30.  * Stop this object and destroy it
  31.  */
  32. STDMETHOD( Cleanup )
  33. (
  34. ) PURE;
  35. /*
  36.  * Connect to a specified server
  37.  */
  38. STDMETHOD( ConnectTo )
  39. (
  40. const char * const &pAddressToConnectServer,
  41. unsigned short usPortToConnectServer
  42. ) PURE;
  43. /*
  44.  *
  45.  */
  46. STDMETHOD( RegisterMsgFilter )
  47. (
  48. LPVOID lpParam,
  49. CALLBACK_CLIENT_EVENT pfnEventNotify
  50. ) PURE;
  51. /*
  52.  * Send some data to the current server
  53.  */
  54. STDMETHOD( SendPackToServer )
  55. (
  56. const void * const pData,
  57. const size_t &datalength
  58. ) PURE;
  59. /*
  60.  * Get some data from the current server
  61.  */
  62. STDMETHOD_( const void *, GetPackFromServer )
  63. (
  64. size_t &datalength
  65. ) PURE;
  66. /*
  67.  * Disconnect a specified connection
  68.  */
  69. STDMETHOD( Shutdown )
  70. (
  71. ) PURE;
  72. }; // Endof DECLARE_INTERFACE_( IClient ...
  73. /*
  74.  * Antitype : IClientFactory Interface
  75.  */
  76. // {9B2F150C-3D59-40db-A70B-E999D383D044}
  77. DEFINE_GUID( IID_IClientFactory, 
  78. 0x9b2f150c, 0x3d59, 0x40db, 0xa7, 0xb, 0xe9, 0x99, 0xd3, 0x83, 0xd0, 0x44);
  79. DECLARE_INTERFACE_( IClientFactory, IUnknown )
  80. {
  81. STDMETHOD( SetEnvironment )
  82. (
  83. const size_t &bufferSize
  84. ) PURE;
  85. STDMETHOD( CreateClientInterface )
  86. (
  87. REFIID riid, 
  88. void** ppv
  89. ) PURE;
  90. }; // IID_IClientFactory
  91. /*
  92.  * Antetype: CreateInterface
  93.  *
  94.  * Return: S_OK : success create object
  95.  * E_OUTOFMEMORY : create faild
  96.  *
  97.  * Purpose: Get client interface
  98.  */
  99. STDAPI CreateInterface
  100. (
  101. REFIID riid,
  102. void **ppv
  103. );
  104. #endif // __INCLUDE_INTERFACE_ICLIENT_H__