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.

58 lines
1.6 KiB

  1. //////////////////////////////////////////////////////////////////////////////
  2. //
  3. // Copyright (c) 1999-2000 Microsoft Corporation
  4. //
  5. // Module Name:
  6. // Dll.h
  7. //
  8. // Description:
  9. // DLL globals definitions and macros.
  10. //
  11. // Maintained By:
  12. // Geoffrey Pease (GPease) 22-NOV-1999
  13. //
  14. //////////////////////////////////////////////////////////////////////////////
  15. #pragma once
  16. //
  17. // DLL Globals
  18. //
  19. extern HINSTANCE g_hInstance;
  20. extern LONG g_cObjects;
  21. extern LONG g_cLock;
  22. extern TCHAR g_szDllFilename[ MAX_PATH ];
  23. extern LPVOID g_GlobalMemoryList; // Global memory tracking list
  24. //
  25. // Class Table Macros
  26. //
  27. #define BEGIN_CLASSTABLE const CLASSTABLE g_DllClasses = {
  28. #define DEFINE_CLASS( _pfn, _riid, _name, _model ) { _pfn, &_riid, TEXT(_name), TEXT(_model), NULL, &IID_NULL, NULL },
  29. #define DEFINE_CLASS_CATIDREG( _pfn, _riid, _name, _model, _pfnCat ) { _pfn, &_riid, TEXT(_name), TEXT(_model), _pfnCat, &IID_NULL, NULL },
  30. #define DEFINE_CLASS_WITH_APPID( _pfn, _riid, _name, _model, _appid, _surrogate ) { _pfn, &_riid, TEXT(_name), TEXT(_model), NULL, &_appid, TEXT(_surrogate) },
  31. #define END_CLASSTABLE { NULL } };
  32. extern const CLASSTABLE g_DllClasses;
  33. //
  34. // Category ID (CATID) Macros
  35. //
  36. #define BEGIN_CATIDTABLE const CATIDTABLE g_DllCatIds = {
  37. #define DEFINE_CATID( _rcatid, _name ) { &_rcatid, TEXT(_name) },
  38. #define END_CATIDTABLE { NULL } };
  39. extern const CATIDTABLE g_DllCatIds;
  40. //
  41. // DLL Global Function Prototypes
  42. //
  43. HRESULT
  44. HrCoCreateInternalInstance(
  45. REFCLSID rclsidIn,
  46. LPUNKNOWN pUnkOuterIn,
  47. DWORD dwClsContextIn,
  48. REFIID riidIn,
  49. LPVOID * ppvOut
  50. );