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.

57 lines
1.9 KiB

  1. //+-------------------------------------------------------------------------
  2. //
  3. // Microsoft Windows
  4. // Copyright (C) Microsoft Corporation, 1992 - 1993.
  5. //
  6. // File: host.idl
  7. //
  8. // Contents: Definition of private ORPC interface between apartments.
  9. // Used to activate an inproc dll of one threading model from
  10. // an apartment of a different threading model.
  11. //
  12. // History: 04-Mar-96 Rickhi Created
  13. //
  14. //--------------------------------------------------------------------------
  15. //
  16. // WIN64 07/01/98 v-thief
  17. //
  18. // This is a temporary implementation/port.
  19. // We could use a mapping between DWORD dwPDE and pointers.
  20. // This mapping API should be exposed by a common API. like rpc for example.
  21. // However, for now I am going to try the polymorphic MIDL type: __int3264.
  22. // Another point is that PDE or LFN were type as unsigned types, even if
  23. // pointers ( signed types for Microsoft compilers ) were stored there.
  24. // I respected this and use an "unsigned __int3264".
  25. // For now also, I do not change the name of the first parameter but it
  26. // should be changed to "hPDE" or something similar.
  27. //
  28. // Resolution of issue:
  29. // This interface never goes out of process so making the first parameter ULONG64
  30. // is fine since the RPC proxy will marshal the pointer-width value. NT Bug #232947
  31. // showed up because of using a DCE proxy that truncated the dwPDE argument.
  32. //
  33. [ uuid(00000141-0000-0000-C000-000000000046),
  34. pointer_default(unique),
  35. object
  36. ]
  37. interface IDLLHost : IUnknown
  38. {
  39. #ifndef DO_NO_IMPORTS
  40. import "iface.idl";
  41. import "unknwn.idl";
  42. import "objidl.idl";
  43. #endif
  44. enum {DLLHOST_IS_DPE = 0x01,
  45. DLLHOST_IS_PFN = 0x02 };
  46. HRESULT DllGetClassObject(
  47. [in] ULONG64 hDPE,
  48. [in] GUID guidCallersSecret,
  49. [in] REFCLSID rclsid,
  50. [in] REFIID riid,
  51. [out, iid_is(riid)] IUnknown **ppunk,
  52. [in] DWORD dwFlags);
  53. }