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.

90 lines
4.1 KiB

  1. /*==========================================================================
  2. *
  3. * Copyright (C) 1999-2000 Microsoft Corporation. All Rights Reserved.
  4. *
  5. * File: dplparam.h
  6. * Content: DirectPlayLobby8 Parameter Validation helper routines
  7. *
  8. * History:
  9. * Date By Reason
  10. * ==== == ======
  11. * 04/18/00 rmt Created
  12. * 04/25/00 rmt Bug #s 33138, 33145, 33150
  13. * 04/26/00 mjn Removed dwTimeOut from Send() API call
  14. * 06/15/00 rmt Bug #33617 - Must provide method for providing automatic launch of DirectPlay instances
  15. * 07/08/2000 rmt Bug #38725 - Need to provide method to detect if app was lobby launched
  16. * rmt Bug #38757 - Callback messages for connections may return AFTER WaitForConnection returns
  17. * rmt Bug #38755 - No way to specify player name in Connection Settings
  18. * rmt Bug #38758 - DPLOBBY8.H has incorrect comments
  19. * rmt Bug #38783 - pvUserApplicationContext is only partially implemented
  20. * rmt Added DPLHANDLE_ALLCONNECTIONS and dwFlags (reserved field to couple of funcs).
  21. *
  22. ***************************************************************************/
  23. #ifndef __DPLPARAM_H
  24. #define __DPLPARAM_H
  25. #ifndef DPNBUILD_NOPARAMVAL
  26. extern BOOL IsValidDirectPlayLobby8Object( LPVOID lpvObject );
  27. extern HRESULT DPL_ValidateGetConnectionSettings(LPVOID lpv,const DPNHANDLE hLobbyClient, DPL_CONNECTION_SETTINGS * const pdplSessionInfo, DWORD *pdwInfoSize, const DWORD dwFlags );
  28. extern HRESULT DPL_ValidateSetConnectionSettings(LPVOID lpv,const DPNHANDLE hLobbyClient, const DPL_CONNECTION_SETTINGS * const pdplSessionInfo, const DWORD dwFlags );
  29. extern HRESULT DPL_ValidConnectionSettings( const DPL_CONNECTION_SETTINGS * const pdplConnectSettings );
  30. extern HRESULT DPL_ValidateQueryInterface( LPVOID lpv,REFIID riid,LPVOID *ppv );
  31. extern HRESULT DPL_ValidateRelease( PVOID pv );
  32. extern HRESULT DPL_ValidateAddRef( PVOID pv );
  33. extern HRESULT DPL_ValidConnectInfo( const DPL_CONNECT_INFO * const dplConnectInfo );
  34. extern HRESULT DPL_ValidProgramDesc( const DPL_PROGRAM_DESC * const dplProgramInfo );
  35. extern HRESULT DPL_ValidateRegisterProgram(IDirectPlay8LobbiedApplication *pInterface,
  36. const DPL_PROGRAM_DESC *const pdplProgramDesc,
  37. const DWORD dwFlags);
  38. extern HRESULT DPL_ValidateUnRegisterProgram(IDirectPlay8LobbiedApplication *pInterface,
  39. const GUID *pguidApplication,
  40. const DWORD dwFlags);
  41. extern HRESULT DPL_ValidateSetAppAvailable(IDirectPlay8LobbiedApplication *pInterface, const BOOL fAvailable, const DWORD dwFlags);
  42. extern HRESULT DPL_ValidateWaitForConnection(IDirectPlay8LobbiedApplication *pInterface,
  43. const DWORD dwMilliseconds, const DWORD dwFlags );
  44. extern HRESULT DPL_ValidateUpdateStatus(IDirectPlay8LobbiedApplication *pInterface,
  45. const DPNHANDLE hLobby,
  46. const DWORD dwStatus, const DWORD dwFlags );
  47. extern HRESULT DPL_ValidateEnumLocalPrograms(IDirectPlay8LobbyClient *pInterface,
  48. const GUID *const pGuidApplication,
  49. BYTE *const pEnumData,
  50. DWORD *const pdwEnumDataSize,
  51. DWORD *const pdwEnumDataItems,
  52. const DWORD dwFlags );
  53. extern HRESULT DPL_ValidateConnectApplication(IDirectPlay8LobbyClient *pInterface,
  54. const DPL_CONNECT_INFO *const pdplConnectionInfo,
  55. const PVOID pvUserApplicationContext,
  56. DPNHANDLE *const hApplication,
  57. const DWORD dwTimeOut,
  58. const DWORD dwFlags);
  59. extern HRESULT DPL_ValidateReleaseApplication(IDirectPlay8LobbyClient *pInterface,
  60. const DPNHANDLE hApplication, const DWORD dwFlags );
  61. extern HRESULT DPL_ValidateRegisterMessageHandler(PVOID pv,
  62. const PVOID pvUserContext,
  63. const PFNDPNMESSAGEHANDLER pfn,
  64. DPNHANDLE * const pdpnhConnection,
  65. const DWORD dwFlags);
  66. extern HRESULT DPL_ValidateClose(PVOID pv, const DWORD dwFlags );
  67. extern HRESULT DPL_ValidateSend(PVOID pv,
  68. const DPNHANDLE hTarget,
  69. const BYTE *const pBuffer,
  70. const DWORD pBufferSize,
  71. const DWORD dwFlags);
  72. #endif // !DPNBUILD_NOPARAMVAL
  73. #endif // __DPLPARAM_H