dde.h

Go to the documentation of this file.
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

Generated on Wed May 31 15:26:38 2006 for TNTsdk by  doxygen 1.3.8-20040913