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