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

//+-------------------------------------------------------------------------
//
// 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__