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.

60 lines
2.2 KiB

  1. /*==========================================================================
  2. *
  3. * Copyright (C) 2000 Microsoft Corporation. All Rights Reserved.
  4. *
  5. * File: ClassFac.h
  6. * Content: DirectPlay Lobby class factory header file
  7. *@@BEGIN_MSINTERNAL
  8. * History:
  9. * Date By Reason
  10. * ==== == ======
  11. * 02/21/00 mjn Created
  12. * 06/07/00 rodtoll Bug #34383 Must provide CLSID for each IID to fix issues with Whistler
  13. *@@END_MSINTERNAL
  14. *
  15. ***************************************************************************/
  16. #ifndef __CLASSFAC_H__
  17. #define __CLASSFAC_H__
  18. //**********************************************************************
  19. // Constant definitions
  20. //**********************************************************************
  21. //**********************************************************************
  22. // Macro definitions
  23. //**********************************************************************
  24. //**********************************************************************
  25. // Structure definitions
  26. //**********************************************************************
  27. typedef struct _INTERFACE_LIST INTERFACE_LIST;
  28. typedef struct _OBJECT_DATA OBJECT_DATA;
  29. //**********************************************************************
  30. // Variable definitions
  31. //**********************************************************************
  32. //**********************************************************************
  33. // Function prototypes
  34. //**********************************************************************
  35. // DirectPlay - IUnknown
  36. STDMETHODIMP DPL_QueryInterface(LPVOID lpv, REFIID riid,LPVOID *ppvObj);
  37. STDMETHODIMP_(ULONG) DPL_AddRef(LPVOID lphObj);
  38. STDMETHODIMP_(ULONG) DPL_Release(LPVOID lphObj);
  39. // Class Factory
  40. STDMETHODIMP DPLCF_CreateInstance(IClassFactory* pInterface, LPUNKNOWN lpUnkOuter, REFIID riid, LPVOID *ppv);
  41. // Class Factory - supporting
  42. HRESULT DPLCF_CreateObject(LPVOID *lplpv,REFIID riid);
  43. HRESULT DPLCF_FreeObject(LPVOID lpv);
  44. HRESULT DPL_CreateInterface(OBJECT_DATA* lpObject,REFIID riid,INTERFACE_LIST** const ppv);
  45. INTERFACE_LIST* DPL_FindInterface(LPVOID lpv, REFIID riid);
  46. #endif // __CLASSFAC_H__