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.

116 lines
3.3 KiB

  1. //+-------------------------------------------------------------------------
  2. //
  3. // Microsoft Windows
  4. //
  5. // Copyright (C) Microsoft Corporation, 1998 - 1999
  6. //
  7. // File: dpmsgobj.h
  8. //
  9. //--------------------------------------------------------------------------
  10. #include "resource.h"
  11. class C_dxj_DirectPlayMessageObject :
  12. public I_dxj_DirectPlayMessage,
  13. public CComObjectRoot
  14. {
  15. public:
  16. BEGIN_COM_MAP(C_dxj_DirectPlayMessageObject)
  17. COM_INTERFACE_ENTRY(I_dxj_DirectPlayMessage)
  18. END_COM_MAP()
  19. DECLARE_AGGREGATABLE(C_dxj_DirectPlayMessageObject)
  20. public:
  21. C_dxj_DirectPlayMessageObject();
  22. ~C_dxj_DirectPlayMessageObject();
  23. HRESULT STDMETHODCALLTYPE writeGuid(
  24. /* [in] */ BSTR val);
  25. HRESULT STDMETHODCALLTYPE readGuid(
  26. /* [retval][out] */ BSTR __RPC_FAR *val);
  27. HRESULT STDMETHODCALLTYPE writeString(
  28. /* [in] */ BSTR val);
  29. HRESULT STDMETHODCALLTYPE readString(
  30. /* [retval][out] */ BSTR __RPC_FAR *val);
  31. HRESULT STDMETHODCALLTYPE writeLong(
  32. /* [in] */ long val);
  33. HRESULT STDMETHODCALLTYPE readLong(
  34. /* [retval][out] */ long __RPC_FAR *val);
  35. HRESULT STDMETHODCALLTYPE writeShort(
  36. /* [in] */ short val);
  37. HRESULT STDMETHODCALLTYPE readShort(
  38. /* [retval][out] */ short __RPC_FAR *val);
  39. HRESULT STDMETHODCALLTYPE writeSingle(
  40. /* [in] */ float val);
  41. HRESULT STDMETHODCALLTYPE readSingle(
  42. /* [retval][out] */ float __RPC_FAR *val);
  43. HRESULT STDMETHODCALLTYPE writeDouble(
  44. /* [in] */ double val);
  45. HRESULT STDMETHODCALLTYPE readDouble(
  46. /* [retval][out] */ double __RPC_FAR *val);
  47. HRESULT STDMETHODCALLTYPE writeByte(
  48. /* [in] */ Byte val);
  49. HRESULT STDMETHODCALLTYPE readByte(
  50. /* [retval][out] */ Byte __RPC_FAR *val);
  51. HRESULT STDMETHODCALLTYPE moveToTop( void);
  52. HRESULT STDMETHODCALLTYPE clear( void);
  53. HRESULT STDMETHODCALLTYPE getMessageSize(
  54. /* [retval][out] */ long __RPC_FAR *ret);
  55. HRESULT STDMETHODCALLTYPE getMessageData(
  56. /* [out][in] */ void __RPC_FAR *userDefinedType);
  57. HRESULT STDMETHODCALLTYPE setMessageData(
  58. /* [in] */ void __RPC_FAR *userDefinedType,
  59. /* [in] */ long size);
  60. HRESULT STDMETHODCALLTYPE getPointer(long *ret);
  61. HRESULT STDMETHODCALLTYPE readSysMsgConnection( I_dxj_DPLConnection **ret);
  62. HRESULT STDMETHODCALLTYPE readSysMsgSessionDesc( I_dxj_DirectPlaySessionData **ret);
  63. HRESULT STDMETHODCALLTYPE readSysMsgData( BSTR *ret);
  64. HRESULT STDMETHODCALLTYPE readSysChatString( BSTR *ret);
  65. HRESULT STDMETHODCALLTYPE moveToSecureMessage();
  66. HRESULT AllocData(long size);
  67. HRESULT GrowBuffer(DWORD size);
  68. HRESULT init(DWORD f);
  69. static HRESULT C_dxj_DirectPlayMessageObject::create(DWORD from,DWORD size,void **data,I_dxj_DirectPlayMessage **ret);
  70. char *m_pData;
  71. DWORD m_dwSize;
  72. DWORD m_nWriteIndex;
  73. DWORD m_nReadIndex;
  74. BOOL m_fSystem;
  75. };