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.

99 lines
4.2 KiB

  1. /*==========================================================================;
  2. *
  3. * Copyright (C) 2000-2002 Microsoft Corporation. All Rights Reserved.
  4. *
  5. * File: DPlay8.h
  6. * Content: DirectPlay8 include file
  7. * History:
  8. * Date By Reason
  9. * ==========================
  10. * 9/26/2000 masonb created - Removed from public header dplay8.h
  11. *
  12. ***************************************************************************/
  13. #ifndef __DIRECTPLAY8PROT_H__
  14. #define __DIRECTPLAY8PROT_H__
  15. #ifndef DPNBUILD_NOPROTOCOLTESTITF
  16. #ifdef _XBOX
  17. //@@BEGIN_MSINTERNAL
  18. #ifdef XBOX_ON_DESKTOP
  19. #include <ole2.h> // for DECLARE_INTERFACE_ and HRESULT
  20. #endif // XBOX_ON_DESKTOP
  21. //@@END_MSINTERNAL
  22. #undef DECLARE_INTERFACE_
  23. #define DECLARE_INTERFACE_(iface, baseiface) DECLARE_INTERFACE(iface)
  24. #else // ! _XBOX
  25. #include <ole2.h> // for DECLARE_INTERFACE_ and HRESULT
  26. #endif // ! _XBOX
  27. #include "dpaddr.h"
  28. #ifdef __cplusplus
  29. extern "C" {
  30. #endif // __cplusplus
  31. /****************************************************************************
  32. *
  33. * DirectPlay8 CLSIDs
  34. *
  35. ****************************************************************************/
  36. #ifdef _XBOX
  37. #define IID_IDirectPlay8Protocol 0x00000007
  38. #else // ! _XBOX
  39. // {EBFE7B84-628D-11D2-AE0F-006097B01411}
  40. DEFINE_GUID(IID_IDirectPlay8Protocol,
  41. 0xebfe7b84, 0x628d, 0x11d2, 0xae, 0xf, 0x0, 0x60, 0x97, 0xb0, 0x14, 0x11);
  42. #endif // ! _XBOX
  43. /****************************************************************************
  44. *
  45. * DirectPlay8 Interface Definitions
  46. *
  47. ****************************************************************************/
  48. typedef struct _DN_PROTOCOL_INTERFACE_VTBL DN_PROTOCOL_INTERFACE_VTBL, *PDN_PROTOCOL_INTERFACE_VTBL;
  49. //
  50. // COM definition for DirectPlay8 Protocol interface
  51. //
  52. #undef INTERFACE // External COM Implementation
  53. #define INTERFACE IDirectPlay8Protocol
  54. DECLARE_INTERFACE_(IDirectPlay8Protocol,IUnknown)
  55. {
  56. /*** IUnknown methods ***/
  57. STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  58. STDMETHOD_(ULONG,AddRef) (THIS) PURE;
  59. STDMETHOD_(ULONG,Release) (THIS) PURE;
  60. /*** IDirectPlay8Protocol methods ***/
  61. STDMETHOD(Initialize) (THIS_ PVOID, PDN_PROTOCOL_INTERFACE_VTBL pfVTBL) PURE;
  62. STDMETHOD(Shutdown) (THIS) PURE;
  63. STDMETHOD(AddServiceProvider) (THIS_ IDP8ServiceProvider* pISP, HANDLE* phSPHandle) PURE;
  64. STDMETHOD(RemoveServiceProvider) (THIS_ HANDLE hSPHandle) PURE;
  65. STDMETHOD(Connect) (THIS_ IDirectPlay8Address* paLocalAddress, IDirectPlay8Address* paRemoteAddress, HANDLE hSPHandle, ULONG ulFlags, VOID* pvContext, HANDLE* phConnect) PURE;
  66. STDMETHOD(Listen) (THIS_ IDirectPlay8Address* paAddress, HANDLE hSPHandle, ULONG ulFlags, VOID* pvContext, HANDLE* phListen) PURE;
  67. STDMETHOD(SendData) (THIS_ HANDLE hEndpoint, UINT uiBufferCount, BUFFERDESC* pBuffers, UINT uiTimeout, ULONG ulFlags, VOID* pvContext, HANDLE* phSendHandle) PURE;
  68. STDMETHOD(DisconnectEP) (THIS_ HANDLE hEndPoint, VOID* pvContext, HANDLE* phDisconnect, DWORD dwFlags) PURE;
  69. STDMETHOD(Cancel) (THIS_ HANDLE hCommand) PURE;
  70. STDMETHOD(ReturnReceiveBuffers) (THIS_ HANDLE hBuffer) PURE;
  71. STDMETHOD(GetEndpointCaps) (THIS_ HANDLE hEndpoint, VOID* pvBuffer) PURE;
  72. STDMETHOD(GetCaps) (THIS_ DPN_CAPS* pCaps) PURE;
  73. STDMETHOD(SetCaps) (THIS_ DPN_CAPS* pCaps) PURE;
  74. STDMETHOD(EnumQuery) (THIS_ IDirectPlay8Address* paHostAddress, IDirectPlay8Address* paDeviceAddress, HANDLE hSPHandle, BUFFERDESC* pBuffers, DWORD dwBufferCount, DWORD dwRetryCount, DWORD dwRetryInterval, DWORD dwTimeout, DWORD dwFlags, VOID* pvUserContext, HANDLE* phEnumHandle) PURE;
  75. STDMETHOD(EnumRespond) (THIS_ HANDLE hSPHandle, HANDLE hQueryHandle, BUFFERDESC* pBuffers, DWORD dwBufferCount, DWORD dwFlags, VOID* pvUserContext, HANDLE* phEnumHandle) PURE;
  76. STDMETHOD(CrackEPD) (THIS_ HANDLE hEndPoint, long Flags, IDirectPlay8Address** ppAddr) PURE;
  77. STDMETHOD(GetListenAddressInfo) (THIS_ HANDLE hCommand, long Flags, IDirectPlay8Address** ppAddr) PURE;
  78. STDMETHOD(Debug) (THIS_ UINT uiOpcode, HANDLE hEndpoint, VOID* pvBuffer) PURE;
  79. };
  80. #ifdef __cplusplus
  81. }
  82. #endif // __cplusplus
  83. #endif // !DPNBUILD_NOPROTOCOLTESTITF
  84. #endif // __DIRECTPLAY8PROT_H__