00001 /***************************************************************************** 00002 * 00003 * GRE interface to the MicroImages Windows Shell Namespace Extention 00004 * 00005 * $Log: dde.h_v $ 00006 * Revision 1.6 2005/06/08 13:40:36 dwilliss 00007 * added two new command enum values 00008 * 00009 * Revision 1.5 2005/05/02 15:16:20 dwilliss 00010 * Changed the message to allow multiple objects 00011 * 00012 * Revision 1.4 2005/04/29 22:24:31 dwilliss 00013 * *** empty log message *** 00014 * 00015 * Revision 1.3 2005/04/28 17:57:19 dwilliss 00016 * *** empty log message *** 00017 * 00018 * Revision 1.2 2005/04/27 20:30:43 dwilliss 00019 * *** empty log message *** 00020 * 00021 * Revision 1.1 2005/04/27 20:29:08 dwilliss 00022 * Initial revision 00023 * 00024 ****************************************************************************/ 00025 00026 #ifndef INC_GRE_DDE_H 00027 #define INC_GRE_DDE_H 00028 00029 #ifndef INC_MI32_STDDEFNS_H 00030 #include <mi32/stddefns.h> 00031 #endif 00032 00033 #ifndef INC_GRE_SYSTEM_H 00034 #include <gre/system.h> 00035 #endif 00036 00037 namespace GRE { 00038 #ifdef WIN32 00039 //! Initialize the interface between GRE and the Windows Shell Namespace Extension. 00040 //! Windows only (obviously) 00041 void WindowsNamespaceInterfaceInit(); 00042 00043 //! Shutdown the interface between GRE and the Windows Shell Namespace Extension. 00044 //! Windows only (obviously) 00045 void WindowsNamespaceInterfaceStop(); 00046 00047 void WindowsNamespaceInterfaceSetOpenFunc ( 00048 ERRVALUE (*pFunc)(GRE_SYSTEM::AUTOOPEN, const RVC::OBJITEMLIST&) 00049 ); 00050 00051 //! A structure passed from the Windows Shell Namespace Extention to GRE 00052 //! via a DDE message. This structure cannot contain any pointers, as 00053 //! they would not work from one process' address space to another's 00054 struct DDEMSG { 00055 enum COMMAND { 00056 COMMAND_Open = 0, 00057 COMMAND_Edit = 1, 00058 COMMAND_QueryOpen = 2, 00059 COMMAND_QueryEdit = 3 00060 }; 00061 00062 UINT32 version; //!< Version of this structure (currently 1) 00063 COMMAND cmd; //!< One of the DDEMSG::COMMAND values 00064 PTRINT hWnd; //!< HWND associated with the group. 00065 UINT32 NumObjects; 00066 UINT32 Offsets[1]; //!< Offsets from start of DDEMSG to each object, which will be encoded as a null-terminated unicode string (OBJITEM::GetCombinedPath()). 00067 }; 00068 00069 #endif 00070 } // End of GRE namespace 00071 00072 00073 00074 #endif // INC_GRE_GRECOM_H
1.3.8-20040913