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.

111 lines
2.9 KiB

  1. //+-------------------------------------------------------------------------
  2. //
  3. // Microsoft OLE
  4. // Copyright (C) Microsoft Corporation, 1994 - 1995.
  5. //
  6. // File: copydata.hxx
  7. //
  8. // Contents: Structures and defines to support WM_COPYDATA messages
  9. // passed from marina to marina aware applications
  10. //
  11. // Classes:
  12. //
  13. // Functions:
  14. //
  15. // History: 12-16-94 kennethm Created
  16. //
  17. //--------------------------------------------------------------------------
  18. #ifndef __COPYDATA_HXX__
  19. #define __COPYDATA_HXX__
  20. #define MAX_STRING_SIZE 256
  21. //
  22. // MARINA_CD_BASE is a magic number, see if you can figure it out
  23. // This is a random cookie value to make sure the message came from
  24. // marina and not some other wm_copydata source.
  25. //
  26. #define MARINA_CD_BASE 1020
  27. #define CD_EXECFUNCTION MARINA_CD_BASE + 0
  28. //
  29. // This message is passed to marina as our own version of copydata
  30. // This copydata is posted, not sent
  31. //
  32. #define WM_PRIVATECOPYDATA WM_USER + MARINA_CD_BASE
  33. typedef struct tagCDExecInfo
  34. {
  35. //
  36. // This is the size of the structure as it appears here. The amount
  37. // of information windows copies accross with the message is the size
  38. // of this structure - size of the UserInfo (1) + the size of any user
  39. // information. If the user doesn't supply any info the UserInfo
  40. // element is outside the allocated space of this structure. In that
  41. // case stUserInfoSize will be zero.
  42. //
  43. size_t cb; // == sizeof(CDEXECINFO)
  44. //
  45. // The event to send back to the switchboard that will indicate
  46. // to the originator of the copydata that the call is complete
  47. //
  48. DWORD hEvent;
  49. //
  50. // Pointer to copydatareturn structure in the originator's
  51. // data space. Don't even think of dereferencing this on the
  52. // application side. It is just passed back.
  53. //
  54. DWORD hCopyDataReturn;
  55. //
  56. // The marina handle of the object that is making this call
  57. // Generally only filled in during a call to insertobject etc.
  58. //
  59. DWORD dwMarinaHandle;
  60. //
  61. // This is the function the remote program is going to exec
  62. //
  63. WCHAR szFunctionName[MAX_STRING_SIZE];
  64. //
  65. // The completely qualified name of the executing dll
  66. // If the function name isn't found in the apps internal tables
  67. // it should load this dll and try to find the function there.
  68. //
  69. WCHAR szDllName[MAX_PATH];
  70. //
  71. // This is the size of the user information that follows
  72. //
  73. size_t stUserInfoSize;
  74. //
  75. // User information is stored starting here.
  76. //
  77. DWORD UserInfo;
  78. } CDEXECINFO, *PCDEXECINFO;
  79. //
  80. // Stream name that marina writes the handle to.
  81. //
  82. #define MARINA_HANDLE_STREAM OLESTR("MarinaHandle")
  83. #endif // __COPYDATA_HXX__