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.

58 lines
2.1 KiB

  1. // Microsoft OLE library.
  2. // Copyright (C) 1992 Microsoft Corporation,
  3. // All rights reserved.
  4. // olecoll.h - global defines for collections and element definitions
  5. #ifndef __OLECOLL_H__
  6. #define __OLECOLL_H__
  7. // ---------------------------------------------------------------------------
  8. // general defines for collections
  9. typedef void FAR* POSITION;
  10. #define BEFORE_START_POSITION ((POSITION)(ULONG)-1L)
  11. #define _AFX_FP_OFF(thing) (*((UINT FAR*)&(thing)))
  12. #define _AFX_FP_SEG(lp) (*((UINT FAR*)&(lp)+1))
  13. #ifdef _DEBUG
  14. #define ASSERT_VALID(p) p->AssertValid()
  15. #else
  16. #define ASSERT_VALID(p)
  17. #endif
  18. // ---------------------------------------------------------------------------
  19. // element defintions; can only depend upon definitions in ole2int.h
  20. // per-task data; warning, there is no destructor and so
  21. // releasing the elements of the mapping must be done by hand;
  22. // this also means that RemoveAll should not be called and that
  23. // RemoveKey should be called only after freeing the contained maps.
  24. typedef struct FAR Etask
  25. {
  26. DWORD m_pid; // unique process id
  27. DWORD m_Dllinits; // number of times init'd
  28. HTASK m_htask;
  29. DWORD m_inits; // number of times init'd
  30. DWORD m_oleinits; // number of OleInit
  31. DWORD m_reserved; // reserved
  32. IMalloc FAR* m_pMalloc; // task allocator (always one)
  33. IMalloc FAR* m_pMallocShared; // shared allocator (always one)
  34. IMalloc FAR* m_pMallocSBlock; // shared block allocator (if one)
  35. IMalloc FAR* m_pMallocPrivate; // private allocator (if one)
  36. class CDlls FAR* m_pDlls; // list of dlls loaded and their counts
  37. class CMapGUIDToPtr FAR* m_pMapToServerCO;//server class obj if reg/loaded
  38. class CMapGUIDToPtr FAR* m_pMapToHandlerCO;//handler CO obj if reg/loaded
  39. class CSHArray FAR* m_pArraySH; // array of server/handler entries
  40. class CThrd FAR* m_pCThrd; // pointer to header of thread list
  41. HWND m_hwndClip; // hwnd of our clip window
  42. HWND m_hwndDde; // hwnd of system dde window
  43. IUnknown FAR* m_punkState; // Storage for CoGet/SetState
  44. } _Etask;
  45. #endif //!__OLECOLL_H__