Source code of Windows XP (NT5)
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.

59 lines
1.3 KiB

  1. /*==========================================================================
  2. *
  3. * Copyright (C) 2000 Microsoft Corporation. All Rights Reserved.
  4. *
  5. * File: comstuff.h
  6. * Content: DNET COM class factory
  7. *@@BEGIN_MSINTERNAL
  8. * History:
  9. * Date By Reason
  10. * ==== == ======
  11. * ? rmt Adapted for use in addressing lib
  12. * 07/09/2000 rmt Added signature bytes to start of objects
  13. *@@END_MSINTERNAL
  14. *
  15. ***************************************************************************/
  16. #ifndef COMSTUFF_H
  17. #define COMSTUFF_H
  18. #define DPASIGNATURE_IL 'LIAD'
  19. #define DPASIGNATURE_IL_FREE 'LIA_'
  20. #define DPASIGNATURE_OD 'DOAD'
  21. #define DPASIGNATURE_OD_FREE 'DOA_'
  22. typedef struct INTERFACE_LIST {
  23. LPVOID lpVtbl;
  24. DWORD dwSignature;
  25. LONG lRefCount;
  26. IID iid;
  27. struct INTERFACE_LIST *lpIntNext;
  28. struct OBJECT_DATA *lpObject;
  29. } INTERFACE_LIST, *LPINTERFACE_LIST;
  30. typedef struct OBJECT_DATA {
  31. DWORD dwSignature;
  32. LONG lRefCount;
  33. LPVOID lpvData;
  34. LPINTERFACE_LIST lpIntList;
  35. } OBJECT_DATA, *LPOBJECT_DATA;
  36. #define GET_OBJECT_FROM_INTERFACE(a) ((LPINTERFACE_LIST) a)->lpObject->lpvData
  37. #if !defined(__cplusplus) && !defined(CINTERFACE)
  38. #ifdef THIS_
  39. #undef THIS_
  40. #define THIS_ LPVOID this,
  41. #endif
  42. #ifdef THIS
  43. #undef THIS
  44. #define THIS LPVOID this
  45. #endif
  46. #endif
  47. #endif // COMSTUFF_H