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
111 lines
2.9 KiB
//+-------------------------------------------------------------------------
|
|
//
|
|
// Microsoft OLE
|
|
// Copyright (C) Microsoft Corporation, 1994 - 1995.
|
|
//
|
|
// File: copydata.hxx
|
|
//
|
|
// Contents: Structures and defines to support WM_COPYDATA messages
|
|
// passed from marina to marina aware applications
|
|
//
|
|
// Classes:
|
|
//
|
|
// Functions:
|
|
//
|
|
// History: 12-16-94 kennethm Created
|
|
//
|
|
//--------------------------------------------------------------------------
|
|
|
|
#ifndef __COPYDATA_HXX__
|
|
#define __COPYDATA_HXX__
|
|
|
|
#define MAX_STRING_SIZE 256
|
|
|
|
//
|
|
// MARINA_CD_BASE is a magic number, see if you can figure it out
|
|
// This is a random cookie value to make sure the message came from
|
|
// marina and not some other wm_copydata source.
|
|
//
|
|
|
|
#define MARINA_CD_BASE 1020
|
|
|
|
#define CD_EXECFUNCTION MARINA_CD_BASE + 0
|
|
|
|
//
|
|
// This message is passed to marina as our own version of copydata
|
|
// This copydata is posted, not sent
|
|
//
|
|
|
|
#define WM_PRIVATECOPYDATA WM_USER + MARINA_CD_BASE
|
|
|
|
typedef struct tagCDExecInfo
|
|
{
|
|
//
|
|
// This is the size of the structure as it appears here. The amount
|
|
// of information windows copies accross with the message is the size
|
|
// of this structure - size of the UserInfo (1) + the size of any user
|
|
// information. If the user doesn't supply any info the UserInfo
|
|
// element is outside the allocated space of this structure. In that
|
|
// case stUserInfoSize will be zero.
|
|
//
|
|
|
|
size_t cb; // == sizeof(CDEXECINFO)
|
|
|
|
//
|
|
// The event to send back to the switchboard that will indicate
|
|
// to the originator of the copydata that the call is complete
|
|
//
|
|
|
|
DWORD hEvent;
|
|
|
|
//
|
|
// Pointer to copydatareturn structure in the originator's
|
|
// data space. Don't even think of dereferencing this on the
|
|
// application side. It is just passed back.
|
|
//
|
|
|
|
DWORD hCopyDataReturn;
|
|
|
|
//
|
|
// The marina handle of the object that is making this call
|
|
// Generally only filled in during a call to insertobject etc.
|
|
//
|
|
|
|
DWORD dwMarinaHandle;
|
|
|
|
//
|
|
// This is the function the remote program is going to exec
|
|
//
|
|
|
|
WCHAR szFunctionName[MAX_STRING_SIZE];
|
|
|
|
//
|
|
// The completely qualified name of the executing dll
|
|
// If the function name isn't found in the apps internal tables
|
|
// it should load this dll and try to find the function there.
|
|
//
|
|
|
|
WCHAR szDllName[MAX_PATH];
|
|
|
|
//
|
|
// This is the size of the user information that follows
|
|
//
|
|
|
|
size_t stUserInfoSize;
|
|
|
|
//
|
|
// User information is stored starting here.
|
|
//
|
|
|
|
DWORD UserInfo;
|
|
|
|
} CDEXECINFO, *PCDEXECINFO;
|
|
|
|
//
|
|
// Stream name that marina writes the handle to.
|
|
//
|
|
|
|
#define MARINA_HANDLE_STREAM OLESTR("MarinaHandle")
|
|
|
|
|
|
#endif // __COPYDATA_HXX__
|