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. CALLBACK_CLIENT_EVENT pfnEventNotify
  49. ) PURE;
  50. /*
  51.  * Send some data to the current server
  52.  */
  53. STDMETHOD( SendPackToServer )
  54. (
  55. const void * const pData,
  56. const size_t &datalength
  57. ) PURE;
  58. /*
  59.  * Get some data from the current server
  60.  */
  61. STDMETHOD_( const void *, GetPackFromServer )
  62. (
  63. size_t &datalength
  64. ) PURE;
  65. /*
  66.  * Disconnect a specified connection
  67.  */
  68. STDMETHOD( Shutdown )
  69. (
  70. ) PURE;
  71. }; // Endof DECLARE_INTERFACE_( IClient ...
  72. /*
  73. Antetype: QueryClientInterface
  74. Return: S_OK : success create object
  75. E_OUTOFMEMORY : create faild
  76. Purpose: Get client interface
  77. CoInitialize( NULL ); 
  78. ...
  79. QueryClientInterface( ... );
  80. ...
  81. CoUninitialize();
  82. Created: 2003/03/19
  83. */
  84. STDAPI QueryClientInterface
  85. (
  86. REFIID riid,
  87. void **ppv
  88. );
  89. #endif // __INCLUDE_INTERFACE_ICLIENT_H__