

/* this ALWAYS GENERATED file contains the definitions for the interfaces */


 /* File created by MIDL compiler version 6.00.0366 */
/* at Wed May 20 19:06:03 2009
 */
/* Compiler settings for ..\..\builds\Release_Win32\_Kernel.idl:
    Oicf, W1, Zp8, env=Win32 (32b run)
    protocol : dce , ms_ext, c_ext, robust
    error checks: allocation ref bounds_check enum stub_data 
    VC __declspec() decoration level: 
         __declspec(uuid()), __declspec(selectany), __declspec(novtable)
         DECLSPEC_UUID(), MIDL_INTERFACE()
*/
//@@MIDL_FILE_HEADING(  )

#pragma warning( disable: 4049 )  /* more than 64k source lines */


/* verify that the <rpcndr.h> version is high enough to compile this file*/
#ifndef __REQUIRED_RPCNDR_H_VERSION__
#define __REQUIRED_RPCNDR_H_VERSION__ 475
#endif

#include "rpc.h"
#include "rpcndr.h"

#ifndef __RPCNDR_H_VERSION__
#error this stub requires an updated version of <rpcndr.h>
#endif // __RPCNDR_H_VERSION__

#ifndef COM_NO_WINDOWS_H
#include "windows.h"
#include "ole2.h"
#endif /*COM_NO_WINDOWS_H*/

#ifndef ___Kernel_h__
#define ___Kernel_h__

#if defined(_MSC_VER) && (_MSC_VER >= 1020)
#pragma once
#endif

/* Forward Declarations */ 

#ifndef __IRsObjVersion_FWD_DEFINED__
#define __IRsObjVersion_FWD_DEFINED__
typedef interface IRsObjVersion IRsObjVersion;
#endif 	/* __IRsObjVersion_FWD_DEFINED__ */


#ifndef __IRsObject_FWD_DEFINED__
#define __IRsObject_FWD_DEFINED__
typedef interface IRsObject IRsObject;
#endif 	/* __IRsObject_FWD_DEFINED__ */


#ifndef __IRsCloneable_FWD_DEFINED__
#define __IRsCloneable_FWD_DEFINED__
typedef interface IRsCloneable IRsCloneable;
#endif 	/* __IRsCloneable_FWD_DEFINED__ */


#ifndef __IRsDataObject_FWD_DEFINED__
#define __IRsDataObject_FWD_DEFINED__
typedef interface IRsDataObject IRsDataObject;
#endif 	/* __IRsDataObject_FWD_DEFINED__ */


#ifndef __IRsPoolObj_FWD_DEFINED__
#define __IRsPoolObj_FWD_DEFINED__
typedef interface IRsPoolObj IRsPoolObj;
#endif 	/* __IRsPoolObj_FWD_DEFINED__ */


#ifndef __IRsObjectList_FWD_DEFINED__
#define __IRsObjectList_FWD_DEFINED__
typedef interface IRsObjectList IRsObjectList;
#endif 	/* __IRsObjectList_FWD_DEFINED__ */


#ifndef __IRsNode_FWD_DEFINED__
#define __IRsNode_FWD_DEFINED__
typedef interface IRsNode IRsNode;
#endif 	/* __IRsNode_FWD_DEFINED__ */


#ifndef __IRsNotifyEvent_FWD_DEFINED__
#define __IRsNotifyEvent_FWD_DEFINED__
typedef interface IRsNotifyEvent IRsNotifyEvent;
#endif 	/* __IRsNotifyEvent_FWD_DEFINED__ */


#ifndef __IRsNotify_FWD_DEFINED__
#define __IRsNotify_FWD_DEFINED__
typedef interface IRsNotify IRsNotify;
#endif 	/* __IRsNotify_FWD_DEFINED__ */


#ifndef __IRsCommand_FWD_DEFINED__
#define __IRsCommand_FWD_DEFINED__
typedef interface IRsCommand IRsCommand;
#endif 	/* __IRsCommand_FWD_DEFINED__ */


#ifndef __IRsInterfaceCmd_FWD_DEFINED__
#define __IRsInterfaceCmd_FWD_DEFINED__
typedef interface IRsInterfaceCmd IRsInterfaceCmd;
#endif 	/* __IRsInterfaceCmd_FWD_DEFINED__ */


#ifndef __IRsPersistentCmd_FWD_DEFINED__
#define __IRsPersistentCmd_FWD_DEFINED__
typedef interface IRsPersistentCmd IRsPersistentCmd;
#endif 	/* __IRsPersistentCmd_FWD_DEFINED__ */


#ifndef __IRsCompoundBase_FWD_DEFINED__
#define __IRsCompoundBase_FWD_DEFINED__
typedef interface IRsCompoundBase IRsCompoundBase;
#endif 	/* __IRsCompoundBase_FWD_DEFINED__ */


#ifndef __IRdScriptObject_FWD_DEFINED__
#define __IRdScriptObject_FWD_DEFINED__
typedef interface IRdScriptObject IRdScriptObject;
#endif 	/* __IRdScriptObject_FWD_DEFINED__ */


#ifndef __IRsLangObject_FWD_DEFINED__
#define __IRsLangObject_FWD_DEFINED__
typedef interface IRsLangObject IRsLangObject;
#endif 	/* __IRsLangObject_FWD_DEFINED__ */


#ifndef __IRsNamedItem_FWD_DEFINED__
#define __IRsNamedItem_FWD_DEFINED__
typedef interface IRsNamedItem IRsNamedItem;
#endif 	/* __IRsNamedItem_FWD_DEFINED__ */


#ifndef __IRsEnumNamedItem_FWD_DEFINED__
#define __IRsEnumNamedItem_FWD_DEFINED__
typedef interface IRsEnumNamedItem IRsEnumNamedItem;
#endif 	/* __IRsEnumNamedItem_FWD_DEFINED__ */


#ifndef __IRsPersistStream_FWD_DEFINED__
#define __IRsPersistStream_FWD_DEFINED__
typedef interface IRsPersistStream IRsPersistStream;
#endif 	/* __IRsPersistStream_FWD_DEFINED__ */


#ifndef __IRsObjDesc_FWD_DEFINED__
#define __IRsObjDesc_FWD_DEFINED__
typedef interface IRsObjDesc IRsObjDesc;
#endif 	/* __IRsObjDesc_FWD_DEFINED__ */


#ifndef __IRsNodeDesc_FWD_DEFINED__
#define __IRsNodeDesc_FWD_DEFINED__
typedef interface IRsNodeDesc IRsNodeDesc;
#endif 	/* __IRsNodeDesc_FWD_DEFINED__ */


#ifndef __IRsCmdDesc_FWD_DEFINED__
#define __IRsCmdDesc_FWD_DEFINED__
typedef interface IRsCmdDesc IRsCmdDesc;
#endif 	/* __IRsCmdDesc_FWD_DEFINED__ */


#ifndef __IRsDataObjDesc_FWD_DEFINED__
#define __IRsDataObjDesc_FWD_DEFINED__
typedef interface IRsDataObjDesc IRsDataObjDesc;
#endif 	/* __IRsDataObjDesc_FWD_DEFINED__ */


#ifndef __IRsLangObjDesc_FWD_DEFINED__
#define __IRsLangObjDesc_FWD_DEFINED__
typedef interface IRsLangObjDesc IRsLangObjDesc;
#endif 	/* __IRsLangObjDesc_FWD_DEFINED__ */


#ifndef __IRsConDescriptor_FWD_DEFINED__
#define __IRsConDescriptor_FWD_DEFINED__
typedef interface IRsConDescriptor IRsConDescriptor;
#endif 	/* __IRsConDescriptor_FWD_DEFINED__ */


#ifndef __IRsDcsPool_FWD_DEFINED__
#define __IRsDcsPool_FWD_DEFINED__
typedef interface IRsDcsPool IRsDcsPool;
#endif 	/* __IRsDcsPool_FWD_DEFINED__ */


#ifndef __IRsEnum_FWD_DEFINED__
#define __IRsEnum_FWD_DEFINED__
typedef interface IRsEnum IRsEnum;
#endif 	/* __IRsEnum_FWD_DEFINED__ */


#ifndef __IRsEnumConDesc_FWD_DEFINED__
#define __IRsEnumConDesc_FWD_DEFINED__
typedef interface IRsEnumConDesc IRsEnumConDesc;
#endif 	/* __IRsEnumConDesc_FWD_DEFINED__ */


#ifndef __IRsEnumNodes_FWD_DEFINED__
#define __IRsEnumNodes_FWD_DEFINED__
typedef interface IRsEnumNodes IRsEnumNodes;
#endif 	/* __IRsEnumNodes_FWD_DEFINED__ */


#ifndef __IRsEnumNodeDesc_FWD_DEFINED__
#define __IRsEnumNodeDesc_FWD_DEFINED__
typedef interface IRsEnumNodeDesc IRsEnumNodeDesc;
#endif 	/* __IRsEnumNodeDesc_FWD_DEFINED__ */


#ifndef __IRsEnumCmds_FWD_DEFINED__
#define __IRsEnumCmds_FWD_DEFINED__
typedef interface IRsEnumCmds IRsEnumCmds;
#endif 	/* __IRsEnumCmds_FWD_DEFINED__ */


#ifndef __IRsEnumCmdDesc_FWD_DEFINED__
#define __IRsEnumCmdDesc_FWD_DEFINED__
typedef interface IRsEnumCmdDesc IRsEnumCmdDesc;
#endif 	/* __IRsEnumCmdDesc_FWD_DEFINED__ */


#ifndef __IRsEnumDataObjDesc_FWD_DEFINED__
#define __IRsEnumDataObjDesc_FWD_DEFINED__
typedef interface IRsEnumDataObjDesc IRsEnumDataObjDesc;
#endif 	/* __IRsEnumDataObjDesc_FWD_DEFINED__ */


#ifndef __IRsEnumLangObjDesc_FWD_DEFINED__
#define __IRsEnumLangObjDesc_FWD_DEFINED__
typedef interface IRsEnumLangObjDesc IRsEnumLangObjDesc;
#endif 	/* __IRsEnumLangObjDesc_FWD_DEFINED__ */


#ifndef __IRsUnknownMsg_FWD_DEFINED__
#define __IRsUnknownMsg_FWD_DEFINED__
typedef interface IRsUnknownMsg IRsUnknownMsg;
#endif 	/* __IRsUnknownMsg_FWD_DEFINED__ */


#ifndef __IRsNodeFactory_FWD_DEFINED__
#define __IRsNodeFactory_FWD_DEFINED__
typedef interface IRsNodeFactory IRsNodeFactory;
#endif 	/* __IRsNodeFactory_FWD_DEFINED__ */


#ifndef __IRsCmdFactory_FWD_DEFINED__
#define __IRsCmdFactory_FWD_DEFINED__
typedef interface IRsCmdFactory IRsCmdFactory;
#endif 	/* __IRsCmdFactory_FWD_DEFINED__ */


#ifndef __IRsDataObjFactory_FWD_DEFINED__
#define __IRsDataObjFactory_FWD_DEFINED__
typedef interface IRsDataObjFactory IRsDataObjFactory;
#endif 	/* __IRsDataObjFactory_FWD_DEFINED__ */


#ifndef __IRsLangObjFactory_FWD_DEFINED__
#define __IRsLangObjFactory_FWD_DEFINED__
typedef interface IRsLangObjFactory IRsLangObjFactory;
#endif 	/* __IRsLangObjFactory_FWD_DEFINED__ */


#ifndef __IRsUnknownRunner_FWD_DEFINED__
#define __IRsUnknownRunner_FWD_DEFINED__
typedef interface IRsUnknownRunner IRsUnknownRunner;
#endif 	/* __IRsUnknownRunner_FWD_DEFINED__ */


#ifndef __IRsUnknownPackage_FWD_DEFINED__
#define __IRsUnknownPackage_FWD_DEFINED__
typedef interface IRsUnknownPackage IRsUnknownPackage;
#endif 	/* __IRsUnknownPackage_FWD_DEFINED__ */


#ifndef __IRsPackageDesc_FWD_DEFINED__
#define __IRsPackageDesc_FWD_DEFINED__
typedef interface IRsPackageDesc IRsPackageDesc;
#endif 	/* __IRsPackageDesc_FWD_DEFINED__ */


#ifndef __IRsModulePackage_FWD_DEFINED__
#define __IRsModulePackage_FWD_DEFINED__
typedef interface IRsModulePackage IRsModulePackage;
#endif 	/* __IRsModulePackage_FWD_DEFINED__ */


#ifndef __IRsEnumPackage_FWD_DEFINED__
#define __IRsEnumPackage_FWD_DEFINED__
typedef interface IRsEnumPackage IRsEnumPackage;
#endif 	/* __IRsEnumPackage_FWD_DEFINED__ */


#ifndef __IRsLangPackage_FWD_DEFINED__
#define __IRsLangPackage_FWD_DEFINED__
typedef interface IRsLangPackage IRsLangPackage;
#endif 	/* __IRsLangPackage_FWD_DEFINED__ */


#ifndef __IRsSysMsg_FWD_DEFINED__
#define __IRsSysMsg_FWD_DEFINED__
typedef interface IRsSysMsg IRsSysMsg;
#endif 	/* __IRsSysMsg_FWD_DEFINED__ */


#ifndef __IRsSysSerializeMsg_FWD_DEFINED__
#define __IRsSysSerializeMsg_FWD_DEFINED__
typedef interface IRsSysSerializeMsg IRsSysSerializeMsg;
#endif 	/* __IRsSysSerializeMsg_FWD_DEFINED__ */


#ifndef __IRsLogHandler_FWD_DEFINED__
#define __IRsLogHandler_FWD_DEFINED__
typedef interface IRsLogHandler IRsLogHandler;
#endif 	/* __IRsLogHandler_FWD_DEFINED__ */


#ifndef __IRsLogger_FWD_DEFINED__
#define __IRsLogger_FWD_DEFINED__
typedef interface IRsLogger IRsLogger;
#endif 	/* __IRsLogger_FWD_DEFINED__ */


#ifndef __IRsUICtrlItemDescriptor_FWD_DEFINED__
#define __IRsUICtrlItemDescriptor_FWD_DEFINED__
typedef interface IRsUICtrlItemDescriptor IRsUICtrlItemDescriptor;
#endif 	/* __IRsUICtrlItemDescriptor_FWD_DEFINED__ */


#ifndef __IRsCustNodeSE_FWD_DEFINED__
#define __IRsCustNodeSE_FWD_DEFINED__
typedef interface IRsCustNodeSE IRsCustNodeSE;
#endif 	/* __IRsCustNodeSE_FWD_DEFINED__ */


#ifndef __IRsPersistDeltaStream_FWD_DEFINED__
#define __IRsPersistDeltaStream_FWD_DEFINED__
typedef interface IRsPersistDeltaStream IRsPersistDeltaStream;
#endif 	/* __IRsPersistDeltaStream_FWD_DEFINED__ */


#ifndef __IRsConSolver_FWD_DEFINED__
#define __IRsConSolver_FWD_DEFINED__
typedef interface IRsConSolver IRsConSolver;
#endif 	/* __IRsConSolver_FWD_DEFINED__ */


#ifndef __IRsPersistStreamEx_FWD_DEFINED__
#define __IRsPersistStreamEx_FWD_DEFINED__
typedef interface IRsPersistStreamEx IRsPersistStreamEx;
#endif 	/* __IRsPersistStreamEx_FWD_DEFINED__ */


#ifndef __IRsEnumCon_FWD_DEFINED__
#define __IRsEnumCon_FWD_DEFINED__
typedef interface IRsEnumCon IRsEnumCon;
#endif 	/* __IRsEnumCon_FWD_DEFINED__ */


#ifndef __IRsConnector_FWD_DEFINED__
#define __IRsConnector_FWD_DEFINED__
typedef interface IRsConnector IRsConnector;
#endif 	/* __IRsConnector_FWD_DEFINED__ */


#ifndef __IRsConnection_FWD_DEFINED__
#define __IRsConnection_FWD_DEFINED__
typedef interface IRsConnection IRsConnection;
#endif 	/* __IRsConnection_FWD_DEFINED__ */


#ifndef __IRsEnumConnection_FWD_DEFINED__
#define __IRsEnumConnection_FWD_DEFINED__
typedef interface IRsEnumConnection IRsEnumConnection;
#endif 	/* __IRsEnumConnection_FWD_DEFINED__ */


#ifndef __IRsConnectionList_FWD_DEFINED__
#define __IRsConnectionList_FWD_DEFINED__
typedef interface IRsConnectionList IRsConnectionList;
#endif 	/* __IRsConnectionList_FWD_DEFINED__ */


#ifndef __IRsConEvents_FWD_DEFINED__
#define __IRsConEvents_FWD_DEFINED__
typedef interface IRsConEvents IRsConEvents;
#endif 	/* __IRsConEvents_FWD_DEFINED__ */


#ifndef __IRsDataCacheItem_FWD_DEFINED__
#define __IRsDataCacheItem_FWD_DEFINED__
typedef interface IRsDataCacheItem IRsDataCacheItem;
#endif 	/* __IRsDataCacheItem_FWD_DEFINED__ */


#ifndef __IRsDataCache_FWD_DEFINED__
#define __IRsDataCache_FWD_DEFINED__
typedef interface IRsDataCache IRsDataCache;
#endif 	/* __IRsDataCache_FWD_DEFINED__ */


#ifndef __IRsUnknownNode_FWD_DEFINED__
#define __IRsUnknownNode_FWD_DEFINED__
typedef interface IRsUnknownNode IRsUnknownNode;
#endif 	/* __IRsUnknownNode_FWD_DEFINED__ */


#ifndef __IRsBaseNode_FWD_DEFINED__
#define __IRsBaseNode_FWD_DEFINED__
typedef interface IRsBaseNode IRsBaseNode;
#endif 	/* __IRsBaseNode_FWD_DEFINED__ */


#ifndef __IRsDebugBaseNode_FWD_DEFINED__
#define __IRsDebugBaseNode_FWD_DEFINED__
typedef interface IRsDebugBaseNode IRsDebugBaseNode;
#endif 	/* __IRsDebugBaseNode_FWD_DEFINED__ */


#ifndef __IRfBaseSet_FWD_DEFINED__
#define __IRfBaseSet_FWD_DEFINED__
typedef interface IRfBaseSet IRfBaseSet;
#endif 	/* __IRfBaseSet_FWD_DEFINED__ */


#ifndef __IRnEncapsulator_FWD_DEFINED__
#define __IRnEncapsulator_FWD_DEFINED__
typedef interface IRnEncapsulator IRnEncapsulator;
#endif 	/* __IRnEncapsulator_FWD_DEFINED__ */


#ifndef __IRsUnknownBSEvent_FWD_DEFINED__
#define __IRsUnknownBSEvent_FWD_DEFINED__
typedef interface IRsUnknownBSEvent IRsUnknownBSEvent;
#endif 	/* __IRsUnknownBSEvent_FWD_DEFINED__ */


#ifndef __IRsBSEvent_FWD_DEFINED__
#define __IRsBSEvent_FWD_DEFINED__
typedef interface IRsBSEvent IRsBSEvent;
#endif 	/* __IRsBSEvent_FWD_DEFINED__ */


#ifndef __IRsConData_FWD_DEFINED__
#define __IRsConData_FWD_DEFINED__
typedef interface IRsConData IRsConData;
#endif 	/* __IRsConData_FWD_DEFINED__ */


#ifndef __IRsBSEAddCon_FWD_DEFINED__
#define __IRsBSEAddCon_FWD_DEFINED__
typedef interface IRsBSEAddCon IRsBSEAddCon;
#endif 	/* __IRsBSEAddCon_FWD_DEFINED__ */


#ifndef __IRsBSEIdRegister_FWD_DEFINED__
#define __IRsBSEIdRegister_FWD_DEFINED__
typedef interface IRsBSEIdRegister IRsBSEIdRegister;
#endif 	/* __IRsBSEIdRegister_FWD_DEFINED__ */


#ifndef __IRsBSEIdRegisterCB_FWD_DEFINED__
#define __IRsBSEIdRegisterCB_FWD_DEFINED__
typedef interface IRsBSEIdRegisterCB IRsBSEIdRegisterCB;
#endif 	/* __IRsBSEIdRegisterCB_FWD_DEFINED__ */


#ifndef __IRsBSERemCon_FWD_DEFINED__
#define __IRsBSERemCon_FWD_DEFINED__
typedef interface IRsBSERemCon IRsBSERemCon;
#endif 	/* __IRsBSERemCon_FWD_DEFINED__ */


#ifndef __IRsBSEConnect_FWD_DEFINED__
#define __IRsBSEConnect_FWD_DEFINED__
typedef interface IRsBSEConnect IRsBSEConnect;
#endif 	/* __IRsBSEConnect_FWD_DEFINED__ */


#ifndef __IRsBSEDisconnect_FWD_DEFINED__
#define __IRsBSEDisconnect_FWD_DEFINED__
typedef interface IRsBSEDisconnect IRsBSEDisconnect;
#endif 	/* __IRsBSEDisconnect_FWD_DEFINED__ */


#ifndef __IRsBSERename_FWD_DEFINED__
#define __IRsBSERename_FWD_DEFINED__
typedef interface IRsBSERename IRsBSERename;
#endif 	/* __IRsBSERename_FWD_DEFINED__ */


#ifndef __IRsBSESetValue_FWD_DEFINED__
#define __IRsBSESetValue_FWD_DEFINED__
typedef interface IRsBSESetValue IRsBSESetValue;
#endif 	/* __IRsBSESetValue_FWD_DEFINED__ */


#ifndef __IRsBSEConChanged_FWD_DEFINED__
#define __IRsBSEConChanged_FWD_DEFINED__
typedef interface IRsBSEConChanged IRsBSEConChanged;
#endif 	/* __IRsBSEConChanged_FWD_DEFINED__ */


#ifndef __IRsBSECustom_FWD_DEFINED__
#define __IRsBSECustom_FWD_DEFINED__
typedef interface IRsBSECustom IRsBSECustom;
#endif 	/* __IRsBSECustom_FWD_DEFINED__ */


#ifndef __IRsBSEConDepend_FWD_DEFINED__
#define __IRsBSEConDepend_FWD_DEFINED__
typedef interface IRsBSEConDepend IRsBSEConDepend;
#endif 	/* __IRsBSEConDepend_FWD_DEFINED__ */


#ifndef __IRsEnumBSEvents_FWD_DEFINED__
#define __IRsEnumBSEvents_FWD_DEFINED__
typedef interface IRsEnumBSEvents IRsEnumBSEvents;
#endif 	/* __IRsEnumBSEvents_FWD_DEFINED__ */


#ifndef __IRsBSEventBlock_FWD_DEFINED__
#define __IRsBSEventBlock_FWD_DEFINED__
typedef interface IRsBSEventBlock IRsBSEventBlock;
#endif 	/* __IRsBSEventBlock_FWD_DEFINED__ */


#ifndef __IRsBSEBlockRepository_FWD_DEFINED__
#define __IRsBSEBlockRepository_FWD_DEFINED__
typedef interface IRsBSEBlockRepository IRsBSEBlockRepository;
#endif 	/* __IRsBSEBlockRepository_FWD_DEFINED__ */


#ifndef __IRfBSEventFn_FWD_DEFINED__
#define __IRfBSEventFn_FWD_DEFINED__
typedef interface IRfBSEventFn IRfBSEventFn;
#endif 	/* __IRfBSEventFn_FWD_DEFINED__ */


#ifndef __IRfBSEventAggFn_FWD_DEFINED__
#define __IRfBSEventAggFn_FWD_DEFINED__
typedef interface IRfBSEventAggFn IRfBSEventAggFn;
#endif 	/* __IRfBSEventAggFn_FWD_DEFINED__ */


#ifndef __IRsCmdRequest_FWD_DEFINED__
#define __IRsCmdRequest_FWD_DEFINED__
typedef interface IRsCmdRequest IRsCmdRequest;
#endif 	/* __IRsCmdRequest_FWD_DEFINED__ */


#ifndef __IRsTool_FWD_DEFINED__
#define __IRsTool_FWD_DEFINED__
typedef interface IRsTool IRsTool;
#endif 	/* __IRsTool_FWD_DEFINED__ */


#ifndef __IRsToolManagerHook_FWD_DEFINED__
#define __IRsToolManagerHook_FWD_DEFINED__
typedef interface IRsToolManagerHook IRsToolManagerHook;
#endif 	/* __IRsToolManagerHook_FWD_DEFINED__ */


#ifndef __IRsToolManager_FWD_DEFINED__
#define __IRsToolManager_FWD_DEFINED__
typedef interface IRsToolManager IRsToolManager;
#endif 	/* __IRsToolManager_FWD_DEFINED__ */


#ifndef __IRsToolManagerListener_FWD_DEFINED__
#define __IRsToolManagerListener_FWD_DEFINED__
typedef interface IRsToolManagerListener IRsToolManagerListener;
#endif 	/* __IRsToolManagerListener_FWD_DEFINED__ */


#ifndef __IRsEnumToolManagers_FWD_DEFINED__
#define __IRsEnumToolManagers_FWD_DEFINED__
typedef interface IRsEnumToolManagers IRsEnumToolManagers;
#endif 	/* __IRsEnumToolManagers_FWD_DEFINED__ */


#ifndef __IRsSysToolManager_FWD_DEFINED__
#define __IRsSysToolManager_FWD_DEFINED__
typedef interface IRsSysToolManager IRsSysToolManager;
#endif 	/* __IRsSysToolManager_FWD_DEFINED__ */


#ifndef __IRsSysFactory_FWD_DEFINED__
#define __IRsSysFactory_FWD_DEFINED__
typedef interface IRsSysFactory IRsSysFactory;
#endif 	/* __IRsSysFactory_FWD_DEFINED__ */


#ifndef __IRsHistory_FWD_DEFINED__
#define __IRsHistory_FWD_DEFINED__
typedef interface IRsHistory IRsHistory;
#endif 	/* __IRsHistory_FWD_DEFINED__ */


#ifndef __IRsCommandMng_FWD_DEFINED__
#define __IRsCommandMng_FWD_DEFINED__
typedef interface IRsCommandMng IRsCommandMng;
#endif 	/* __IRsCommandMng_FWD_DEFINED__ */


#ifndef __IRsScriptDriver_FWD_DEFINED__
#define __IRsScriptDriver_FWD_DEFINED__
typedef interface IRsScriptDriver IRsScriptDriver;
#endif 	/* __IRsScriptDriver_FWD_DEFINED__ */


#ifndef __IRsEncapsIt_FWD_DEFINED__
#define __IRsEncapsIt_FWD_DEFINED__
typedef interface IRsEncapsIt IRsEncapsIt;
#endif 	/* __IRsEncapsIt_FWD_DEFINED__ */


#ifndef __IRnTimer_FWD_DEFINED__
#define __IRnTimer_FWD_DEFINED__
typedef interface IRnTimer IRnTimer;
#endif 	/* __IRnTimer_FWD_DEFINED__ */


#ifndef __IRnOutputServer_FWD_DEFINED__
#define __IRnOutputServer_FWD_DEFINED__
typedef interface IRnOutputServer IRnOutputServer;
#endif 	/* __IRnOutputServer_FWD_DEFINED__ */


#ifndef __IRnKernel_FWD_DEFINED__
#define __IRnKernel_FWD_DEFINED__
typedef interface IRnKernel IRnKernel;
#endif 	/* __IRnKernel_FWD_DEFINED__ */


#ifndef __IRfKernelSet_FWD_DEFINED__
#define __IRfKernelSet_FWD_DEFINED__
typedef interface IRfKernelSet IRfKernelSet;
#endif 	/* __IRfKernelSet_FWD_DEFINED__ */


#ifndef __IRfEncapsulatorSet_FWD_DEFINED__
#define __IRfEncapsulatorSet_FWD_DEFINED__
typedef interface IRfEncapsulatorSet IRfEncapsulatorSet;
#endif 	/* __IRfEncapsulatorSet_FWD_DEFINED__ */


#ifndef __IRsGenScanner_FWD_DEFINED__
#define __IRsGenScanner_FWD_DEFINED__
typedef interface IRsGenScanner IRsGenScanner;
#endif 	/* __IRsGenScanner_FWD_DEFINED__ */


#ifndef __IRsScannerCategory_FWD_DEFINED__
#define __IRsScannerCategory_FWD_DEFINED__
typedef interface IRsScannerCategory IRsScannerCategory;
#endif 	/* __IRsScannerCategory_FWD_DEFINED__ */


#ifndef __IRsSysScanner_FWD_DEFINED__
#define __IRsSysScanner_FWD_DEFINED__
typedef interface IRsSysScanner IRsSysScanner;
#endif 	/* __IRsSysScanner_FWD_DEFINED__ */


#ifndef __IRsEventLogSession_FWD_DEFINED__
#define __IRsEventLogSession_FWD_DEFINED__
typedef interface IRsEventLogSession IRsEventLogSession;
#endif 	/* __IRsEventLogSession_FWD_DEFINED__ */


#ifndef __IRsActivityMng_FWD_DEFINED__
#define __IRsActivityMng_FWD_DEFINED__
typedef interface IRsActivityMng IRsActivityMng;
#endif 	/* __IRsActivityMng_FWD_DEFINED__ */


#ifndef __IRsSysCore_FWD_DEFINED__
#define __IRsSysCore_FWD_DEFINED__
typedef interface IRsSysCore IRsSysCore;
#endif 	/* __IRsSysCore_FWD_DEFINED__ */


#ifndef __IRsFileHeader_FWD_DEFINED__
#define __IRsFileHeader_FWD_DEFINED__
typedef interface IRsFileHeader IRsFileHeader;
#endif 	/* __IRsFileHeader_FWD_DEFINED__ */


#ifndef __IRsSession_FWD_DEFINED__
#define __IRsSession_FWD_DEFINED__
typedef interface IRsSession IRsSession;
#endif 	/* __IRsSession_FWD_DEFINED__ */


#ifndef __IRsSysPersist_FWD_DEFINED__
#define __IRsSysPersist_FWD_DEFINED__
typedef interface IRsSysPersist IRsSysPersist;
#endif 	/* __IRsSysPersist_FWD_DEFINED__ */


#ifndef __IRsKernelFactory_FWD_DEFINED__
#define __IRsKernelFactory_FWD_DEFINED__
typedef interface IRsKernelFactory IRsKernelFactory;
#endif 	/* __IRsKernelFactory_FWD_DEFINED__ */


#ifndef __IRfConnection_FWD_DEFINED__
#define __IRfConnection_FWD_DEFINED__
typedef interface IRfConnection IRfConnection;
#endif 	/* __IRfConnection_FWD_DEFINED__ */


#ifndef __IRsNodeFilter_FWD_DEFINED__
#define __IRsNodeFilter_FWD_DEFINED__
typedef interface IRsNodeFilter IRsNodeFilter;
#endif 	/* __IRsNodeFilter_FWD_DEFINED__ */


#ifndef __IRsBaseSelection_FWD_DEFINED__
#define __IRsBaseSelection_FWD_DEFINED__
typedef interface IRsBaseSelection IRsBaseSelection;
#endif 	/* __IRsBaseSelection_FWD_DEFINED__ */


#ifndef __IRsSelectionNotification_FWD_DEFINED__
#define __IRsSelectionNotification_FWD_DEFINED__
typedef interface IRsSelectionNotification IRsSelectionNotification;
#endif 	/* __IRsSelectionNotification_FWD_DEFINED__ */


#ifndef __IRsNotificationManager_FWD_DEFINED__
#define __IRsNotificationManager_FWD_DEFINED__
typedef interface IRsNotificationManager IRsNotificationManager;
#endif 	/* __IRsNotificationManager_FWD_DEFINED__ */


#ifndef __IRsSelectionManager_FWD_DEFINED__
#define __IRsSelectionManager_FWD_DEFINED__
typedef interface IRsSelectionManager IRsSelectionManager;
#endif 	/* __IRsSelectionManager_FWD_DEFINED__ */


#ifndef __IRdSelNodeSelection_FWD_DEFINED__
#define __IRdSelNodeSelection_FWD_DEFINED__
typedef interface IRdSelNodeSelection IRdSelNodeSelection;
#endif 	/* __IRdSelNodeSelection_FWD_DEFINED__ */


#ifndef __IRdSelNodeSelectionDisp_FWD_DEFINED__
#define __IRdSelNodeSelectionDisp_FWD_DEFINED__
typedef interface IRdSelNodeSelectionDisp IRdSelNodeSelectionDisp;
#endif 	/* __IRdSelNodeSelectionDisp_FWD_DEFINED__ */


#ifndef __IRsAcceleratorHandler_FWD_DEFINED__
#define __IRsAcceleratorHandler_FWD_DEFINED__
typedef interface IRsAcceleratorHandler IRsAcceleratorHandler;
#endif 	/* __IRsAcceleratorHandler_FWD_DEFINED__ */


#ifndef __IRsAcceleratorHandlerManager_FWD_DEFINED__
#define __IRsAcceleratorHandlerManager_FWD_DEFINED__
typedef interface IRsAcceleratorHandlerManager IRsAcceleratorHandlerManager;
#endif 	/* __IRsAcceleratorHandlerManager_FWD_DEFINED__ */


#ifndef __IRsAcceleratorHandlerManagerDisp_FWD_DEFINED__
#define __IRsAcceleratorHandlerManagerDisp_FWD_DEFINED__
typedef interface IRsAcceleratorHandlerManagerDisp IRsAcceleratorHandlerManagerDisp;
#endif 	/* __IRsAcceleratorHandlerManagerDisp_FWD_DEFINED__ */


#ifndef __IRsAcceleratorHandlerGlobal_FWD_DEFINED__
#define __IRsAcceleratorHandlerGlobal_FWD_DEFINED__
typedef interface IRsAcceleratorHandlerGlobal IRsAcceleratorHandlerGlobal;
#endif 	/* __IRsAcceleratorHandlerGlobal_FWD_DEFINED__ */


#ifndef __IRsPluginDesc_FWD_DEFINED__
#define __IRsPluginDesc_FWD_DEFINED__
typedef interface IRsPluginDesc IRsPluginDesc;
#endif 	/* __IRsPluginDesc_FWD_DEFINED__ */


#ifndef __IRsEnumPluginDesc_FWD_DEFINED__
#define __IRsEnumPluginDesc_FWD_DEFINED__
typedef interface IRsEnumPluginDesc IRsEnumPluginDesc;
#endif 	/* __IRsEnumPluginDesc_FWD_DEFINED__ */


#ifndef __IRsPluginManager_FWD_DEFINED__
#define __IRsPluginManager_FWD_DEFINED__
typedef interface IRsPluginManager IRsPluginManager;
#endif 	/* __IRsPluginManager_FWD_DEFINED__ */


#ifndef __IRsObjectFactory_FWD_DEFINED__
#define __IRsObjectFactory_FWD_DEFINED__
typedef interface IRsObjectFactory IRsObjectFactory;
#endif 	/* __IRsObjectFactory_FWD_DEFINED__ */


#ifndef __IRsBaseDummy_FWD_DEFINED__
#define __IRsBaseDummy_FWD_DEFINED__
typedef interface IRsBaseDummy IRsBaseDummy;
#endif 	/* __IRsBaseDummy_FWD_DEFINED__ */


#ifndef __IRpKernel_FWD_DEFINED__
#define __IRpKernel_FWD_DEFINED__
typedef interface IRpKernel IRpKernel;
#endif 	/* __IRpKernel_FWD_DEFINED__ */


#ifndef __IRsSysMessageReceiver_FWD_DEFINED__
#define __IRsSysMessageReceiver_FWD_DEFINED__
typedef interface IRsSysMessageReceiver IRsSysMessageReceiver;
#endif 	/* __IRsSysMessageReceiver_FWD_DEFINED__ */


#ifndef __IRcCaching_FWD_DEFINED__
#define __IRcCaching_FWD_DEFINED__
typedef interface IRcCaching IRcCaching;
#endif 	/* __IRcCaching_FWD_DEFINED__ */


#ifndef __IRcCompound_FWD_DEFINED__
#define __IRcCompound_FWD_DEFINED__
typedef interface IRcCompound IRcCompound;
#endif 	/* __IRcCompound_FWD_DEFINED__ */


#ifndef __IRcDummy_FWD_DEFINED__
#define __IRcDummy_FWD_DEFINED__
typedef interface IRcDummy IRcDummy;
#endif 	/* __IRcDummy_FWD_DEFINED__ */


#ifndef __IRcHistory_FWD_DEFINED__
#define __IRcHistory_FWD_DEFINED__
typedef interface IRcHistory IRcHistory;
#endif 	/* __IRcHistory_FWD_DEFINED__ */


#ifndef __IRcImportPck_FWD_DEFINED__
#define __IRcImportPck_FWD_DEFINED__
typedef interface IRcImportPck IRcImportPck;
#endif 	/* __IRcImportPck_FWD_DEFINED__ */


#ifndef __IRcITransition_FWD_DEFINED__
#define __IRcITransition_FWD_DEFINED__
typedef interface IRcITransition IRcITransition;
#endif 	/* __IRcITransition_FWD_DEFINED__ */


#ifndef __IRcListCmd_FWD_DEFINED__
#define __IRcListCmd_FWD_DEFINED__
typedef interface IRcListCmd IRcListCmd;
#endif 	/* __IRcListCmd_FWD_DEFINED__ */


#ifndef __IRcPackageOp_FWD_DEFINED__
#define __IRcPackageOp_FWD_DEFINED__
typedef interface IRcPackageOp IRcPackageOp;
#endif 	/* __IRcPackageOp_FWD_DEFINED__ */


#ifndef __IRcRedo_FWD_DEFINED__
#define __IRcRedo_FWD_DEFINED__
typedef interface IRcRedo IRcRedo;
#endif 	/* __IRcRedo_FWD_DEFINED__ */


#ifndef __IRcRootCreate_FWD_DEFINED__
#define __IRcRootCreate_FWD_DEFINED__
typedef interface IRcRootCreate IRcRootCreate;
#endif 	/* __IRcRootCreate_FWD_DEFINED__ */


#ifndef __IRcRunScript_FWD_DEFINED__
#define __IRcRunScript_FWD_DEFINED__
typedef interface IRcRunScript IRcRunScript;
#endif 	/* __IRcRunScript_FWD_DEFINED__ */


#ifndef __IRcShutDown_FWD_DEFINED__
#define __IRcShutDown_FWD_DEFINED__
typedef interface IRcShutDown IRcShutDown;
#endif 	/* __IRcShutDown_FWD_DEFINED__ */


#ifndef __IRcSysEvent_FWD_DEFINED__
#define __IRcSysEvent_FWD_DEFINED__
typedef interface IRcSysEvent IRcSysEvent;
#endif 	/* __IRcSysEvent_FWD_DEFINED__ */


#ifndef __IRcSysReset_FWD_DEFINED__
#define __IRcSysReset_FWD_DEFINED__
typedef interface IRcSysReset IRcSysReset;
#endif 	/* __IRcSysReset_FWD_DEFINED__ */


#ifndef __IRcTick_FWD_DEFINED__
#define __IRcTick_FWD_DEFINED__
typedef interface IRcTick IRcTick;
#endif 	/* __IRcTick_FWD_DEFINED__ */


#ifndef __IRcTimer_FWD_DEFINED__
#define __IRcTimer_FWD_DEFINED__
typedef interface IRcTimer IRcTimer;
#endif 	/* __IRcTimer_FWD_DEFINED__ */


#ifndef __IRcTransition_FWD_DEFINED__
#define __IRcTransition_FWD_DEFINED__
typedef interface IRcTransition IRcTransition;
#endif 	/* __IRcTransition_FWD_DEFINED__ */


#ifndef __IRcUndo_FWD_DEFINED__
#define __IRcUndo_FWD_DEFINED__
typedef interface IRcUndo IRcUndo;
#endif 	/* __IRcUndo_FWD_DEFINED__ */


#ifndef __IRdDummy_FWD_DEFINED__
#define __IRdDummy_FWD_DEFINED__
typedef interface IRdDummy IRdDummy;
#endif 	/* __IRdDummy_FWD_DEFINED__ */


#ifndef __IRiSystemCommand_FWD_DEFINED__
#define __IRiSystemCommand_FWD_DEFINED__
typedef interface IRiSystemCommand IRiSystemCommand;
#endif 	/* __IRiSystemCommand_FWD_DEFINED__ */


#ifndef __IRsCmdScriptForm_FWD_DEFINED__
#define __IRsCmdScriptForm_FWD_DEFINED__
typedef interface IRsCmdScriptForm IRsCmdScriptForm;
#endif 	/* __IRsCmdScriptForm_FWD_DEFINED__ */


#ifndef __IRsCmdScriptFormEx_FWD_DEFINED__
#define __IRsCmdScriptFormEx_FWD_DEFINED__
typedef interface IRsCmdScriptFormEx IRsCmdScriptFormEx;
#endif 	/* __IRsCmdScriptFormEx_FWD_DEFINED__ */


#ifndef __IRiApp_FWD_DEFINED__
#define __IRiApp_FWD_DEFINED__
typedef interface IRiApp IRiApp;
#endif 	/* __IRiApp_FWD_DEFINED__ */


#ifndef __IRiPackage_FWD_DEFINED__
#define __IRiPackage_FWD_DEFINED__
typedef interface IRiPackage IRiPackage;
#endif 	/* __IRiPackage_FWD_DEFINED__ */


#ifndef __IRnActiveSel_FWD_DEFINED__
#define __IRnActiveSel_FWD_DEFINED__
typedef interface IRnActiveSel IRnActiveSel;
#endif 	/* __IRnActiveSel_FWD_DEFINED__ */


#ifndef __IRnDummy_FWD_DEFINED__
#define __IRnDummy_FWD_DEFINED__
typedef interface IRnDummy IRnDummy;
#endif 	/* __IRnDummy_FWD_DEFINED__ */


#ifndef __IRnDummyEncaps_FWD_DEFINED__
#define __IRnDummyEncaps_FWD_DEFINED__
typedef interface IRnDummyEncaps IRnDummyEncaps;
#endif 	/* __IRnDummyEncaps_FWD_DEFINED__ */


#ifndef __IRsViewNode_FWD_DEFINED__
#define __IRsViewNode_FWD_DEFINED__
typedef interface IRsViewNode IRsViewNode;
#endif 	/* __IRsViewNode_FWD_DEFINED__ */


#ifndef __IRsDockedWindow_FWD_DEFINED__
#define __IRsDockedWindow_FWD_DEFINED__
typedef interface IRsDockedWindow IRsDockedWindow;
#endif 	/* __IRsDockedWindow_FWD_DEFINED__ */


#ifndef __IRsDockingTarget_FWD_DEFINED__
#define __IRsDockingTarget_FWD_DEFINED__
typedef interface IRsDockingTarget IRsDockingTarget;
#endif 	/* __IRsDockingTarget_FWD_DEFINED__ */


#ifndef __IRsDaDSource_FWD_DEFINED__
#define __IRsDaDSource_FWD_DEFINED__
typedef interface IRsDaDSource IRsDaDSource;
#endif 	/* __IRsDaDSource_FWD_DEFINED__ */


#ifndef __IRsDaDTarget_FWD_DEFINED__
#define __IRsDaDTarget_FWD_DEFINED__
typedef interface IRsDaDTarget IRsDaDTarget;
#endif 	/* __IRsDaDTarget_FWD_DEFINED__ */


#ifndef __IRdColor_FWD_DEFINED__
#define __IRdColor_FWD_DEFINED__
typedef interface IRdColor IRdColor;
#endif 	/* __IRdColor_FWD_DEFINED__ */


#ifndef __IRdBitmap_FWD_DEFINED__
#define __IRdBitmap_FWD_DEFINED__
typedef interface IRdBitmap IRdBitmap;
#endif 	/* __IRdBitmap_FWD_DEFINED__ */


#ifndef __IRsBitmapD3DSupport_FWD_DEFINED__
#define __IRsBitmapD3DSupport_FWD_DEFINED__
typedef interface IRsBitmapD3DSupport IRsBitmapD3DSupport;
#endif 	/* __IRsBitmapD3DSupport_FWD_DEFINED__ */


#ifndef __IRnLibraryItemPreview_FWD_DEFINED__
#define __IRnLibraryItemPreview_FWD_DEFINED__
typedef interface IRnLibraryItemPreview IRnLibraryItemPreview;
#endif 	/* __IRnLibraryItemPreview_FWD_DEFINED__ */


#ifndef __IRnLibraryItemActions_FWD_DEFINED__
#define __IRnLibraryItemActions_FWD_DEFINED__
typedef interface IRnLibraryItemActions IRnLibraryItemActions;
#endif 	/* __IRnLibraryItemActions_FWD_DEFINED__ */


#ifndef __IRnLibraryItem_FWD_DEFINED__
#define __IRnLibraryItem_FWD_DEFINED__
typedef interface IRnLibraryItem IRnLibraryItem;
#endif 	/* __IRnLibraryItem_FWD_DEFINED__ */


#ifndef __IRnSceneLibraryItem_FWD_DEFINED__
#define __IRnSceneLibraryItem_FWD_DEFINED__
typedef interface IRnSceneLibraryItem IRnSceneLibraryItem;
#endif 	/* __IRnSceneLibraryItem_FWD_DEFINED__ */


#ifndef __IRnContextLibItem_FWD_DEFINED__
#define __IRnContextLibItem_FWD_DEFINED__
typedef interface IRnContextLibItem IRnContextLibItem;
#endif 	/* __IRnContextLibItem_FWD_DEFINED__ */


#ifndef __IRnLayoutLibraryItem_FWD_DEFINED__
#define __IRnLayoutLibraryItem_FWD_DEFINED__
typedef interface IRnLayoutLibraryItem IRnLayoutLibraryItem;
#endif 	/* __IRnLayoutLibraryItem_FWD_DEFINED__ */


#ifndef __IRnPreferencesLibraryItem_FWD_DEFINED__
#define __IRnPreferencesLibraryItem_FWD_DEFINED__
typedef interface IRnPreferencesLibraryItem IRnPreferencesLibraryItem;
#endif 	/* __IRnPreferencesLibraryItem_FWD_DEFINED__ */


#ifndef __IRnProjectLibItem_FWD_DEFINED__
#define __IRnProjectLibItem_FWD_DEFINED__
typedef interface IRnProjectLibItem IRnProjectLibItem;
#endif 	/* __IRnProjectLibItem_FWD_DEFINED__ */


#ifndef __IRnRecordLibItem_FWD_DEFINED__
#define __IRnRecordLibItem_FWD_DEFINED__
typedef interface IRnRecordLibItem IRnRecordLibItem;
#endif 	/* __IRnRecordLibItem_FWD_DEFINED__ */


#ifndef __IRnLibrary_FWD_DEFINED__
#define __IRnLibrary_FWD_DEFINED__
typedef interface IRnLibrary IRnLibrary;
#endif 	/* __IRnLibrary_FWD_DEFINED__ */


#ifndef __IRsLibraryEventReceiver_FWD_DEFINED__
#define __IRsLibraryEventReceiver_FWD_DEFINED__
typedef interface IRsLibraryEventReceiver IRsLibraryEventReceiver;
#endif 	/* __IRsLibraryEventReceiver_FWD_DEFINED__ */


#ifndef __IRsBaseScript_FWD_DEFINED__
#define __IRsBaseScript_FWD_DEFINED__
typedef interface IRsBaseScript IRsBaseScript;
#endif 	/* __IRsBaseScript_FWD_DEFINED__ */


#ifndef __IRcScriptCmd_FWD_DEFINED__
#define __IRcScriptCmd_FWD_DEFINED__
typedef interface IRcScriptCmd IRcScriptCmd;
#endif 	/* __IRcScriptCmd_FWD_DEFINED__ */


#ifndef __IRnScriptNode_FWD_DEFINED__
#define __IRnScriptNode_FWD_DEFINED__
typedef interface IRnScriptNode IRnScriptNode;
#endif 	/* __IRnScriptNode_FWD_DEFINED__ */


#ifndef __IRfScriptFnSet_FWD_DEFINED__
#define __IRfScriptFnSet_FWD_DEFINED__
typedef interface IRfScriptFnSet IRfScriptFnSet;
#endif 	/* __IRfScriptFnSet_FWD_DEFINED__ */


#ifndef __IRsUIControlSize_FWD_DEFINED__
#define __IRsUIControlSize_FWD_DEFINED__
typedef interface IRsUIControlSize IRsUIControlSize;
#endif 	/* __IRsUIControlSize_FWD_DEFINED__ */


#ifndef __IRsUIControlDesc_FWD_DEFINED__
#define __IRsUIControlDesc_FWD_DEFINED__
typedef interface IRsUIControlDesc IRsUIControlDesc;
#endif 	/* __IRsUIControlDesc_FWD_DEFINED__ */


#ifndef __IRsEnumUIControlDesc_FWD_DEFINED__
#define __IRsEnumUIControlDesc_FWD_DEFINED__
typedef interface IRsEnumUIControlDesc IRsEnumUIControlDesc;
#endif 	/* __IRsEnumUIControlDesc_FWD_DEFINED__ */


#ifndef __IRsPanel_FWD_DEFINED__
#define __IRsPanel_FWD_DEFINED__
typedef interface IRsPanel IRsPanel;
#endif 	/* __IRsPanel_FWD_DEFINED__ */


#ifndef __IRsPanelOwner_FWD_DEFINED__
#define __IRsPanelOwner_FWD_DEFINED__
typedef interface IRsPanelOwner IRsPanelOwner;
#endif 	/* __IRsPanelOwner_FWD_DEFINED__ */


#ifndef __IRsLEPanelData_FWD_DEFINED__
#define __IRsLEPanelData_FWD_DEFINED__
typedef interface IRsLEPanelData IRsLEPanelData;
#endif 	/* __IRsLEPanelData_FWD_DEFINED__ */


#ifndef __IRsUIControlBase_FWD_DEFINED__
#define __IRsUIControlBase_FWD_DEFINED__
typedef interface IRsUIControlBase IRsUIControlBase;
#endif 	/* __IRsUIControlBase_FWD_DEFINED__ */


#ifndef __IRsUIControlOwner_FWD_DEFINED__
#define __IRsUIControlOwner_FWD_DEFINED__
typedef interface IRsUIControlOwner IRsUIControlOwner;
#endif 	/* __IRsUIControlOwner_FWD_DEFINED__ */


#ifndef __IRsUIControl_FWD_DEFINED__
#define __IRsUIControl_FWD_DEFINED__
typedef interface IRsUIControl IRsUIControl;
#endif 	/* __IRsUIControl_FWD_DEFINED__ */


#ifndef __IRsUIControlTrackAble_FWD_DEFINED__
#define __IRsUIControlTrackAble_FWD_DEFINED__
typedef interface IRsUIControlTrackAble IRsUIControlTrackAble;
#endif 	/* __IRsUIControlTrackAble_FWD_DEFINED__ */


#ifndef __IRsUIWinCtrl_FWD_DEFINED__
#define __IRsUIWinCtrl_FWD_DEFINED__
typedef interface IRsUIWinCtrl IRsUIWinCtrl;
#endif 	/* __IRsUIWinCtrl_FWD_DEFINED__ */


#ifndef __IRsUIIconControl_FWD_DEFINED__
#define __IRsUIIconControl_FWD_DEFINED__
typedef interface IRsUIIconControl IRsUIIconControl;
#endif 	/* __IRsUIIconControl_FWD_DEFINED__ */


#ifndef __IRsUIControlFactory_FWD_DEFINED__
#define __IRsUIControlFactory_FWD_DEFINED__
typedef interface IRsUIControlFactory IRsUIControlFactory;
#endif 	/* __IRsUIControlFactory_FWD_DEFINED__ */


#ifndef __IRsUnknownUIPackage_FWD_DEFINED__
#define __IRsUnknownUIPackage_FWD_DEFINED__
typedef interface IRsUnknownUIPackage IRsUnknownUIPackage;
#endif 	/* __IRsUnknownUIPackage_FWD_DEFINED__ */


#ifndef __IRsLEPanelInitData_FWD_DEFINED__
#define __IRsLEPanelInitData_FWD_DEFINED__
typedef interface IRsLEPanelInitData IRsLEPanelInitData;
#endif 	/* __IRsLEPanelInitData_FWD_DEFINED__ */


#ifndef __IRsLEPanel_FWD_DEFINED__
#define __IRsLEPanel_FWD_DEFINED__
typedef interface IRsLEPanel IRsLEPanel;
#endif 	/* __IRsLEPanel_FWD_DEFINED__ */


#ifndef __IRsPanelObj_FWD_DEFINED__
#define __IRsPanelObj_FWD_DEFINED__
typedef interface IRsPanelObj IRsPanelObj;
#endif 	/* __IRsPanelObj_FWD_DEFINED__ */


#ifndef __IRsPanelOwnerEditor_FWD_DEFINED__
#define __IRsPanelOwnerEditor_FWD_DEFINED__
typedef interface IRsPanelOwnerEditor IRsPanelOwnerEditor;
#endif 	/* __IRsPanelOwnerEditor_FWD_DEFINED__ */


#ifndef __IRnPanelView_FWD_DEFINED__
#define __IRnPanelView_FWD_DEFINED__
typedef interface IRnPanelView IRnPanelView;
#endif 	/* __IRnPanelView_FWD_DEFINED__ */


#ifndef __IRsPanelObjContainer_FWD_DEFINED__
#define __IRsPanelObjContainer_FWD_DEFINED__
typedef interface IRsPanelObjContainer IRsPanelObjContainer;
#endif 	/* __IRsPanelObjContainer_FWD_DEFINED__ */


#ifndef __IRsStackPanelView_FWD_DEFINED__
#define __IRsStackPanelView_FWD_DEFINED__
typedef interface IRsStackPanelView IRsStackPanelView;
#endif 	/* __IRsStackPanelView_FWD_DEFINED__ */


#ifndef __IRsPanelScanner_FWD_DEFINED__
#define __IRsPanelScanner_FWD_DEFINED__
typedef interface IRsPanelScanner IRsPanelScanner;
#endif 	/* __IRsPanelScanner_FWD_DEFINED__ */


#ifndef __IRsStackPanelViewDecorator_FWD_DEFINED__
#define __IRsStackPanelViewDecorator_FWD_DEFINED__
typedef interface IRsStackPanelViewDecorator IRsStackPanelViewDecorator;
#endif 	/* __IRsStackPanelViewDecorator_FWD_DEFINED__ */


#ifndef __IRnBaseStackPanelView_FWD_DEFINED__
#define __IRnBaseStackPanelView_FWD_DEFINED__
typedef interface IRnBaseStackPanelView IRnBaseStackPanelView;
#endif 	/* __IRnBaseStackPanelView_FWD_DEFINED__ */


#ifndef __IRnStackPanelView_FWD_DEFINED__
#define __IRnStackPanelView_FWD_DEFINED__
typedef interface IRnStackPanelView IRnStackPanelView;
#endif 	/* __IRnStackPanelView_FWD_DEFINED__ */


#ifndef __IRnPrefStackPanelView_FWD_DEFINED__
#define __IRnPrefStackPanelView_FWD_DEFINED__
typedef interface IRnPrefStackPanelView IRnPrefStackPanelView;
#endif 	/* __IRnPrefStackPanelView_FWD_DEFINED__ */


#ifndef __IRnAutoPanelStackPanelView_FWD_DEFINED__
#define __IRnAutoPanelStackPanelView_FWD_DEFINED__
typedef interface IRnAutoPanelStackPanelView IRnAutoPanelStackPanelView;
#endif 	/* __IRnAutoPanelStackPanelView_FWD_DEFINED__ */


#ifndef __IRcSwitchPrefPanels_FWD_DEFINED__
#define __IRcSwitchPrefPanels_FWD_DEFINED__
typedef interface IRcSwitchPrefPanels IRcSwitchPrefPanels;
#endif 	/* __IRcSwitchPrefPanels_FWD_DEFINED__ */


#ifndef __IRcOpenMaterialEditor_FWD_DEFINED__
#define __IRcOpenMaterialEditor_FWD_DEFINED__
typedef interface IRcOpenMaterialEditor IRcOpenMaterialEditor;
#endif 	/* __IRcOpenMaterialEditor_FWD_DEFINED__ */


#ifndef __IRsUISysFactory_FWD_DEFINED__
#define __IRsUISysFactory_FWD_DEFINED__
typedef interface IRsUISysFactory IRsUISysFactory;
#endif 	/* __IRsUISysFactory_FWD_DEFINED__ */


#ifndef __IRfStatusReport_FWD_DEFINED__
#define __IRfStatusReport_FWD_DEFINED__
typedef interface IRfStatusReport IRfStatusReport;
#endif 	/* __IRfStatusReport_FWD_DEFINED__ */


#ifndef __IRpUIPck_FWD_DEFINED__
#define __IRpUIPck_FWD_DEFINED__
typedef interface IRpUIPck IRpUIPck;
#endif 	/* __IRpUIPck_FWD_DEFINED__ */


#ifndef __IRsUIHighlightControl_FWD_DEFINED__
#define __IRsUIHighlightControl_FWD_DEFINED__
typedef interface IRsUIHighlightControl IRsUIHighlightControl;
#endif 	/* __IRsUIHighlightControl_FWD_DEFINED__ */


#ifndef __IRsUIDragingControl_FWD_DEFINED__
#define __IRsUIDragingControl_FWD_DEFINED__
typedef interface IRsUIDragingControl IRsUIDragingControl;
#endif 	/* __IRsUIDragingControl_FWD_DEFINED__ */


#ifndef __IRdUITable_FWD_DEFINED__
#define __IRdUITable_FWD_DEFINED__
typedef interface IRdUITable IRdUITable;
#endif 	/* __IRdUITable_FWD_DEFINED__ */


#ifndef __IRdNodeUITables_FWD_DEFINED__
#define __IRdNodeUITables_FWD_DEFINED__
typedef interface IRdNodeUITables IRdNodeUITables;
#endif 	/* __IRdNodeUITables_FWD_DEFINED__ */


#ifndef __IRsIconGenFactory_FWD_DEFINED__
#define __IRsIconGenFactory_FWD_DEFINED__
typedef interface IRsIconGenFactory IRsIconGenFactory;
#endif 	/* __IRsIconGenFactory_FWD_DEFINED__ */


#ifndef __IRsUnknownIconGenPackage_FWD_DEFINED__
#define __IRsUnknownIconGenPackage_FWD_DEFINED__
typedef interface IRsUnknownIconGenPackage IRsUnknownIconGenPackage;
#endif 	/* __IRsUnknownIconGenPackage_FWD_DEFINED__ */


#ifndef __IRcDragAndDrop_FWD_DEFINED__
#define __IRcDragAndDrop_FWD_DEFINED__
typedef interface IRcDragAndDrop IRcDragAndDrop;
#endif 	/* __IRcDragAndDrop_FWD_DEFINED__ */


#ifndef __IRdDnDDataObject_FWD_DEFINED__
#define __IRdDnDDataObject_FWD_DEFINED__
typedef interface IRdDnDDataObject IRdDnDDataObject;
#endif 	/* __IRdDnDDataObject_FWD_DEFINED__ */


#ifndef __IRsLibraryWnd_FWD_DEFINED__
#define __IRsLibraryWnd_FWD_DEFINED__
typedef interface IRsLibraryWnd IRsLibraryWnd;
#endif 	/* __IRsLibraryWnd_FWD_DEFINED__ */


#ifndef __IRnSubLibraryOutlookWindow_FWD_DEFINED__
#define __IRnSubLibraryOutlookWindow_FWD_DEFINED__
typedef interface IRnSubLibraryOutlookWindow IRnSubLibraryOutlookWindow;
#endif 	/* __IRnSubLibraryOutlookWindow_FWD_DEFINED__ */


#ifndef __IRnSubLibraryVisualEncapulator_FWD_DEFINED__
#define __IRnSubLibraryVisualEncapulator_FWD_DEFINED__
typedef interface IRnSubLibraryVisualEncapulator IRnSubLibraryVisualEncapulator;
#endif 	/* __IRnSubLibraryVisualEncapulator_FWD_DEFINED__ */


#ifndef __IRnLibraryVisualEncapulator_FWD_DEFINED__
#define __IRnLibraryVisualEncapulator_FWD_DEFINED__
typedef interface IRnLibraryVisualEncapulator IRnLibraryVisualEncapulator;
#endif 	/* __IRnLibraryVisualEncapulator_FWD_DEFINED__ */


#ifndef __IRnLibraries_FWD_DEFINED__
#define __IRnLibraries_FWD_DEFINED__
typedef interface IRnLibraries IRnLibraries;
#endif 	/* __IRnLibraries_FWD_DEFINED__ */


#ifndef __IRfLibrarySet_FWD_DEFINED__
#define __IRfLibrarySet_FWD_DEFINED__
typedef interface IRfLibrarySet IRfLibrarySet;
#endif 	/* __IRfLibrarySet_FWD_DEFINED__ */


#ifndef __IRpLibrary_FWD_DEFINED__
#define __IRpLibrary_FWD_DEFINED__
typedef interface IRpLibrary IRpLibrary;
#endif 	/* __IRpLibrary_FWD_DEFINED__ */


#ifndef __IRnLibraryItemControlImportExport_FWD_DEFINED__
#define __IRnLibraryItemControlImportExport_FWD_DEFINED__
typedef interface IRnLibraryItemControlImportExport IRnLibraryItemControlImportExport;
#endif 	/* __IRnLibraryItemControlImportExport_FWD_DEFINED__ */


#ifndef __IRnLibraryItemControlRename_FWD_DEFINED__
#define __IRnLibraryItemControlRename_FWD_DEFINED__
typedef interface IRnLibraryItemControlRename IRnLibraryItemControlRename;
#endif 	/* __IRnLibraryItemControlRename_FWD_DEFINED__ */


#ifndef __IRsUIUpdateAgent_FWD_DEFINED__
#define __IRsUIUpdateAgent_FWD_DEFINED__
typedef interface IRsUIUpdateAgent IRsUIUpdateAgent;
#endif 	/* __IRsUIUpdateAgent_FWD_DEFINED__ */


#ifndef __IRsSimpleUIUpdateAgent_FWD_DEFINED__
#define __IRsSimpleUIUpdateAgent_FWD_DEFINED__
typedef interface IRsSimpleUIUpdateAgent IRsSimpleUIUpdateAgent;
#endif 	/* __IRsSimpleUIUpdateAgent_FWD_DEFINED__ */


#ifndef __IRsUIUpdateAgentController_FWD_DEFINED__
#define __IRsUIUpdateAgentController_FWD_DEFINED__
typedef interface IRsUIUpdateAgentController IRsUIUpdateAgentController;
#endif 	/* __IRsUIUpdateAgentController_FWD_DEFINED__ */


#ifndef __IRsHashable_FWD_DEFINED__
#define __IRsHashable_FWD_DEFINED__
typedef interface IRsHashable IRsHashable;
#endif 	/* __IRsHashable_FWD_DEFINED__ */


#ifndef __IRnWindowDragAndDropSubNode_FWD_DEFINED__
#define __IRnWindowDragAndDropSubNode_FWD_DEFINED__
typedef interface IRnWindowDragAndDropSubNode IRnWindowDragAndDropSubNode;
#endif 	/* __IRnWindowDragAndDropSubNode_FWD_DEFINED__ */


#ifndef __IRnWindowControlSnapping_FWD_DEFINED__
#define __IRnWindowControlSnapping_FWD_DEFINED__
typedef interface IRnWindowControlSnapping IRnWindowControlSnapping;
#endif 	/* __IRnWindowControlSnapping_FWD_DEFINED__ */


#ifndef __IRnWindowChildSizingNotify_FWD_DEFINED__
#define __IRnWindowChildSizingNotify_FWD_DEFINED__
typedef interface IRnWindowChildSizingNotify IRnWindowChildSizingNotify;
#endif 	/* __IRnWindowChildSizingNotify_FWD_DEFINED__ */


#ifndef __IRnWindowControlSizing_FWD_DEFINED__
#define __IRnWindowControlSizing_FWD_DEFINED__
typedef interface IRnWindowControlSizing IRnWindowControlSizing;
#endif 	/* __IRnWindowControlSizing_FWD_DEFINED__ */


#ifndef __IRnWindowControlFrameMenu_FWD_DEFINED__
#define __IRnWindowControlFrameMenu_FWD_DEFINED__
typedef interface IRnWindowControlFrameMenu IRnWindowControlFrameMenu;
#endif 	/* __IRnWindowControlFrameMenu_FWD_DEFINED__ */


#ifndef __IRsWindowControlRosettaWindowCommandMenu_FWD_DEFINED__
#define __IRsWindowControlRosettaWindowCommandMenu_FWD_DEFINED__
typedef interface IRsWindowControlRosettaWindowCommandMenu IRsWindowControlRosettaWindowCommandMenu;
#endif 	/* __IRsWindowControlRosettaWindowCommandMenu_FWD_DEFINED__ */


#ifndef __IRnWindowControlFrameMenuAdvanced_FWD_DEFINED__
#define __IRnWindowControlFrameMenuAdvanced_FWD_DEFINED__
typedef interface IRnWindowControlFrameMenuAdvanced IRnWindowControlFrameMenuAdvanced;
#endif 	/* __IRnWindowControlFrameMenuAdvanced_FWD_DEFINED__ */


#ifndef __IRnWindowControlChangeRoot_FWD_DEFINED__
#define __IRnWindowControlChangeRoot_FWD_DEFINED__
typedef interface IRnWindowControlChangeRoot IRnWindowControlChangeRoot;
#endif 	/* __IRnWindowControlChangeRoot_FWD_DEFINED__ */


#ifndef __IRnWindowControlChildWindowChanges_FWD_DEFINED__
#define __IRnWindowControlChildWindowChanges_FWD_DEFINED__
typedef interface IRnWindowControlChildWindowChanges IRnWindowControlChildWindowChanges;
#endif 	/* __IRnWindowControlChildWindowChanges_FWD_DEFINED__ */


#ifndef __IRnWindowControlParentWindowChanges_FWD_DEFINED__
#define __IRnWindowControlParentWindowChanges_FWD_DEFINED__
typedef interface IRnWindowControlParentWindowChanges IRnWindowControlParentWindowChanges;
#endif 	/* __IRnWindowControlParentWindowChanges_FWD_DEFINED__ */


#ifndef __IRnWindowControlOrientation_FWD_DEFINED__
#define __IRnWindowControlOrientation_FWD_DEFINED__
typedef interface IRnWindowControlOrientation IRnWindowControlOrientation;
#endif 	/* __IRnWindowControlOrientation_FWD_DEFINED__ */


#ifndef __IRnWindowControlPositionInGraph_FWD_DEFINED__
#define __IRnWindowControlPositionInGraph_FWD_DEFINED__
typedef interface IRnWindowControlPositionInGraph IRnWindowControlPositionInGraph;
#endif 	/* __IRnWindowControlPositionInGraph_FWD_DEFINED__ */


#ifndef __IRnWindowControlFrameControls_FWD_DEFINED__
#define __IRnWindowControlFrameControls_FWD_DEFINED__
typedef interface IRnWindowControlFrameControls IRnWindowControlFrameControls;
#endif 	/* __IRnWindowControlFrameControls_FWD_DEFINED__ */


#ifndef __IRnFrameTabsController_FWD_DEFINED__
#define __IRnFrameTabsController_FWD_DEFINED__
typedef interface IRnFrameTabsController IRnFrameTabsController;
#endif 	/* __IRnFrameTabsController_FWD_DEFINED__ */


#ifndef __IRnWindowControlCopying_FWD_DEFINED__
#define __IRnWindowControlCopying_FWD_DEFINED__
typedef interface IRnWindowControlCopying IRnWindowControlCopying;
#endif 	/* __IRnWindowControlCopying_FWD_DEFINED__ */


#ifndef __IRnWindowControlZoomBase_FWD_DEFINED__
#define __IRnWindowControlZoomBase_FWD_DEFINED__
typedef interface IRnWindowControlZoomBase IRnWindowControlZoomBase;
#endif 	/* __IRnWindowControlZoomBase_FWD_DEFINED__ */


#ifndef __IRnWindowControlZoom_FWD_DEFINED__
#define __IRnWindowControlZoom_FWD_DEFINED__
typedef interface IRnWindowControlZoom IRnWindowControlZoom;
#endif 	/* __IRnWindowControlZoom_FWD_DEFINED__ */


#ifndef __IRsPreferencesController_FWD_DEFINED__
#define __IRsPreferencesController_FWD_DEFINED__
typedef interface IRsPreferencesController IRsPreferencesController;
#endif 	/* __IRsPreferencesController_FWD_DEFINED__ */


#ifndef __IRsObjectPreviewWorker_FWD_DEFINED__
#define __IRsObjectPreviewWorker_FWD_DEFINED__
typedef interface IRsObjectPreviewWorker IRsObjectPreviewWorker;
#endif 	/* __IRsObjectPreviewWorker_FWD_DEFINED__ */


#ifndef __IRsObjectPreviewManager_FWD_DEFINED__
#define __IRsObjectPreviewManager_FWD_DEFINED__
typedef interface IRsObjectPreviewManager IRsObjectPreviewManager;
#endif 	/* __IRsObjectPreviewManager_FWD_DEFINED__ */


#ifndef __IRnObjectName_FWD_DEFINED__
#define __IRnObjectName_FWD_DEFINED__
typedef interface IRnObjectName IRnObjectName;
#endif 	/* __IRnObjectName_FWD_DEFINED__ */


#ifndef __IRnOwnerName_FWD_DEFINED__
#define __IRnOwnerName_FWD_DEFINED__
typedef interface IRnOwnerName IRnOwnerName;
#endif 	/* __IRnOwnerName_FWD_DEFINED__ */


#ifndef __IRsReturn_FWD_DEFINED__
#define __IRsReturn_FWD_DEFINED__
typedef interface IRsReturn IRsReturn;
#endif 	/* __IRsReturn_FWD_DEFINED__ */


#ifndef __IRsReturnPriv_FWD_DEFINED__
#define __IRsReturnPriv_FWD_DEFINED__
typedef interface IRsReturnPriv IRsReturnPriv;
#endif 	/* __IRsReturnPriv_FWD_DEFINED__ */


#ifndef __IRsLogFile_FWD_DEFINED__
#define __IRsLogFile_FWD_DEFINED__
typedef interface IRsLogFile IRsLogFile;
#endif 	/* __IRsLogFile_FWD_DEFINED__ */


#ifndef __IRsLogMsg_FWD_DEFINED__
#define __IRsLogMsg_FWD_DEFINED__
typedef interface IRsLogMsg IRsLogMsg;
#endif 	/* __IRsLogMsg_FWD_DEFINED__ */


#ifndef __IRsKernelNodeFactory_FWD_DEFINED__
#define __IRsKernelNodeFactory_FWD_DEFINED__
typedef interface IRsKernelNodeFactory IRsKernelNodeFactory;
#endif 	/* __IRsKernelNodeFactory_FWD_DEFINED__ */


#ifndef __IRsKernelCmdFactory_FWD_DEFINED__
#define __IRsKernelCmdFactory_FWD_DEFINED__
typedef interface IRsKernelCmdFactory IRsKernelCmdFactory;
#endif 	/* __IRsKernelCmdFactory_FWD_DEFINED__ */


#ifndef __IRsKernelDataFactory_FWD_DEFINED__
#define __IRsKernelDataFactory_FWD_DEFINED__
typedef interface IRsKernelDataFactory IRsKernelDataFactory;
#endif 	/* __IRsKernelDataFactory_FWD_DEFINED__ */


#ifndef __IRcSyncCmd_FWD_DEFINED__
#define __IRcSyncCmd_FWD_DEFINED__
typedef interface IRcSyncCmd IRcSyncCmd;
#endif 	/* __IRcSyncCmd_FWD_DEFINED__ */


#ifndef __IRcUISyncCmd_FWD_DEFINED__
#define __IRcUISyncCmd_FWD_DEFINED__
typedef interface IRcUISyncCmd IRcUISyncCmd;
#endif 	/* __IRcUISyncCmd_FWD_DEFINED__ */


#ifndef __IRsToolEx_FWD_DEFINED__
#define __IRsToolEx_FWD_DEFINED__
typedef interface IRsToolEx IRsToolEx;
#endif 	/* __IRsToolEx_FWD_DEFINED__ */


#ifndef __IRsToolIdentification_FWD_DEFINED__
#define __IRsToolIdentification_FWD_DEFINED__
typedef interface IRsToolIdentification IRsToolIdentification;
#endif 	/* __IRsToolIdentification_FWD_DEFINED__ */


#ifndef __IRsWidgetController_FWD_DEFINED__
#define __IRsWidgetController_FWD_DEFINED__
typedef interface IRsWidgetController IRsWidgetController;
#endif 	/* __IRsWidgetController_FWD_DEFINED__ */


#ifndef __IRsCustomEntry_FWD_DEFINED__
#define __IRsCustomEntry_FWD_DEFINED__
typedef interface IRsCustomEntry IRsCustomEntry;
#endif 	/* __IRsCustomEntry_FWD_DEFINED__ */


#ifndef __IRcInterfaceThreadSwitch_FWD_DEFINED__
#define __IRcInterfaceThreadSwitch_FWD_DEFINED__
typedef interface IRcInterfaceThreadSwitch IRcInterfaceThreadSwitch;
#endif 	/* __IRcInterfaceThreadSwitch_FWD_DEFINED__ */


#ifndef __IRcMasterThreadSwitch_FWD_DEFINED__
#define __IRcMasterThreadSwitch_FWD_DEFINED__
typedef interface IRcMasterThreadSwitch IRcMasterThreadSwitch;
#endif 	/* __IRcMasterThreadSwitch_FWD_DEFINED__ */


#ifndef __IRcPriorityMasterThreadSwitch_FWD_DEFINED__
#define __IRcPriorityMasterThreadSwitch_FWD_DEFINED__
typedef interface IRcPriorityMasterThreadSwitch IRcPriorityMasterThreadSwitch;
#endif 	/* __IRcPriorityMasterThreadSwitch_FWD_DEFINED__ */


#ifndef __IRcSimpleNodeStateUndoRedoCmd_FWD_DEFINED__
#define __IRcSimpleNodeStateUndoRedoCmd_FWD_DEFINED__
typedef interface IRcSimpleNodeStateUndoRedoCmd IRcSimpleNodeStateUndoRedoCmd;
#endif 	/* __IRcSimpleNodeStateUndoRedoCmd_FWD_DEFINED__ */


#ifndef __IRcUndoRedoGroup_FWD_DEFINED__
#define __IRcUndoRedoGroup_FWD_DEFINED__
typedef interface IRcUndoRedoGroup IRcUndoRedoGroup;
#endif 	/* __IRcUndoRedoGroup_FWD_DEFINED__ */


#ifndef __CRsObjectList_FWD_DEFINED__
#define __CRsObjectList_FWD_DEFINED__

#ifdef __cplusplus
typedef class CRsObjectList CRsObjectList;
#else
typedef struct CRsObjectList CRsObjectList;
#endif /* __cplusplus */

#endif 	/* __CRsObjectList_FWD_DEFINED__ */


#ifndef __CRsSelectionManager_FWD_DEFINED__
#define __CRsSelectionManager_FWD_DEFINED__

#ifdef __cplusplus
typedef class CRsSelectionManager CRsSelectionManager;
#else
typedef struct CRsSelectionManager CRsSelectionManager;
#endif /* __cplusplus */

#endif 	/* __CRsSelectionManager_FWD_DEFINED__ */


#ifndef __CRdSelNodeSelection_FWD_DEFINED__
#define __CRdSelNodeSelection_FWD_DEFINED__

#ifdef __cplusplus
typedef class CRdSelNodeSelection CRdSelNodeSelection;
#else
typedef struct CRdSelNodeSelection CRdSelNodeSelection;
#endif /* __cplusplus */

#endif 	/* __CRdSelNodeSelection_FWD_DEFINED__ */


#ifndef __CRsAcceleratorHandlerManager_FWD_DEFINED__
#define __CRsAcceleratorHandlerManager_FWD_DEFINED__

#ifdef __cplusplus
typedef class CRsAcceleratorHandlerManager CRsAcceleratorHandlerManager;
#else
typedef struct CRsAcceleratorHandlerManager CRsAcceleratorHandlerManager;
#endif /* __cplusplus */

#endif 	/* __CRsAcceleratorHandlerManager_FWD_DEFINED__ */


#ifndef __CRsAcceleratorHandlerGlobal_FWD_DEFINED__
#define __CRsAcceleratorHandlerGlobal_FWD_DEFINED__

#ifdef __cplusplus
typedef class CRsAcceleratorHandlerGlobal CRsAcceleratorHandlerGlobal;
#else
typedef struct CRsAcceleratorHandlerGlobal CRsAcceleratorHandlerGlobal;
#endif /* __cplusplus */

#endif 	/* __CRsAcceleratorHandlerGlobal_FWD_DEFINED__ */


#ifndef __CRpKernel_FWD_DEFINED__
#define __CRpKernel_FWD_DEFINED__

#ifdef __cplusplus
typedef class CRpKernel CRpKernel;
#else
typedef struct CRpKernel CRpKernel;
#endif /* __cplusplus */

#endif 	/* __CRpKernel_FWD_DEFINED__ */


#ifndef __CRiSystemCommand_FWD_DEFINED__
#define __CRiSystemCommand_FWD_DEFINED__

#ifdef __cplusplus
typedef class CRiSystemCommand CRiSystemCommand;
#else
typedef struct CRiSystemCommand CRiSystemCommand;
#endif /* __cplusplus */

#endif 	/* __CRiSystemCommand_FWD_DEFINED__ */


#ifndef __CRiApp_FWD_DEFINED__
#define __CRiApp_FWD_DEFINED__

#ifdef __cplusplus
typedef class CRiApp CRiApp;
#else
typedef struct CRiApp CRiApp;
#endif /* __cplusplus */

#endif 	/* __CRiApp_FWD_DEFINED__ */


#ifndef __CRiPackage_FWD_DEFINED__
#define __CRiPackage_FWD_DEFINED__

#ifdef __cplusplus
typedef class CRiPackage CRiPackage;
#else
typedef struct CRiPackage CRiPackage;
#endif /* __cplusplus */

#endif 	/* __CRiPackage_FWD_DEFINED__ */


#ifndef __CRsReturn_FWD_DEFINED__
#define __CRsReturn_FWD_DEFINED__

#ifdef __cplusplus
typedef class CRsReturn CRsReturn;
#else
typedef struct CRsReturn CRsReturn;
#endif /* __cplusplus */

#endif 	/* __CRsReturn_FWD_DEFINED__ */


#ifndef __CRsLogFile_FWD_DEFINED__
#define __CRsLogFile_FWD_DEFINED__

#ifdef __cplusplus
typedef class CRsLogFile CRsLogFile;
#else
typedef struct CRsLogFile CRsLogFile;
#endif /* __cplusplus */

#endif 	/* __CRsLogFile_FWD_DEFINED__ */


#ifndef __CRsLogMsg_FWD_DEFINED__
#define __CRsLogMsg_FWD_DEFINED__

#ifdef __cplusplus
typedef class CRsLogMsg CRsLogMsg;
#else
typedef struct CRsLogMsg CRsLogMsg;
#endif /* __cplusplus */

#endif 	/* __CRsLogMsg_FWD_DEFINED__ */


/* header files for imported files */
#include "prsht.h"
#include "mshtml.h"
#include "mshtmhst.h"
#include "exdisp.h"
#include "objsafe.h"
#include "comadmin.h"
#include "transact.h"
#include "activscp.h"

#ifdef __cplusplus
extern "C"{
#endif 

void * __RPC_USER MIDL_user_allocate(size_t);
void __RPC_USER MIDL_user_free( void * ); 

/* interface __MIDL_itf__Kernel_0000 */
/* [local] */ 

typedef unsigned char RtChar;

typedef unsigned char RtBYTE;

typedef unsigned char RtUchar;

typedef short RtShort;

typedef unsigned short RtUshort;

typedef long RtLong;

typedef unsigned long RtUlong;

typedef hyper RtLongLong;

typedef MIDL_uhyper RtUlongLong;

typedef float RtFloat;

typedef double RtDouble;

typedef void RtVoid;

typedef void *RtPVoid;

typedef unsigned long RtBOOL;

typedef unsigned char RtBool;

typedef unsigned long RtFlags;

typedef unsigned int RtDWORD;

typedef MIDL_uhyper RtQWORD;

typedef MIDL_uhyper RtInstance;

typedef MIDL_uhyper RtHandle;

typedef GUID CONID;

typedef GUID MSGID;

typedef 
enum _tagRtConValStatus
    {	CON_INVALID	= 0,
	CON_VALID	= 1
    } 	RtConValidStatus;

typedef 
enum _tagRtConnectorEvent
    {	CEVNT_ADDING	= 0,
	CEVNT_ADDED	= 1,
	CEVNT_REMOVING	= 2,
	CEVNT_REMOVED	= 3
    } 	RtConnectorEvent;

typedef 
enum _tagRtConnectionEvent
    {	CNEVNT_CONNECTING	= 0,
	CNEVNT_CONNECTED	= 1,
	CNEVNT_DISCONNECTING	= 2,
	CNEVNT_DISCONNECTED	= 3
    } 	RtConnectionEvent;

typedef 
enum tagRtTraversalType
    {	DEPTH_FIRST	= 0,
	BREATH_FIRST	= 1
    } 	RtTraversalType;

typedef 
enum tagRtSelMask
    {	SEL_ADD	= 0,
	SEL_REPLACE	= 1
    } 	RtSelMask;

typedef 
enum tagRtNumericDataEnum
    {	ND_EMPTY	= 0,
	ND_CHAR	= 1,
	ND_UCHAR	= 2,
	ND_SHORT	= 3,
	ND_USHORT	= 4,
	ND_LONG	= 5,
	ND_ULONG	= 6,
	ND_FLOAT	= 7,
	ND_DOUBLE	= 8
    } 	RtNumericDataEnum;

typedef struct tagRtSingleNDataStruct
    {
    RtNumericDataEnum type;
    /* [switch_is][switch_type] */ union _RtSNDataValue
        {
        /* [case()] */ RtChar val_char;
        /* [case()] */ RtUchar val_uchar;
        /* [case()] */ RtShort val_short;
        /* [case()] */ RtUshort val_ushort;
        /* [case()] */ RtLong val_long;
        /* [case()] */ RtUlong val_ulong;
        /* [case()] */ RtFloat val_float;
        /* [case()] */ RtDouble val_double;
        } 	;
    union _RtSNDataValue value;
    } 	RtSingleNDataStruct;

typedef struct tagRtDoubleNDataStruct
    {
    RtNumericDataEnum type;
    /* [switch_is][switch_type] */ union _RtDNDataValue
        {
        /* [case()] */ RtChar val_char[ 2 ];
        /* [case()] */ RtUchar val_uchar[ 2 ];
        /* [case()] */ RtShort val_short[ 2 ];
        /* [case()] */ RtUshort val_ushort[ 2 ];
        /* [case()] */ RtLong val_long[ 2 ];
        /* [case()] */ RtUlong val_ulong[ 2 ];
        /* [case()] */ RtLong val_float[ 2 ];
        /* [case()] */ RtLong val_double[ 2 ];
        } 	;
    union _RtDNDataValue value;
    } 	RtDoubleNDataStruct;

typedef struct tagRtNumArrayDesc
    {
    RtNumericDataEnum format;
    RtUlong size;
    } 	RtNumArrayDesc;

typedef struct tagRtPoint
    {
    RtFloat x;
    RtFloat y;
    RtFloat z;
    } 	RtPoint;

typedef struct tagRtPoint2f
    {
    RtFloat x;
    RtFloat y;
    } 	RtPoint2f;

typedef struct tagRtIntervalf
    {
    RtFloat min;
    RtFloat max;
    } 	RtIntervalf;

typedef struct tagRtBoundingBox
    {
    RtPoint ptMin;
    RtPoint ptMax;
    } 	RtBoundingBox;

typedef struct tagRtBoundingBox2D
    {
    RtPoint2f ptMin;
    RtPoint2f ptMax;
    } 	RtBoundingBox2D;

typedef struct tagRtAxes3
    {
    RtPoint xax;
    RtPoint yax;
    RtPoint zax;
    } 	RtAxes3;

typedef struct tagRtUVcoord
    {
    RtFloat u;
    RtFloat v;
    } 	RtUVcoord;

typedef struct tagRtColor
    {
    RtUchar red;
    RtUchar green;
    RtUchar blue;
    RtUchar alpha;
    } 	RtColor;

typedef struct tagRtTripleIndex
    {
    RtUlong i;
    RtUlong j;
    RtUlong k;
    } 	RtTripleIndex;

typedef GUID RtStreamId;

typedef RtQWORD RtLocRntId;

typedef RtQWORD RtPersistId;

typedef struct tagRtComplexf
    {
    RtFloat r;
    RtFloat i;
    } 	RtComplexf;

typedef struct tagRtConDesc
    {
    const GUID *id;
    LPWSTR szName;
    LPWSTR szDescriptor;
    VARTYPE vt;
    const CLSID *dataType;
    RtFlags uFlags;
    } 	RtConDesc;

typedef struct tagUIControlDescriptor
    {
    const IID *piid;
    LPWSTR script;
    LPWSTR text;
    LPWSTR toolTip;
    RtUshort usRes2D;
    RtUshort usRes3D;
    } 	UIControlDescriptor;

typedef RtDouble RtMatrix[ 4 ][ 4 ];

typedef RtFloat RtMatrix3f[ 3 ][ 3 ];

typedef RtFloat RtMatrixf[ 4 ][ 4 ];

typedef struct tagRtQuat
    {
    RtDouble x;
    RtDouble y;
    RtDouble z;
    RtDouble w;
    } 	RtQuat;

typedef struct tagRtQuatf
    {
    RtFloat x;
    RtFloat y;
    RtFloat z;
    RtFloat w;
    } 	RtQuatf;

typedef 
enum _tagRtMouseEventValidData
    {	ME_KEY_VALID	= 1,
	ME_POS_VALID	= 2,
	ME_WHEEL_VALID	= 4
    } 	RtMouseEventValidData;

typedef 
enum tagRtMouseEventType
    {	MET_NONE	= 0,
	MET_LBUTTON_DOWN	= 1,
	MET_LBUTTON_UP	= 2,
	MET_RBUTTON_DOWN	= 3,
	MET_RBUTTON_UP	= 4,
	MET_MBUTTON_DOWN	= 5,
	MET_MBUTTON_UP	= 6,
	MET_WHEEL	= 7,
	MET_WHEEL_UP	= 8,
	MET_MOVE	= 9,
	MET_LSGLCLICK	= 10,
	MET_RSGLCLICK	= 11,
	MET_MSGLCLICK	= 12,
	MET_LSGLPURECLICK	= 13,
	MET_RSGLPURECLICK	= 14,
	MET_MSGLPURECLICK	= 15,
	MET_LDBLCLICK	= 16,
	MET_RDBLCLICK	= 17,
	MET_MDBLCLICK	= 18,
	MET_SYNC	= 19,
	MET_MOUSE_LEAVE	= 20
    } 	RtMouseEventType;

typedef 
enum _tagRtMouseKeyFlags
    {	MKF_NONE	= 0,
	MKF_CONTROL	= 8,
	MKF_SHIFT	= 4,
	MKF_LBUTTON	= 1,
	MKF_RBUTTON	= 2,
	MKF_MBUTTON	= 16,
	MKF_WHEEL	= 32768,
	MKF_MAKE_DWORD	= 2147483647
    } 	RtMouseKeyFlags;

typedef struct tagRtMouseEvent
    {
    RtUlong ulMask;
    RtLong xPos;
    RtLong yPos;
    RtShort wheelDeltaPos;
    RtUlong vKey;
    RtMouseEventType eventType;
    } 	RtMouseEvent;

typedef 
enum tagEncapsWndState
    {	ST_MINIMIZED	= 0,
	ST_EXPANDED	= 1,
	ST_OPENED	= 2,
	ST_MAXIMIZED	= 3,
	ST_ROOT	= 4,
	ST_NUM	= 5
    } 	EncapsWndState;

typedef struct _tagRtRectangle
    {
    RtDouble left;
    RtDouble top;
    RtDouble right;
    RtDouble bottom;
    } 	RtRectangle;

typedef 
enum _tagRtWindowType
    {	WND_CHILD_FREE	= 0,
	WND_CHILD_DOCKED	= 1,
	WND_FREE	= 2,
	WND_SHELF	= 3,
	WND_VIEWER	= 4,
	WND_LIBRARY	= 5
    } 	RtWindowType;

typedef struct tagWndPositionData
    {
    RtWindowType eWndType;
    HWND hWnd;
    RECT rect;
    RtBool bTransparent;
    RtDWORD dwStyle;
    RtDWORD dwStyleEx;
    } 	WndPositionData;

typedef 
enum _tagRtShelfPart
    {	eMainContent	= 0,
	eSubContent	= 1,
	eItem	= 2,
	eHeadHandle	= 3,
	eTailHandle	= 4,
	eScroll	= 5,
	eSize	= 6,
	eHide	= 7,
	eOpen	= 8,
	eDimension	= 9
    } 	RtShelfPart;

typedef 
enum _tagRtShelfExpandDir
    {	eDirLeft	= 1,
	eDirUp	= 2,
	eDirRight	= 3,
	eDirDown	= 4
    } 	RtShelfExpandDir;

typedef 
enum _tagRtHandleMark
    {	eMarkPlus	= 1,
	eMarkMinusHor	= 2,
	eMarkMinusVert	= 3,
	eMarkSquare	= 4
    } 	RtHandleMark;

typedef 
enum _tagRtShelfViewState
    {	eTextOnly	= 0,
	eBitmapOnly	= 1
    } 	RtShelfViewState;

typedef 
enum _tagRtShelfState
    {	eStateMinimized	= 0,
	eStateNormal	= 1,
	eStateExpanded	= 2,
	eStateOpened	= 3
    } 	RtShelfState;

typedef 
enum _tagRtShelfType
    {	eToolBar	= 0,
	eMenuBar	= 1,
	eLibraryOld	= 2,
	eNewLibrary	= 3
    } 	RtShelfType;

typedef struct _tagRtShelfButtonData
    {
    LPCTSTR zsName;
    LPCTSTR zsHelpText;
    LPCTSTR zsOnLeftClick;
    LPCTSTR zsOnRightClick;
    WORD wResId;
    } 	RtShelfButtonData;

typedef struct _tagRtShelfData
    {
    RtShelfType eType;
    LPCTSTR zsName;
    RtShelfButtonData stShelfData;
    SHORT sNum;
    RtShelfButtonData *pShelfButtonData;
    } 	RtShelfData;

typedef struct _tagRtShelfButtonDataEx
    {
    LPCSTR zsName;
    LPCSTR zsHelpText;
    LPCSTR zsOnLeftClick;
    LPCSTR zsOnRightClick;
    const GUID *PackageID;
    WORD wResId;
    const GUID *AgentID;
    LPCSTR zsAgentParams;
    SHORT sSubCount;
    struct _tagRtShelfButtonDataEx *pSubShelfButtonData;
    } 	RtShelfButtonDataEx;

typedef struct _tagRtShelfDatEx
    {
    RtShelfType eType;
    LPCTSTR zsName;
    SHORT sNum;
    RtShelfButtonDataEx *pShelfButtonData;
    } 	RtShelfDataEx;

typedef 
enum _tagRtLENotifyEvent
    {	LE_EVNT_END_DATA_REFRESH	= 1,
	LE_EVNT_END_TOPOLOGY_REFRESH	= 2
    } 	RtLENotifyEvent;

typedef 
enum _tagRtNotifyEvent
    {	NEVNT_SETVALUE	= 1,
	NEVNT_GETVALUE	= 2,
	NEVNT_CONNECT	= 4,
	NEVNT_DISCONNECTING	= 8,
	NEVNT_ADDCONNECTOR	= 16,
	NEVNT_REMOVECONNECTOR	= 32,
	NEVNT_RENAME	= 64,
	NEVNT_CONDEPEND	= 128,
	NEVNT_UNDOABLECMD	= 256,
	NEVNT_CMDEXECUTED	= 512,
	NEVNT_CONCHANGED	= 1024,
	NEVNT_CUSTOM	= 2048,
	NEVNT_OWNERIDCHANGED	= 4096
    } 	RtNotifyEvent;

typedef struct tagRtLinkSidePoints
    {
    POINT pntMinimized;
    POINT pntExpanded;
    POINT pntOpened;
    } 	RtLinkSidePoints;

typedef 
enum _tagRtDimension
    {	dim1D	= 1,
	dim2D	= 2,
	dim2D0	= 3,
	dim3D	= 4,
	dim4D	= 5
    } 	RtDimension;

typedef 
enum _tagRtCachingMode
    {	CACHEMODE_NEVER	= 0,
	CACHEMODE_ALWAYS	= 1,
	CACHEMODE_AUTO	= 2
    } 	RtCachingMode;

typedef RtUlong RtActivityId;

typedef struct tagRtActvParam
    {
    RtUlong priority;
    } 	RtActvParam;

typedef 
enum _tagRtControlFlow
    {	CONTROL_FLOW_CLEAN	= 0,
	CONTROL_FLOW_TAGGED	= 1,
	CONTROL_FLOW_TERMINATED	= 2,
	CONTROL_FLOW_ARCHIVED	= 3
    } 	RtControlFlow;

typedef 
enum _tagRtActivityRunMode
    {	ACTIVITY_RUN	= 0,
	ACTIVITY_REINCARNATE	= 1,
	ACTIVITY_REINCARNATE_AND_KEEP	= 2,
	ACTIVITY_FORCEDWORD	= -1
    } 	RtActivityRunMode;

typedef RtUshort RtObjFileVer;

typedef struct tagRtObjFileHeaderInfo
    {
    RtObjFileVer objFileVersion;
    } 	RtObjFileHeaderInfo;

typedef 
enum _tagRtLogLevel
    {	LOGLEV_NO	= 0,
	LOGLEV_FATAL	= 1,
	LOGLEV_ERROR	= 2,
	LOGLEV_WARNING	= 4,
	LOGLEV_INFO	= 8,
	LOGLEV_DEBUG	= 16,
	LOGLEV_TRACE	= 32,
	LOGLEV_ALL	= 32
    } 	RtLogLevel;

typedef struct tagRtLogEntry
    {
    DATE timeStamp;
    RtLogLevel logLevel;
    LPWSTR stText;
    LPWSTR stSourceFileName;
    RtUlong ulSourceLine;
    LPWSTR stPackageName;
    HRESULT hRes;
    } 	RtLogEntry;

typedef struct tagRtScriptErrorInfo
    {
    LPWSTR stSourceNode;
    EXCEPINFO exceptInfo;
    ULONG nLine;
    LONG nChar;
    } 	RtScriptErrorInfo;

typedef 
enum _tagRtSEProps
    {	SE_PROPS_NAME	= 1,
	SE_PROPS_UINAME	= 2,
	SE_PROPS_DESC	= 4,
	SE_PROPS_TYPE	= 8,
	SE_PROPS_LANG	= 16,
	SE_PROPS_PARAMS	= 32
    } 	RtSEProps;

typedef 
enum _tagRtScriptDrv
    {	SCRIPTDRV_JSCRIPT	= 0,
	SCRIPTDRV_VBSCRIPT	= 1,
	SCRIPTDRV_PYTHON	= 2
    } 	RtScriptDrv;

typedef struct tagRtOBBox
    {
    RtPoint axis[ 3 ];
    RtFloat edge[ 3 ];
    RtPoint center;
    RtUlong *indexes;
    RtUlong size;
    struct tagRtOBBox *first;
    struct tagRtOBBox *second;
    int last_axis;
    } 	RtOBBox;

typedef struct _tagRtSphereTree
    {
    RtPoint center;
    RtFloat radius;
    RtUlong *indexes;
    RtUlong size;
    struct _tagRtSphereTree *first;
    struct _tagRtSphereTree *second;
    } 	RtSphereTree;

typedef struct tagRtDataStatus
    {
    RtBool bCached;
    RtDWORD dwUpdateTime;
    RtDWORD dwInvTimeStamp;
    } 	RtDataStatus;

typedef RtComplexf RtMatrixComplexf[ 4 ][ 4 ];

typedef struct _tagRtPoint2i
    {
    RtLong x;
    RtLong y;
    } 	RtPoint2i;

typedef struct _tagRtPoint3i
    {
    RtLong x;
    RtLong y;
    RtLong z;
    } 	RtPoint3i;

typedef RtPoint2f RtVector2f;

typedef RtPoint RtVector3f;

typedef struct _tagRtVector4f
    {
    float x;
    float y;
    float z;
    float w;
    } 	RtVector4f;

typedef struct _tagRtQuaternion
    {
    RtFloat scalar;
    RtVector3f vector;
    } 	RtQuaternion;

typedef struct tagRtMovement
    {
    RtVector3f l;
    RtVector3f a;
    } 	RtMovement;



extern RPC_IF_HANDLE __MIDL_itf__Kernel_0000_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf__Kernel_0000_v0_0_s_ifspec;

#ifndef __IRsObjVersion_INTERFACE_DEFINED__
#define __IRsObjVersion_INTERFACE_DEFINED__

/* interface IRsObjVersion */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsObjVersion;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("BE533C0E-3754-4b85-932D-1037F964FA5C")
    IRsObjVersion : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetVersion( 
            /* [in] */ const IID *piid,
            /* [retval][out] */ RtDWORD *pdwVersion) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetVersion( 
            /* [in] */ const IID *piid,
            /* [in] */ RtDWORD dwVersion) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE IncVersion( 
            /* [in] */ const IID *piid,
            /* [retval][out] */ RtDWORD *pdwVersion) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE DecVersion( 
            /* [in] */ const IID *piid,
            /* [retval][out] */ RtDWORD *pdwVersion) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsObjVersionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsObjVersion * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsObjVersion * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsObjVersion * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetVersion )( 
            IRsObjVersion * This,
            /* [in] */ const IID *piid,
            /* [retval][out] */ RtDWORD *pdwVersion);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetVersion )( 
            IRsObjVersion * This,
            /* [in] */ const IID *piid,
            /* [in] */ RtDWORD dwVersion);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *IncVersion )( 
            IRsObjVersion * This,
            /* [in] */ const IID *piid,
            /* [retval][out] */ RtDWORD *pdwVersion);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *DecVersion )( 
            IRsObjVersion * This,
            /* [in] */ const IID *piid,
            /* [retval][out] */ RtDWORD *pdwVersion);
        
        END_INTERFACE
    } IRsObjVersionVtbl;

    interface IRsObjVersion
    {
        CONST_VTBL struct IRsObjVersionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsObjVersion_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsObjVersion_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsObjVersion_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsObjVersion_GetVersion(This,piid,pdwVersion)	\
    (This)->lpVtbl -> GetVersion(This,piid,pdwVersion)

#define IRsObjVersion_SetVersion(This,piid,dwVersion)	\
    (This)->lpVtbl -> SetVersion(This,piid,dwVersion)

#define IRsObjVersion_IncVersion(This,piid,pdwVersion)	\
    (This)->lpVtbl -> IncVersion(This,piid,pdwVersion)

#define IRsObjVersion_DecVersion(This,piid,pdwVersion)	\
    (This)->lpVtbl -> DecVersion(This,piid,pdwVersion)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsObjVersion_GetVersion_Proxy( 
    IRsObjVersion * This,
    /* [in] */ const IID *piid,
    /* [retval][out] */ RtDWORD *pdwVersion);


void __RPC_STUB IRsObjVersion_GetVersion_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsObjVersion_SetVersion_Proxy( 
    IRsObjVersion * This,
    /* [in] */ const IID *piid,
    /* [in] */ RtDWORD dwVersion);


void __RPC_STUB IRsObjVersion_SetVersion_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsObjVersion_IncVersion_Proxy( 
    IRsObjVersion * This,
    /* [in] */ const IID *piid,
    /* [retval][out] */ RtDWORD *pdwVersion);


void __RPC_STUB IRsObjVersion_IncVersion_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsObjVersion_DecVersion_Proxy( 
    IRsObjVersion * This,
    /* [in] */ const IID *piid,
    /* [retval][out] */ RtDWORD *pdwVersion);


void __RPC_STUB IRsObjVersion_DecVersion_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsObjVersion_INTERFACE_DEFINED__ */


#ifndef __IRsObject_INTERFACE_DEFINED__
#define __IRsObject_INTERFACE_DEFINED__

/* interface IRsObject */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsObject;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("EC7CA567-7B41-42d1-AC97-B942410EC856")
    IRsObject : public IUnknown
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ClassId( 
            /* [retval][out] */ GUID *pVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ClassName( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsObjectVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsObject * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsObject * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsObject * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassId )( 
            IRsObject * This,
            /* [retval][out] */ GUID *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassName )( 
            IRsObject * This,
            /* [retval][out] */ BSTR *pVal);
        
        END_INTERFACE
    } IRsObjectVtbl;

    interface IRsObject
    {
        CONST_VTBL struct IRsObjectVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsObject_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsObject_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsObject_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsObject_get_ClassId(This,pVal)	\
    (This)->lpVtbl -> get_ClassId(This,pVal)

#define IRsObject_get_ClassName(This,pVal)	\
    (This)->lpVtbl -> get_ClassName(This,pVal)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRsObject_get_ClassId_Proxy( 
    IRsObject * This,
    /* [retval][out] */ GUID *pVal);


void __RPC_STUB IRsObject_get_ClassId_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRsObject_get_ClassName_Proxy( 
    IRsObject * This,
    /* [retval][out] */ BSTR *pVal);


void __RPC_STUB IRsObject_get_ClassName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsObject_INTERFACE_DEFINED__ */


#ifndef __IRsCloneable_INTERFACE_DEFINED__
#define __IRsCloneable_INTERFACE_DEFINED__

/* interface IRsCloneable */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsCloneable;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("EBA0E1FC-0539-46EC-BC6F-4B382DBA9ED0")
    IRsCloneable : public IRsObject
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Clone( 
            /* [retval][out] */ IRsObject **ppClone) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsCloneableVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsCloneable * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsCloneable * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsCloneable * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassId )( 
            IRsCloneable * This,
            /* [retval][out] */ GUID *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassName )( 
            IRsCloneable * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Clone )( 
            IRsCloneable * This,
            /* [retval][out] */ IRsObject **ppClone);
        
        END_INTERFACE
    } IRsCloneableVtbl;

    interface IRsCloneable
    {
        CONST_VTBL struct IRsCloneableVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsCloneable_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsCloneable_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsCloneable_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsCloneable_get_ClassId(This,pVal)	\
    (This)->lpVtbl -> get_ClassId(This,pVal)

#define IRsCloneable_get_ClassName(This,pVal)	\
    (This)->lpVtbl -> get_ClassName(This,pVal)


#define IRsCloneable_Clone(This,ppClone)	\
    (This)->lpVtbl -> Clone(This,ppClone)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsCloneable_Clone_Proxy( 
    IRsCloneable * This,
    /* [retval][out] */ IRsObject **ppClone);


void __RPC_STUB IRsCloneable_Clone_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsCloneable_INTERFACE_DEFINED__ */


/* interface __MIDL_itf__Kernel_0791 */
/* [local] */ 

typedef 
enum tagRtSessionType
    {	RSS_UNKNOWN	= 0,
	RSS_SAVE	= 1,
	RSS_COPY	= 2,
	RSS_LOAD	= 3,
	RSS_SAVE_NO_VALUES	= 4
    } 	RtSessionType;



extern RPC_IF_HANDLE __MIDL_itf__Kernel_0791_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf__Kernel_0791_v0_0_s_ifspec;

#ifndef __IRsDataObject_INTERFACE_DEFINED__
#define __IRsDataObject_INTERFACE_DEFINED__

/* interface IRsDataObject */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsDataObject;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("F28CA996-D688-44D7-BE2D-0489672674E5")
    IRsDataObject : public IRsObject
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetDefault( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsDataObjectVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsDataObject * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsDataObject * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsDataObject * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassId )( 
            IRsDataObject * This,
            /* [retval][out] */ GUID *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassName )( 
            IRsDataObject * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetDefault )( 
            IRsDataObject * This);
        
        END_INTERFACE
    } IRsDataObjectVtbl;

    interface IRsDataObject
    {
        CONST_VTBL struct IRsDataObjectVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsDataObject_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsDataObject_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsDataObject_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsDataObject_get_ClassId(This,pVal)	\
    (This)->lpVtbl -> get_ClassId(This,pVal)

#define IRsDataObject_get_ClassName(This,pVal)	\
    (This)->lpVtbl -> get_ClassName(This,pVal)


#define IRsDataObject_SetDefault(This)	\
    (This)->lpVtbl -> SetDefault(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsDataObject_SetDefault_Proxy( 
    IRsDataObject * This);


void __RPC_STUB IRsDataObject_SetDefault_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsDataObject_INTERFACE_DEFINED__ */


#ifndef __IRsPoolObj_INTERFACE_DEFINED__
#define __IRsPoolObj_INTERFACE_DEFINED__

/* interface IRsPoolObj */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsPoolObj;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("616DC91B-72A2-40eb-9A37-C84FE9144420")
    IRsPoolObj : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE EndSession( 
            /* [in] */ DWORD dwSessionID,
            /* [in] */ RtSessionType eType) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE BeginSession( 
            /* [in] */ DWORD dwSessionID,
            /* [in] */ RtSessionType eType) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsPoolObjVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsPoolObj * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsPoolObj * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsPoolObj * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *EndSession )( 
            IRsPoolObj * This,
            /* [in] */ DWORD dwSessionID,
            /* [in] */ RtSessionType eType);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *BeginSession )( 
            IRsPoolObj * This,
            /* [in] */ DWORD dwSessionID,
            /* [in] */ RtSessionType eType);
        
        END_INTERFACE
    } IRsPoolObjVtbl;

    interface IRsPoolObj
    {
        CONST_VTBL struct IRsPoolObjVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsPoolObj_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsPoolObj_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsPoolObj_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsPoolObj_EndSession(This,dwSessionID,eType)	\
    (This)->lpVtbl -> EndSession(This,dwSessionID,eType)

#define IRsPoolObj_BeginSession(This,dwSessionID,eType)	\
    (This)->lpVtbl -> BeginSession(This,dwSessionID,eType)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsPoolObj_EndSession_Proxy( 
    IRsPoolObj * This,
    /* [in] */ DWORD dwSessionID,
    /* [in] */ RtSessionType eType);


void __RPC_STUB IRsPoolObj_EndSession_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsPoolObj_BeginSession_Proxy( 
    IRsPoolObj * This,
    /* [in] */ DWORD dwSessionID,
    /* [in] */ RtSessionType eType);


void __RPC_STUB IRsPoolObj_BeginSession_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsPoolObj_INTERFACE_DEFINED__ */


#ifndef __IRsObjectList_INTERFACE_DEFINED__
#define __IRsObjectList_INTERFACE_DEFINED__

/* interface IRsObjectList */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsObjectList;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("7B92CD66-1EB2-48BA-996A-DDB1DDF34FFD")
    IRsObjectList : public IRsObject
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetAt( 
            /* [in] */ RtUlong pos,
            /* [retval][out] */ IRsObject **ppObj) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetCount( 
            /* [retval][out] */ RtUlong *pSize) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Clear( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Add( 
            /* [in] */ IRsObject *pObj) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Remove( 
            /* [in] */ IRsObject *pObj) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetAt( 
            /* [in] */ RtUlong pos,
            /* [in] */ IRsObject *ppObj) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsObjectListVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsObjectList * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsObjectList * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsObjectList * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassId )( 
            IRsObjectList * This,
            /* [retval][out] */ GUID *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassName )( 
            IRsObjectList * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetAt )( 
            IRsObjectList * This,
            /* [in] */ RtUlong pos,
            /* [retval][out] */ IRsObject **ppObj);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetCount )( 
            IRsObjectList * This,
            /* [retval][out] */ RtUlong *pSize);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Clear )( 
            IRsObjectList * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Add )( 
            IRsObjectList * This,
            /* [in] */ IRsObject *pObj);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Remove )( 
            IRsObjectList * This,
            /* [in] */ IRsObject *pObj);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetAt )( 
            IRsObjectList * This,
            /* [in] */ RtUlong pos,
            /* [in] */ IRsObject *ppObj);
        
        END_INTERFACE
    } IRsObjectListVtbl;

    interface IRsObjectList
    {
        CONST_VTBL struct IRsObjectListVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsObjectList_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsObjectList_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsObjectList_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsObjectList_get_ClassId(This,pVal)	\
    (This)->lpVtbl -> get_ClassId(This,pVal)

#define IRsObjectList_get_ClassName(This,pVal)	\
    (This)->lpVtbl -> get_ClassName(This,pVal)


#define IRsObjectList_GetAt(This,pos,ppObj)	\
    (This)->lpVtbl -> GetAt(This,pos,ppObj)

#define IRsObjectList_GetCount(This,pSize)	\
    (This)->lpVtbl -> GetCount(This,pSize)

#define IRsObjectList_Clear(This)	\
    (This)->lpVtbl -> Clear(This)

#define IRsObjectList_Add(This,pObj)	\
    (This)->lpVtbl -> Add(This,pObj)

#define IRsObjectList_Remove(This,pObj)	\
    (This)->lpVtbl -> Remove(This,pObj)

#define IRsObjectList_SetAt(This,pos,ppObj)	\
    (This)->lpVtbl -> SetAt(This,pos,ppObj)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsObjectList_GetAt_Proxy( 
    IRsObjectList * This,
    /* [in] */ RtUlong pos,
    /* [retval][out] */ IRsObject **ppObj);


void __RPC_STUB IRsObjectList_GetAt_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsObjectList_GetCount_Proxy( 
    IRsObjectList * This,
    /* [retval][out] */ RtUlong *pSize);


void __RPC_STUB IRsObjectList_GetCount_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsObjectList_Clear_Proxy( 
    IRsObjectList * This);


void __RPC_STUB IRsObjectList_Clear_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsObjectList_Add_Proxy( 
    IRsObjectList * This,
    /* [in] */ IRsObject *pObj);


void __RPC_STUB IRsObjectList_Add_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsObjectList_Remove_Proxy( 
    IRsObjectList * This,
    /* [in] */ IRsObject *pObj);


void __RPC_STUB IRsObjectList_Remove_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsObjectList_SetAt_Proxy( 
    IRsObjectList * This,
    /* [in] */ RtUlong pos,
    /* [in] */ IRsObject *ppObj);


void __RPC_STUB IRsObjectList_SetAt_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsObjectList_INTERFACE_DEFINED__ */


#ifndef __IRsNode_INTERFACE_DEFINED__
#define __IRsNode_INTERFACE_DEFINED__

/* interface IRsNode */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsNode;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("AAD9C655-51A2-4D79-8235-090C4C2D6AD9")
    IRsNode : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetValue( 
            /* [in] */ CONID con_id,
            /* [retval][out] */ VARIANT *pVtData) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetValue( 
            /* [in] */ CONID con_id,
            /* [in] */ VARIANT vtData) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Invalidate( 
            /* [in] */ CONID con_id) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Initialize( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE LoadDefault( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Destroy( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetDefaultValue( 
            /* [in] */ CONID con_id,
            /* [retval][out] */ VARIANT *pVtData) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetDataStatus( 
            /* [in] */ CONID con_id,
            /* [retval][out] */ RtDataStatus *pDataStatus) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Name( 
            /* [in] */ const BSTR newVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetFullName( 
            /* [in] */ IRsNode *pRootNode,
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE NameRegistered( 
            /* [in] */ RtBOOL bRegistered) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetOwner( 
            /* [retval][out] */ IRsNode **ppRemNode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetLocRntId( 
            /* [out] */ RtLocRntId *plocRntId) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsNodeVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsNode * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsNode * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsNode * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetValue )( 
            IRsNode * This,
            /* [in] */ CONID con_id,
            /* [retval][out] */ VARIANT *pVtData);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetValue )( 
            IRsNode * This,
            /* [in] */ CONID con_id,
            /* [in] */ VARIANT vtData);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Invalidate )( 
            IRsNode * This,
            /* [in] */ CONID con_id);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Initialize )( 
            IRsNode * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *LoadDefault )( 
            IRsNode * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Destroy )( 
            IRsNode * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetDefaultValue )( 
            IRsNode * This,
            /* [in] */ CONID con_id,
            /* [retval][out] */ VARIANT *pVtData);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetDataStatus )( 
            IRsNode * This,
            /* [in] */ CONID con_id,
            /* [retval][out] */ RtDataStatus *pDataStatus);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IRsNode * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Name )( 
            IRsNode * This,
            /* [in] */ const BSTR newVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetFullName )( 
            IRsNode * This,
            /* [in] */ IRsNode *pRootNode,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *NameRegistered )( 
            IRsNode * This,
            /* [in] */ RtBOOL bRegistered);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetOwner )( 
            IRsNode * This,
            /* [retval][out] */ IRsNode **ppRemNode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetLocRntId )( 
            IRsNode * This,
            /* [out] */ RtLocRntId *plocRntId);
        
        END_INTERFACE
    } IRsNodeVtbl;

    interface IRsNode
    {
        CONST_VTBL struct IRsNodeVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsNode_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsNode_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsNode_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsNode_GetValue(This,con_id,pVtData)	\
    (This)->lpVtbl -> GetValue(This,con_id,pVtData)

#define IRsNode_SetValue(This,con_id,vtData)	\
    (This)->lpVtbl -> SetValue(This,con_id,vtData)

#define IRsNode_Invalidate(This,con_id)	\
    (This)->lpVtbl -> Invalidate(This,con_id)

#define IRsNode_Initialize(This)	\
    (This)->lpVtbl -> Initialize(This)

#define IRsNode_LoadDefault(This)	\
    (This)->lpVtbl -> LoadDefault(This)

#define IRsNode_Destroy(This)	\
    (This)->lpVtbl -> Destroy(This)

#define IRsNode_GetDefaultValue(This,con_id,pVtData)	\
    (This)->lpVtbl -> GetDefaultValue(This,con_id,pVtData)

#define IRsNode_GetDataStatus(This,con_id,pDataStatus)	\
    (This)->lpVtbl -> GetDataStatus(This,con_id,pDataStatus)

#define IRsNode_get_Name(This,pVal)	\
    (This)->lpVtbl -> get_Name(This,pVal)

#define IRsNode_put_Name(This,newVal)	\
    (This)->lpVtbl -> put_Name(This,newVal)

#define IRsNode_GetFullName(This,pRootNode,pVal)	\
    (This)->lpVtbl -> GetFullName(This,pRootNode,pVal)

#define IRsNode_NameRegistered(This,bRegistered)	\
    (This)->lpVtbl -> NameRegistered(This,bRegistered)

#define IRsNode_GetOwner(This,ppRemNode)	\
    (This)->lpVtbl -> GetOwner(This,ppRemNode)

#define IRsNode_GetLocRntId(This,plocRntId)	\
    (This)->lpVtbl -> GetLocRntId(This,plocRntId)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsNode_GetValue_Proxy( 
    IRsNode * This,
    /* [in] */ CONID con_id,
    /* [retval][out] */ VARIANT *pVtData);


void __RPC_STUB IRsNode_GetValue_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsNode_SetValue_Proxy( 
    IRsNode * This,
    /* [in] */ CONID con_id,
    /* [in] */ VARIANT vtData);


void __RPC_STUB IRsNode_SetValue_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsNode_Invalidate_Proxy( 
    IRsNode * This,
    /* [in] */ CONID con_id);


void __RPC_STUB IRsNode_Invalidate_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsNode_Initialize_Proxy( 
    IRsNode * This);


void __RPC_STUB IRsNode_Initialize_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsNode_LoadDefault_Proxy( 
    IRsNode * This);


void __RPC_STUB IRsNode_LoadDefault_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsNode_Destroy_Proxy( 
    IRsNode * This);


void __RPC_STUB IRsNode_Destroy_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsNode_GetDefaultValue_Proxy( 
    IRsNode * This,
    /* [in] */ CONID con_id,
    /* [retval][out] */ VARIANT *pVtData);


void __RPC_STUB IRsNode_GetDefaultValue_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsNode_GetDataStatus_Proxy( 
    IRsNode * This,
    /* [in] */ CONID con_id,
    /* [retval][out] */ RtDataStatus *pDataStatus);


void __RPC_STUB IRsNode_GetDataStatus_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRsNode_get_Name_Proxy( 
    IRsNode * This,
    /* [retval][out] */ BSTR *pVal);


void __RPC_STUB IRsNode_get_Name_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRsNode_put_Name_Proxy( 
    IRsNode * This,
    /* [in] */ const BSTR newVal);


void __RPC_STUB IRsNode_put_Name_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsNode_GetFullName_Proxy( 
    IRsNode * This,
    /* [in] */ IRsNode *pRootNode,
    /* [retval][out] */ BSTR *pVal);


void __RPC_STUB IRsNode_GetFullName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsNode_NameRegistered_Proxy( 
    IRsNode * This,
    /* [in] */ RtBOOL bRegistered);


void __RPC_STUB IRsNode_NameRegistered_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsNode_GetOwner_Proxy( 
    IRsNode * This,
    /* [retval][out] */ IRsNode **ppRemNode);


void __RPC_STUB IRsNode_GetOwner_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsNode_GetLocRntId_Proxy( 
    IRsNode * This,
    /* [out] */ RtLocRntId *plocRntId);


void __RPC_STUB IRsNode_GetLocRntId_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsNode_INTERFACE_DEFINED__ */


#ifndef __IRsNotifyEvent_INTERFACE_DEFINED__
#define __IRsNotifyEvent_INTERFACE_DEFINED__

/* interface IRsNotifyEvent */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsNotifyEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("50910511-FC0C-4571-B11F-8F69968B4A91")
    IRsNotifyEvent : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Create( 
            /* [in] */ RtNotifyEvent eEvent,
            /* [in] */ IRsNode *pNode,
            /* [in] */ CONID *pConId,
            /* [in] */ VARIANT *pVtData) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Time( 
            /* [out] */ RtUlong *pTime) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Event( 
            /* [out] */ RtNotifyEvent *peEvent) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Source( 
            /* [out] */ IRsNode **ppNode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ConnectorId( 
            /* [out] */ CONID *pConId) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE EventData( 
            /* [out] */ VARIANT *pVtData) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Caller( 
            /* [retval][out] */ IUnknown **pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Caller( 
            /* [in] */ IUnknown *newVal) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsNotifyEventVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsNotifyEvent * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsNotifyEvent * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsNotifyEvent * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Create )( 
            IRsNotifyEvent * This,
            /* [in] */ RtNotifyEvent eEvent,
            /* [in] */ IRsNode *pNode,
            /* [in] */ CONID *pConId,
            /* [in] */ VARIANT *pVtData);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Time )( 
            IRsNotifyEvent * This,
            /* [out] */ RtUlong *pTime);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Event )( 
            IRsNotifyEvent * This,
            /* [out] */ RtNotifyEvent *peEvent);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Source )( 
            IRsNotifyEvent * This,
            /* [out] */ IRsNode **ppNode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ConnectorId )( 
            IRsNotifyEvent * This,
            /* [out] */ CONID *pConId);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *EventData )( 
            IRsNotifyEvent * This,
            /* [out] */ VARIANT *pVtData);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Caller )( 
            IRsNotifyEvent * This,
            /* [retval][out] */ IUnknown **pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Caller )( 
            IRsNotifyEvent * This,
            /* [in] */ IUnknown *newVal);
        
        END_INTERFACE
    } IRsNotifyEventVtbl;

    interface IRsNotifyEvent
    {
        CONST_VTBL struct IRsNotifyEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsNotifyEvent_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsNotifyEvent_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsNotifyEvent_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsNotifyEvent_Create(This,eEvent,pNode,pConId,pVtData)	\
    (This)->lpVtbl -> Create(This,eEvent,pNode,pConId,pVtData)

#define IRsNotifyEvent_Time(This,pTime)	\
    (This)->lpVtbl -> Time(This,pTime)

#define IRsNotifyEvent_Event(This,peEvent)	\
    (This)->lpVtbl -> Event(This,peEvent)

#define IRsNotifyEvent_Source(This,ppNode)	\
    (This)->lpVtbl -> Source(This,ppNode)

#define IRsNotifyEvent_ConnectorId(This,pConId)	\
    (This)->lpVtbl -> ConnectorId(This,pConId)

#define IRsNotifyEvent_EventData(This,pVtData)	\
    (This)->lpVtbl -> EventData(This,pVtData)

#define IRsNotifyEvent_get_Caller(This,pVal)	\
    (This)->lpVtbl -> get_Caller(This,pVal)

#define IRsNotifyEvent_put_Caller(This,newVal)	\
    (This)->lpVtbl -> put_Caller(This,newVal)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsNotifyEvent_Create_Proxy( 
    IRsNotifyEvent * This,
    /* [in] */ RtNotifyEvent eEvent,
    /* [in] */ IRsNode *pNode,
    /* [in] */ CONID *pConId,
    /* [in] */ VARIANT *pVtData);


void __RPC_STUB IRsNotifyEvent_Create_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsNotifyEvent_Time_Proxy( 
    IRsNotifyEvent * This,
    /* [out] */ RtUlong *pTime);


void __RPC_STUB IRsNotifyEvent_Time_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsNotifyEvent_Event_Proxy( 
    IRsNotifyEvent * This,
    /* [out] */ RtNotifyEvent *peEvent);


void __RPC_STUB IRsNotifyEvent_Event_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsNotifyEvent_Source_Proxy( 
    IRsNotifyEvent * This,
    /* [out] */ IRsNode **ppNode);


void __RPC_STUB IRsNotifyEvent_Source_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsNotifyEvent_ConnectorId_Proxy( 
    IRsNotifyEvent * This,
    /* [out] */ CONID *pConId);


void __RPC_STUB IRsNotifyEvent_ConnectorId_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsNotifyEvent_EventData_Proxy( 
    IRsNotifyEvent * This,
    /* [out] */ VARIANT *pVtData);


void __RPC_STUB IRsNotifyEvent_EventData_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRsNotifyEvent_get_Caller_Proxy( 
    IRsNotifyEvent * This,
    /* [retval][out] */ IUnknown **pVal);


void __RPC_STUB IRsNotifyEvent_get_Caller_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRsNotifyEvent_put_Caller_Proxy( 
    IRsNotifyEvent * This,
    /* [in] */ IUnknown *newVal);


void __RPC_STUB IRsNotifyEvent_put_Caller_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsNotifyEvent_INTERFACE_DEFINED__ */


#ifndef __IRsNotify_INTERFACE_DEFINED__
#define __IRsNotify_INTERFACE_DEFINED__

/* interface IRsNotify */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsNotify;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("95475679-75F2-45C6-A35C-297659FD1957")
    IRsNotify : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnNotifyEvent( 
            /* [in] */ IRsNotifyEvent *pEvent) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsNotifyVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsNotify * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsNotify * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsNotify * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OnNotifyEvent )( 
            IRsNotify * This,
            /* [in] */ IRsNotifyEvent *pEvent);
        
        END_INTERFACE
    } IRsNotifyVtbl;

    interface IRsNotify
    {
        CONST_VTBL struct IRsNotifyVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsNotify_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsNotify_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsNotify_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsNotify_OnNotifyEvent(This,pEvent)	\
    (This)->lpVtbl -> OnNotifyEvent(This,pEvent)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsNotify_OnNotifyEvent_Proxy( 
    IRsNotify * This,
    /* [in] */ IRsNotifyEvent *pEvent);


void __RPC_STUB IRsNotify_OnNotifyEvent_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsNotify_INTERFACE_DEFINED__ */


#ifndef __IRsCommand_INTERFACE_DEFINED__
#define __IRsCommand_INTERFACE_DEFINED__

/* interface IRsCommand */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsCommand;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("BCC911AE-5EC4-47D3-9857-4D2B790903D7")
    IRsCommand : public IRsObject
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Execute( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Undo( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Redo( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE HasUndo( 
            /* [retval][out] */ RtBool *isUndoable) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsCommandVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsCommand * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsCommand * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsCommand * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassId )( 
            IRsCommand * This,
            /* [retval][out] */ GUID *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassName )( 
            IRsCommand * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Execute )( 
            IRsCommand * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Undo )( 
            IRsCommand * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Redo )( 
            IRsCommand * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *HasUndo )( 
            IRsCommand * This,
            /* [retval][out] */ RtBool *isUndoable);
        
        END_INTERFACE
    } IRsCommandVtbl;

    interface IRsCommand
    {
        CONST_VTBL struct IRsCommandVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsCommand_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsCommand_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsCommand_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsCommand_get_ClassId(This,pVal)	\
    (This)->lpVtbl -> get_ClassId(This,pVal)

#define IRsCommand_get_ClassName(This,pVal)	\
    (This)->lpVtbl -> get_ClassName(This,pVal)


#define IRsCommand_Execute(This)	\
    (This)->lpVtbl -> Execute(This)

#define IRsCommand_Undo(This)	\
    (This)->lpVtbl -> Undo(This)

#define IRsCommand_Redo(This)	\
    (This)->lpVtbl -> Redo(This)

#define IRsCommand_HasUndo(This,isUndoable)	\
    (This)->lpVtbl -> HasUndo(This,isUndoable)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsCommand_Execute_Proxy( 
    IRsCommand * This);


void __RPC_STUB IRsCommand_Execute_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsCommand_Undo_Proxy( 
    IRsCommand * This);


void __RPC_STUB IRsCommand_Undo_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsCommand_Redo_Proxy( 
    IRsCommand * This);


void __RPC_STUB IRsCommand_Redo_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsCommand_HasUndo_Proxy( 
    IRsCommand * This,
    /* [retval][out] */ RtBool *isUndoable);


void __RPC_STUB IRsCommand_HasUndo_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsCommand_INTERFACE_DEFINED__ */


#ifndef __IRsInterfaceCmd_INTERFACE_DEFINED__
#define __IRsInterfaceCmd_INTERFACE_DEFINED__

/* interface IRsInterfaceCmd */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsInterfaceCmd;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("761CE63C-9B06-495A-AC8F-69ED923C37D2")
    IRsInterfaceCmd : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OwnsWindow( 
            /* [retval][out] */ RtBool *pbOwnsWnd) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsInterfaceCmdVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsInterfaceCmd * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsInterfaceCmd * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsInterfaceCmd * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OwnsWindow )( 
            IRsInterfaceCmd * This,
            /* [retval][out] */ RtBool *pbOwnsWnd);
        
        END_INTERFACE
    } IRsInterfaceCmdVtbl;

    interface IRsInterfaceCmd
    {
        CONST_VTBL struct IRsInterfaceCmdVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsInterfaceCmd_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsInterfaceCmd_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsInterfaceCmd_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsInterfaceCmd_OwnsWindow(This,pbOwnsWnd)	\
    (This)->lpVtbl -> OwnsWindow(This,pbOwnsWnd)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsInterfaceCmd_OwnsWindow_Proxy( 
    IRsInterfaceCmd * This,
    /* [retval][out] */ RtBool *pbOwnsWnd);


void __RPC_STUB IRsInterfaceCmd_OwnsWindow_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsInterfaceCmd_INTERFACE_DEFINED__ */


#ifndef __IRsPersistentCmd_INTERFACE_DEFINED__
#define __IRsPersistentCmd_INTERFACE_DEFINED__

/* interface IRsPersistentCmd */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsPersistentCmd;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("90304DB0-99FF-43E3-AC67-17A28C9C1A12")
    IRsPersistentCmd : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE HistoryDepend( 
            /* [out] */ RtBool *bDepend) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsPersistentCmdVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsPersistentCmd * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsPersistentCmd * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsPersistentCmd * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *HistoryDepend )( 
            IRsPersistentCmd * This,
            /* [out] */ RtBool *bDepend);
        
        END_INTERFACE
    } IRsPersistentCmdVtbl;

    interface IRsPersistentCmd
    {
        CONST_VTBL struct IRsPersistentCmdVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsPersistentCmd_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsPersistentCmd_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsPersistentCmd_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsPersistentCmd_HistoryDepend(This,bDepend)	\
    (This)->lpVtbl -> HistoryDepend(This,bDepend)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsPersistentCmd_HistoryDepend_Proxy( 
    IRsPersistentCmd * This,
    /* [out] */ RtBool *bDepend);


void __RPC_STUB IRsPersistentCmd_HistoryDepend_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsPersistentCmd_INTERFACE_DEFINED__ */


#ifndef __IRsCompoundBase_INTERFACE_DEFINED__
#define __IRsCompoundBase_INTERFACE_DEFINED__

/* interface IRsCompoundBase */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsCompoundBase;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3D4F5888-808A-47CE-9269-74979727990A")
    IRsCompoundBase : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddCmd( 
            /* [in] */ IRsCommand *pCmd) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Destroy( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE UndoIt( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RedoIt( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsCompoundBaseVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsCompoundBase * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsCompoundBase * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsCompoundBase * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddCmd )( 
            IRsCompoundBase * This,
            /* [in] */ IRsCommand *pCmd);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Destroy )( 
            IRsCompoundBase * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *UndoIt )( 
            IRsCompoundBase * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RedoIt )( 
            IRsCompoundBase * This);
        
        END_INTERFACE
    } IRsCompoundBaseVtbl;

    interface IRsCompoundBase
    {
        CONST_VTBL struct IRsCompoundBaseVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsCompoundBase_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsCompoundBase_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsCompoundBase_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsCompoundBase_AddCmd(This,pCmd)	\
    (This)->lpVtbl -> AddCmd(This,pCmd)

#define IRsCompoundBase_Destroy(This)	\
    (This)->lpVtbl -> Destroy(This)

#define IRsCompoundBase_UndoIt(This)	\
    (This)->lpVtbl -> UndoIt(This)

#define IRsCompoundBase_RedoIt(This)	\
    (This)->lpVtbl -> RedoIt(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsCompoundBase_AddCmd_Proxy( 
    IRsCompoundBase * This,
    /* [in] */ IRsCommand *pCmd);


void __RPC_STUB IRsCompoundBase_AddCmd_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsCompoundBase_Destroy_Proxy( 
    IRsCompoundBase * This);


void __RPC_STUB IRsCompoundBase_Destroy_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsCompoundBase_UndoIt_Proxy( 
    IRsCompoundBase * This);


void __RPC_STUB IRsCompoundBase_UndoIt_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsCompoundBase_RedoIt_Proxy( 
    IRsCompoundBase * This);


void __RPC_STUB IRsCompoundBase_RedoIt_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsCompoundBase_INTERFACE_DEFINED__ */


/* interface __MIDL_itf__Kernel_0801 */
/* [local] */ 

typedef 
enum tagRtScriptType
    {	SOTYPE_CMD	= 1,
	SOTYPE_NODE	= 2,
	SOTYPE_FUNCTION	= 3,
	SOTYPE_SHADER	= 4,
	SOTYPE_FN_SET	= 5,
	SOTYPE_UNKNOWN	= 6
    } 	RtScriptType;



extern RPC_IF_HANDLE __MIDL_itf__Kernel_0801_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf__Kernel_0801_v0_0_s_ifspec;

#ifndef __IRdScriptObject_INTERFACE_DEFINED__
#define __IRdScriptObject_INTERFACE_DEFINED__

/* interface IRdScriptObject */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRdScriptObject;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("A104CADE-D25B-4A97-8389-73B9B5CD400B")
    IRdScriptObject : public IRsDataObject
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Clear( void) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Language( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Language( 
            /* [in] */ BSTR newVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ScriptType( 
            /* [retval][out] */ RtScriptType *pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_ScriptType( 
            /* [in] */ RtScriptType newVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ScriptSubType( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_ScriptSubType( 
            /* [in] */ BSTR newVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Name( 
            /* [in] */ BSTR newVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ScriptBody( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_ScriptBody( 
            /* [in] */ BSTR newVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_UIName( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_UIName( 
            /* [in] */ BSTR newVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Description( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Description( 
            /* [in] */ BSTR newVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_GUID( 
            /* [retval][out] */ GUID *pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_GUID( 
            /* [in] */ GUID newVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_NumParams( 
            /* [retval][out] */ RtDWORD *pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_NumParams( 
            /* [in] */ RtDWORD pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetParameter( 
            /* [in] */ RtDWORD dwParamIndex,
            /* [out] */ RtFlags *pFlags,
            /* [out] */ BSTR *pbstrType,
            /* [out] */ BSTR *pbstrName,
            /* [out] */ BSTR *pbstrDescription,
            /* [out] */ VARTYPE *pVt,
            /* [out] */ GUID *pDataObjGUID) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE PutParameter( 
            /* [in] */ RtDWORD dwParamIndex,
            /* [in] */ RtFlags flags,
            /* [in] */ BSTR bstrType,
            /* [in] */ BSTR bstrName,
            /* [in] */ BSTR bstrDescription) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ParameterID( 
            /* [in] */ RtDWORD dwParamIndex,
            /* [retval][out] */ CONID *pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_ParameterID( 
            /* [in] */ RtDWORD dwParamIndex,
            /* [in] */ CONID newVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_WholeScriptXML( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_WholeScriptXML( 
            /* [in] */ BSTR newVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE LoadFromFile( 
            /* [in] */ BSTR FileName) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SaveToFile( 
            /* [in] */ BSTR FileName) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Editable( 
            /* [retval][out] */ RtBool *pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Editable( 
            /* [in] */ RtBool newVal) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRdScriptObjectVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRdScriptObject * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRdScriptObject * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRdScriptObject * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassId )( 
            IRdScriptObject * This,
            /* [retval][out] */ GUID *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassName )( 
            IRdScriptObject * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetDefault )( 
            IRdScriptObject * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Clear )( 
            IRdScriptObject * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Language )( 
            IRdScriptObject * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Language )( 
            IRdScriptObject * This,
            /* [in] */ BSTR newVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ScriptType )( 
            IRdScriptObject * This,
            /* [retval][out] */ RtScriptType *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ScriptType )( 
            IRdScriptObject * This,
            /* [in] */ RtScriptType newVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ScriptSubType )( 
            IRdScriptObject * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ScriptSubType )( 
            IRdScriptObject * This,
            /* [in] */ BSTR newVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IRdScriptObject * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Name )( 
            IRdScriptObject * This,
            /* [in] */ BSTR newVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ScriptBody )( 
            IRdScriptObject * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ScriptBody )( 
            IRdScriptObject * This,
            /* [in] */ BSTR newVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_UIName )( 
            IRdScriptObject * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_UIName )( 
            IRdScriptObject * This,
            /* [in] */ BSTR newVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Description )( 
            IRdScriptObject * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Description )( 
            IRdScriptObject * This,
            /* [in] */ BSTR newVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_GUID )( 
            IRdScriptObject * This,
            /* [retval][out] */ GUID *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_GUID )( 
            IRdScriptObject * This,
            /* [in] */ GUID newVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_NumParams )( 
            IRdScriptObject * This,
            /* [retval][out] */ RtDWORD *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_NumParams )( 
            IRdScriptObject * This,
            /* [in] */ RtDWORD pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetParameter )( 
            IRdScriptObject * This,
            /* [in] */ RtDWORD dwParamIndex,
            /* [out] */ RtFlags *pFlags,
            /* [out] */ BSTR *pbstrType,
            /* [out] */ BSTR *pbstrName,
            /* [out] */ BSTR *pbstrDescription,
            /* [out] */ VARTYPE *pVt,
            /* [out] */ GUID *pDataObjGUID);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *PutParameter )( 
            IRdScriptObject * This,
            /* [in] */ RtDWORD dwParamIndex,
            /* [in] */ RtFlags flags,
            /* [in] */ BSTR bstrType,
            /* [in] */ BSTR bstrName,
            /* [in] */ BSTR bstrDescription);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ParameterID )( 
            IRdScriptObject * This,
            /* [in] */ RtDWORD dwParamIndex,
            /* [retval][out] */ CONID *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ParameterID )( 
            IRdScriptObject * This,
            /* [in] */ RtDWORD dwParamIndex,
            /* [in] */ CONID newVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_WholeScriptXML )( 
            IRdScriptObject * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_WholeScriptXML )( 
            IRdScriptObject * This,
            /* [in] */ BSTR newVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *LoadFromFile )( 
            IRdScriptObject * This,
            /* [in] */ BSTR FileName);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SaveToFile )( 
            IRdScriptObject * This,
            /* [in] */ BSTR FileName);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Editable )( 
            IRdScriptObject * This,
            /* [retval][out] */ RtBool *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Editable )( 
            IRdScriptObject * This,
            /* [in] */ RtBool newVal);
        
        END_INTERFACE
    } IRdScriptObjectVtbl;

    interface IRdScriptObject
    {
        CONST_VTBL struct IRdScriptObjectVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRdScriptObject_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRdScriptObject_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRdScriptObject_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRdScriptObject_get_ClassId(This,pVal)	\
    (This)->lpVtbl -> get_ClassId(This,pVal)

#define IRdScriptObject_get_ClassName(This,pVal)	\
    (This)->lpVtbl -> get_ClassName(This,pVal)


#define IRdScriptObject_SetDefault(This)	\
    (This)->lpVtbl -> SetDefault(This)


#define IRdScriptObject_Clear(This)	\
    (This)->lpVtbl -> Clear(This)

#define IRdScriptObject_get_Language(This,pVal)	\
    (This)->lpVtbl -> get_Language(This,pVal)

#define IRdScriptObject_put_Language(This,newVal)	\
    (This)->lpVtbl -> put_Language(This,newVal)

#define IRdScriptObject_get_ScriptType(This,pVal)	\
    (This)->lpVtbl -> get_ScriptType(This,pVal)

#define IRdScriptObject_put_ScriptType(This,newVal)	\
    (This)->lpVtbl -> put_ScriptType(This,newVal)

#define IRdScriptObject_get_ScriptSubType(This,pVal)	\
    (This)->lpVtbl -> get_ScriptSubType(This,pVal)

#define IRdScriptObject_put_ScriptSubType(This,newVal)	\
    (This)->lpVtbl -> put_ScriptSubType(This,newVal)

#define IRdScriptObject_get_Name(This,pVal)	\
    (This)->lpVtbl -> get_Name(This,pVal)

#define IRdScriptObject_put_Name(This,newVal)	\
    (This)->lpVtbl -> put_Name(This,newVal)

#define IRdScriptObject_get_ScriptBody(This,pVal)	\
    (This)->lpVtbl -> get_ScriptBody(This,pVal)

#define IRdScriptObject_put_ScriptBody(This,newVal)	\
    (This)->lpVtbl -> put_ScriptBody(This,newVal)

#define IRdScriptObject_get_UIName(This,pVal)	\
    (This)->lpVtbl -> get_UIName(This,pVal)

#define IRdScriptObject_put_UIName(This,newVal)	\
    (This)->lpVtbl -> put_UIName(This,newVal)

#define IRdScriptObject_get_Description(This,pVal)	\
    (This)->lpVtbl -> get_Description(This,pVal)

#define IRdScriptObject_put_Description(This,newVal)	\
    (This)->lpVtbl -> put_Description(This,newVal)

#define IRdScriptObject_get_GUID(This,pVal)	\
    (This)->lpVtbl -> get_GUID(This,pVal)

#define IRdScriptObject_put_GUID(This,newVal)	\
    (This)->lpVtbl -> put_GUID(This,newVal)

#define IRdScriptObject_get_NumParams(This,pVal)	\
    (This)->lpVtbl -> get_NumParams(This,pVal)

#define IRdScriptObject_put_NumParams(This,pVal)	\
    (This)->lpVtbl -> put_NumParams(This,pVal)

#define IRdScriptObject_GetParameter(This,dwParamIndex,pFlags,pbstrType,pbstrName,pbstrDescription,pVt,pDataObjGUID)	\
    (This)->lpVtbl -> GetParameter(This,dwParamIndex,pFlags,pbstrType,pbstrName,pbstrDescription,pVt,pDataObjGUID)

#define IRdScriptObject_PutParameter(This,dwParamIndex,flags,bstrType,bstrName,bstrDescription)	\
    (This)->lpVtbl -> PutParameter(This,dwParamIndex,flags,bstrType,bstrName,bstrDescription)

#define IRdScriptObject_get_ParameterID(This,dwParamIndex,pVal)	\
    (This)->lpVtbl -> get_ParameterID(This,dwParamIndex,pVal)

#define IRdScriptObject_put_ParameterID(This,dwParamIndex,newVal)	\
    (This)->lpVtbl -> put_ParameterID(This,dwParamIndex,newVal)

#define IRdScriptObject_get_WholeScriptXML(This,pVal)	\
    (This)->lpVtbl -> get_WholeScriptXML(This,pVal)

#define IRdScriptObject_put_WholeScriptXML(This,newVal)	\
    (This)->lpVtbl -> put_WholeScriptXML(This,newVal)

#define IRdScriptObject_LoadFromFile(This,FileName)	\
    (This)->lpVtbl -> LoadFromFile(This,FileName)

#define IRdScriptObject_SaveToFile(This,FileName)	\
    (This)->lpVtbl -> SaveToFile(This,FileName)

#define IRdScriptObject_get_Editable(This,pVal)	\
    (This)->lpVtbl -> get_Editable(This,pVal)

#define IRdScriptObject_put_Editable(This,newVal)	\
    (This)->lpVtbl -> put_Editable(This,newVal)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdScriptObject_Clear_Proxy( 
    IRdScriptObject * This);


void __RPC_STUB IRdScriptObject_Clear_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRdScriptObject_get_Language_Proxy( 
    IRdScriptObject * This,
    /* [retval][out] */ BSTR *pVal);


void __RPC_STUB IRdScriptObject_get_Language_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRdScriptObject_put_Language_Proxy( 
    IRdScriptObject * This,
    /* [in] */ BSTR newVal);


void __RPC_STUB IRdScriptObject_put_Language_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRdScriptObject_get_ScriptType_Proxy( 
    IRdScriptObject * This,
    /* [retval][out] */ RtScriptType *pVal);


void __RPC_STUB IRdScriptObject_get_ScriptType_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRdScriptObject_put_ScriptType_Proxy( 
    IRdScriptObject * This,
    /* [in] */ RtScriptType newVal);


void __RPC_STUB IRdScriptObject_put_ScriptType_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRdScriptObject_get_ScriptSubType_Proxy( 
    IRdScriptObject * This,
    /* [retval][out] */ BSTR *pVal);


void __RPC_STUB IRdScriptObject_get_ScriptSubType_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRdScriptObject_put_ScriptSubType_Proxy( 
    IRdScriptObject * This,
    /* [in] */ BSTR newVal);


void __RPC_STUB IRdScriptObject_put_ScriptSubType_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRdScriptObject_get_Name_Proxy( 
    IRdScriptObject * This,
    /* [retval][out] */ BSTR *pVal);


void __RPC_STUB IRdScriptObject_get_Name_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRdScriptObject_put_Name_Proxy( 
    IRdScriptObject * This,
    /* [in] */ BSTR newVal);


void __RPC_STUB IRdScriptObject_put_Name_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRdScriptObject_get_ScriptBody_Proxy( 
    IRdScriptObject * This,
    /* [retval][out] */ BSTR *pVal);


void __RPC_STUB IRdScriptObject_get_ScriptBody_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRdScriptObject_put_ScriptBody_Proxy( 
    IRdScriptObject * This,
    /* [in] */ BSTR newVal);


void __RPC_STUB IRdScriptObject_put_ScriptBody_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRdScriptObject_get_UIName_Proxy( 
    IRdScriptObject * This,
    /* [retval][out] */ BSTR *pVal);


void __RPC_STUB IRdScriptObject_get_UIName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRdScriptObject_put_UIName_Proxy( 
    IRdScriptObject * This,
    /* [in] */ BSTR newVal);


void __RPC_STUB IRdScriptObject_put_UIName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRdScriptObject_get_Description_Proxy( 
    IRdScriptObject * This,
    /* [retval][out] */ BSTR *pVal);


void __RPC_STUB IRdScriptObject_get_Description_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRdScriptObject_put_Description_Proxy( 
    IRdScriptObject * This,
    /* [in] */ BSTR newVal);


void __RPC_STUB IRdScriptObject_put_Description_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRdScriptObject_get_GUID_Proxy( 
    IRdScriptObject * This,
    /* [retval][out] */ GUID *pVal);


void __RPC_STUB IRdScriptObject_get_GUID_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRdScriptObject_put_GUID_Proxy( 
    IRdScriptObject * This,
    /* [in] */ GUID newVal);


void __RPC_STUB IRdScriptObject_put_GUID_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRdScriptObject_get_NumParams_Proxy( 
    IRdScriptObject * This,
    /* [retval][out] */ RtDWORD *pVal);


void __RPC_STUB IRdScriptObject_get_NumParams_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRdScriptObject_put_NumParams_Proxy( 
    IRdScriptObject * This,
    /* [in] */ RtDWORD pVal);


void __RPC_STUB IRdScriptObject_put_NumParams_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdScriptObject_GetParameter_Proxy( 
    IRdScriptObject * This,
    /* [in] */ RtDWORD dwParamIndex,
    /* [out] */ RtFlags *pFlags,
    /* [out] */ BSTR *pbstrType,
    /* [out] */ BSTR *pbstrName,
    /* [out] */ BSTR *pbstrDescription,
    /* [out] */ VARTYPE *pVt,
    /* [out] */ GUID *pDataObjGUID);


void __RPC_STUB IRdScriptObject_GetParameter_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdScriptObject_PutParameter_Proxy( 
    IRdScriptObject * This,
    /* [in] */ RtDWORD dwParamIndex,
    /* [in] */ RtFlags flags,
    /* [in] */ BSTR bstrType,
    /* [in] */ BSTR bstrName,
    /* [in] */ BSTR bstrDescription);


void __RPC_STUB IRdScriptObject_PutParameter_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRdScriptObject_get_ParameterID_Proxy( 
    IRdScriptObject * This,
    /* [in] */ RtDWORD dwParamIndex,
    /* [retval][out] */ CONID *pVal);


void __RPC_STUB IRdScriptObject_get_ParameterID_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRdScriptObject_put_ParameterID_Proxy( 
    IRdScriptObject * This,
    /* [in] */ RtDWORD dwParamIndex,
    /* [in] */ CONID newVal);


void __RPC_STUB IRdScriptObject_put_ParameterID_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRdScriptObject_get_WholeScriptXML_Proxy( 
    IRdScriptObject * This,
    /* [retval][out] */ BSTR *pVal);


void __RPC_STUB IRdScriptObject_get_WholeScriptXML_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRdScriptObject_put_WholeScriptXML_Proxy( 
    IRdScriptObject * This,
    /* [in] */ BSTR newVal);


void __RPC_STUB IRdScriptObject_put_WholeScriptXML_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdScriptObject_LoadFromFile_Proxy( 
    IRdScriptObject * This,
    /* [in] */ BSTR FileName);


void __RPC_STUB IRdScriptObject_LoadFromFile_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdScriptObject_SaveToFile_Proxy( 
    IRdScriptObject * This,
    /* [in] */ BSTR FileName);


void __RPC_STUB IRdScriptObject_SaveToFile_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRdScriptObject_get_Editable_Proxy( 
    IRdScriptObject * This,
    /* [retval][out] */ RtBool *pVal);


void __RPC_STUB IRdScriptObject_get_Editable_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRdScriptObject_put_Editable_Proxy( 
    IRdScriptObject * This,
    /* [in] */ RtBool newVal);


void __RPC_STUB IRdScriptObject_put_Editable_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRdScriptObject_INTERFACE_DEFINED__ */


#ifndef __IRsLangObject_INTERFACE_DEFINED__
#define __IRsLangObject_INTERFACE_DEFINED__

/* interface IRsLangObject */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsLangObject;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("A36C0555-18E4-4824-9A9D-B555720A4229")
    IRsLangObject : public IRsObject
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetAllowedDataTypes( 
            /* [out] */ BSTR *pbsInTypes,
            /* [out] */ BSTR *pbsOutTypes) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetDisabledUIFields( 
            /* [retval][out] */ RtDWORD *pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE PerformSyntaxCheck( 
            /* [in] */ IRdScriptObject *spDO,
            /* [out] */ BSTR *pErrText,
            /* [out] */ ULONG *nLine,
            /* [out] */ LONG *nChar) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetFileExtension( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GenerateScriptSkeleton( 
            /* [in] */ IRdScriptObject *spDO,
            /* [in] */ RtBool bAdvancedHandlers,
            /* [retval][out] */ BSTR *pbsOutText) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetCaseSensitive( 
            /* [retval][out] */ RtBool *pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetStringQuotes( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetComments( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetKeywords( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetConstants( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetScriptDispatch( 
            /* [in] */ BSTR bsObj,
            /* [retval][out] */ IDispatch **ppScriptDisp) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsLangObjectVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsLangObject * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsLangObject * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsLangObject * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassId )( 
            IRsLangObject * This,
            /* [retval][out] */ GUID *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassName )( 
            IRsLangObject * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetAllowedDataTypes )( 
            IRsLangObject * This,
            /* [out] */ BSTR *pbsInTypes,
            /* [out] */ BSTR *pbsOutTypes);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetDisabledUIFields )( 
            IRsLangObject * This,
            /* [retval][out] */ RtDWORD *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *PerformSyntaxCheck )( 
            IRsLangObject * This,
            /* [in] */ IRdScriptObject *spDO,
            /* [out] */ BSTR *pErrText,
            /* [out] */ ULONG *nLine,
            /* [out] */ LONG *nChar);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetFileExtension )( 
            IRsLangObject * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GenerateScriptSkeleton )( 
            IRsLangObject * This,
            /* [in] */ IRdScriptObject *spDO,
            /* [in] */ RtBool bAdvancedHandlers,
            /* [retval][out] */ BSTR *pbsOutText);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetCaseSensitive )( 
            IRsLangObject * This,
            /* [retval][out] */ RtBool *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetStringQuotes )( 
            IRsLangObject * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetComments )( 
            IRsLangObject * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetKeywords )( 
            IRsLangObject * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetConstants )( 
            IRsLangObject * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetScriptDispatch )( 
            IRsLangObject * This,
            /* [in] */ BSTR bsObj,
            /* [retval][out] */ IDispatch **ppScriptDisp);
        
        END_INTERFACE
    } IRsLangObjectVtbl;

    interface IRsLangObject
    {
        CONST_VTBL struct IRsLangObjectVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsLangObject_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsLangObject_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsLangObject_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsLangObject_get_ClassId(This,pVal)	\
    (This)->lpVtbl -> get_ClassId(This,pVal)

#define IRsLangObject_get_ClassName(This,pVal)	\
    (This)->lpVtbl -> get_ClassName(This,pVal)


#define IRsLangObject_GetAllowedDataTypes(This,pbsInTypes,pbsOutTypes)	\
    (This)->lpVtbl -> GetAllowedDataTypes(This,pbsInTypes,pbsOutTypes)

#define IRsLangObject_GetDisabledUIFields(This,pVal)	\
    (This)->lpVtbl -> GetDisabledUIFields(This,pVal)

#define IRsLangObject_PerformSyntaxCheck(This,spDO,pErrText,nLine,nChar)	\
    (This)->lpVtbl -> PerformSyntaxCheck(This,spDO,pErrText,nLine,nChar)

#define IRsLangObject_GetFileExtension(This,pVal)	\
    (This)->lpVtbl -> GetFileExtension(This,pVal)

#define IRsLangObject_GenerateScriptSkeleton(This,spDO,bAdvancedHandlers,pbsOutText)	\
    (This)->lpVtbl -> GenerateScriptSkeleton(This,spDO,bAdvancedHandlers,pbsOutText)

#define IRsLangObject_GetCaseSensitive(This,pVal)	\
    (This)->lpVtbl -> GetCaseSensitive(This,pVal)

#define IRsLangObject_GetStringQuotes(This,pVal)	\
    (This)->lpVtbl -> GetStringQuotes(This,pVal)

#define IRsLangObject_GetComments(This,pVal)	\
    (This)->lpVtbl -> GetComments(This,pVal)

#define IRsLangObject_GetKeywords(This,pVal)	\
    (This)->lpVtbl -> GetKeywords(This,pVal)

#define IRsLangObject_GetConstants(This,pVal)	\
    (This)->lpVtbl -> GetConstants(This,pVal)

#define IRsLangObject_GetScriptDispatch(This,bsObj,ppScriptDisp)	\
    (This)->lpVtbl -> GetScriptDispatch(This,bsObj,ppScriptDisp)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsLangObject_GetAllowedDataTypes_Proxy( 
    IRsLangObject * This,
    /* [out] */ BSTR *pbsInTypes,
    /* [out] */ BSTR *pbsOutTypes);


void __RPC_STUB IRsLangObject_GetAllowedDataTypes_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsLangObject_GetDisabledUIFields_Proxy( 
    IRsLangObject * This,
    /* [retval][out] */ RtDWORD *pVal);


void __RPC_STUB IRsLangObject_GetDisabledUIFields_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsLangObject_PerformSyntaxCheck_Proxy( 
    IRsLangObject * This,
    /* [in] */ IRdScriptObject *spDO,
    /* [out] */ BSTR *pErrText,
    /* [out] */ ULONG *nLine,
    /* [out] */ LONG *nChar);


void __RPC_STUB IRsLangObject_PerformSyntaxCheck_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsLangObject_GetFileExtension_Proxy( 
    IRsLangObject * This,
    /* [retval][out] */ BSTR *pVal);


void __RPC_STUB IRsLangObject_GetFileExtension_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsLangObject_GenerateScriptSkeleton_Proxy( 
    IRsLangObject * This,
    /* [in] */ IRdScriptObject *spDO,
    /* [in] */ RtBool bAdvancedHandlers,
    /* [retval][out] */ BSTR *pbsOutText);


void __RPC_STUB IRsLangObject_GenerateScriptSkeleton_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsLangObject_GetCaseSensitive_Proxy( 
    IRsLangObject * This,
    /* [retval][out] */ RtBool *pVal);


void __RPC_STUB IRsLangObject_GetCaseSensitive_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsLangObject_GetStringQuotes_Proxy( 
    IRsLangObject * This,
    /* [retval][out] */ BSTR *pVal);


void __RPC_STUB IRsLangObject_GetStringQuotes_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsLangObject_GetComments_Proxy( 
    IRsLangObject * This,
    /* [retval][out] */ BSTR *pVal);


void __RPC_STUB IRsLangObject_GetComments_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsLangObject_GetKeywords_Proxy( 
    IRsLangObject * This,
    /* [retval][out] */ BSTR *pVal);


void __RPC_STUB IRsLangObject_GetKeywords_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsLangObject_GetConstants_Proxy( 
    IRsLangObject * This,
    /* [retval][out] */ BSTR *pVal);


void __RPC_STUB IRsLangObject_GetConstants_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsLangObject_GetScriptDispatch_Proxy( 
    IRsLangObject * This,
    /* [in] */ BSTR bsObj,
    /* [retval][out] */ IDispatch **ppScriptDisp);


void __RPC_STUB IRsLangObject_GetScriptDispatch_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsLangObject_INTERFACE_DEFINED__ */


#ifndef __IRsNamedItem_INTERFACE_DEFINED__
#define __IRsNamedItem_INTERFACE_DEFINED__

/* interface IRsNamedItem */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsNamedItem;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("237248E8-3928-4EC9-BF36-E527740EDD03")
    IRsNamedItem : public IUnknown
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsNamedItemVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsNamedItem * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsNamedItem * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsNamedItem * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IRsNamedItem * This,
            /* [retval][out] */ BSTR *pVal);
        
        END_INTERFACE
    } IRsNamedItemVtbl;

    interface IRsNamedItem
    {
        CONST_VTBL struct IRsNamedItemVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsNamedItem_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsNamedItem_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsNamedItem_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsNamedItem_get_Name(This,pVal)	\
    (This)->lpVtbl -> get_Name(This,pVal)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRsNamedItem_get_Name_Proxy( 
    IRsNamedItem * This,
    /* [retval][out] */ BSTR *pVal);


void __RPC_STUB IRsNamedItem_get_Name_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsNamedItem_INTERFACE_DEFINED__ */


#ifndef __IRsEnumNamedItem_INTERFACE_DEFINED__
#define __IRsEnumNamedItem_INTERFACE_DEFINED__

/* interface IRsEnumNamedItem */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsEnumNamedItem;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("157D8F37-2E21-4D75-9417-CEF3A150EC6A")
    IRsEnumNamedItem : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Next( 
            /* [in] */ ULONG cItems,
            /* [out] */ IRsNamedItem **pArrayItems,
            /* [out] */ ULONG *pcFetched) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Skip( 
            /* [in] */ ULONG cItems) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Reset( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Clone( 
            /* [out] */ IRsEnumNamedItem **ppEnum) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsEnumNamedItemVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsEnumNamedItem * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsEnumNamedItem * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsEnumNamedItem * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Next )( 
            IRsEnumNamedItem * This,
            /* [in] */ ULONG cItems,
            /* [out] */ IRsNamedItem **pArrayItems,
            /* [out] */ ULONG *pcFetched);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Skip )( 
            IRsEnumNamedItem * This,
            /* [in] */ ULONG cItems);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Reset )( 
            IRsEnumNamedItem * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Clone )( 
            IRsEnumNamedItem * This,
            /* [out] */ IRsEnumNamedItem **ppEnum);
        
        END_INTERFACE
    } IRsEnumNamedItemVtbl;

    interface IRsEnumNamedItem
    {
        CONST_VTBL struct IRsEnumNamedItemVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsEnumNamedItem_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsEnumNamedItem_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsEnumNamedItem_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsEnumNamedItem_Next(This,cItems,pArrayItems,pcFetched)	\
    (This)->lpVtbl -> Next(This,cItems,pArrayItems,pcFetched)

#define IRsEnumNamedItem_Skip(This,cItems)	\
    (This)->lpVtbl -> Skip(This,cItems)

#define IRsEnumNamedItem_Reset(This)	\
    (This)->lpVtbl -> Reset(This)

#define IRsEnumNamedItem_Clone(This,ppEnum)	\
    (This)->lpVtbl -> Clone(This,ppEnum)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsEnumNamedItem_Next_Proxy( 
    IRsEnumNamedItem * This,
    /* [in] */ ULONG cItems,
    /* [out] */ IRsNamedItem **pArrayItems,
    /* [out] */ ULONG *pcFetched);


void __RPC_STUB IRsEnumNamedItem_Next_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsEnumNamedItem_Skip_Proxy( 
    IRsEnumNamedItem * This,
    /* [in] */ ULONG cItems);


void __RPC_STUB IRsEnumNamedItem_Skip_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsEnumNamedItem_Reset_Proxy( 
    IRsEnumNamedItem * This);


void __RPC_STUB IRsEnumNamedItem_Reset_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsEnumNamedItem_Clone_Proxy( 
    IRsEnumNamedItem * This,
    /* [out] */ IRsEnumNamedItem **ppEnum);


void __RPC_STUB IRsEnumNamedItem_Clone_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsEnumNamedItem_INTERFACE_DEFINED__ */


#ifndef __IRsPersistStream_INTERFACE_DEFINED__
#define __IRsPersistStream_INTERFACE_DEFINED__

/* interface IRsPersistStream */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsPersistStream;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("629ECEDC-B27D-4D49-B074-2449F23D9F46")
    IRsPersistStream : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE IsDirty( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Load( 
            /* [in] */ IStream *pStm,
            /* [in] */ RtObjFileHeaderInfo *pObjFileHeaderInfo) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Save( 
            /* [in] */ IStream *pStm,
            /* [in] */ RtBOOL fClearDirty) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetFileHeaderInfo( 
            /* [retval][out] */ RtObjFileHeaderInfo *pHeaderInfo) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsPersistStreamVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsPersistStream * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsPersistStream * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsPersistStream * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *IsDirty )( 
            IRsPersistStream * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Load )( 
            IRsPersistStream * This,
            /* [in] */ IStream *pStm,
            /* [in] */ RtObjFileHeaderInfo *pObjFileHeaderInfo);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Save )( 
            IRsPersistStream * This,
            /* [in] */ IStream *pStm,
            /* [in] */ RtBOOL fClearDirty);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetFileHeaderInfo )( 
            IRsPersistStream * This,
            /* [retval][out] */ RtObjFileHeaderInfo *pHeaderInfo);
        
        END_INTERFACE
    } IRsPersistStreamVtbl;

    interface IRsPersistStream
    {
        CONST_VTBL struct IRsPersistStreamVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsPersistStream_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsPersistStream_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsPersistStream_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsPersistStream_IsDirty(This)	\
    (This)->lpVtbl -> IsDirty(This)

#define IRsPersistStream_Load(This,pStm,pObjFileHeaderInfo)	\
    (This)->lpVtbl -> Load(This,pStm,pObjFileHeaderInfo)

#define IRsPersistStream_Save(This,pStm,fClearDirty)	\
    (This)->lpVtbl -> Save(This,pStm,fClearDirty)

#define IRsPersistStream_GetFileHeaderInfo(This,pHeaderInfo)	\
    (This)->lpVtbl -> GetFileHeaderInfo(This,pHeaderInfo)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsPersistStream_IsDirty_Proxy( 
    IRsPersistStream * This);


void __RPC_STUB IRsPersistStream_IsDirty_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsPersistStream_Load_Proxy( 
    IRsPersistStream * This,
    /* [in] */ IStream *pStm,
    /* [in] */ RtObjFileHeaderInfo *pObjFileHeaderInfo);


void __RPC_STUB IRsPersistStream_Load_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsPersistStream_Save_Proxy( 
    IRsPersistStream * This,
    /* [in] */ IStream *pStm,
    /* [in] */ RtBOOL fClearDirty);


void __RPC_STUB IRsPersistStream_Save_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsPersistStream_GetFileHeaderInfo_Proxy( 
    IRsPersistStream * This,
    /* [retval][out] */ RtObjFileHeaderInfo *pHeaderInfo);


void __RPC_STUB IRsPersistStream_GetFileHeaderInfo_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsPersistStream_INTERFACE_DEFINED__ */


/* interface __MIDL_itf__Kernel_0806 */
/* [local] */ 


enum ReAccessRights
    {	ACCESS_RIGHTS_ALL	= 0
    } ;

enum ReObjUsers
    {	OBJUSER_DEPRECATED	= 0,
	OBJUSER_DEVELOPER	= 1,
	OBJUSER_SCRIPTER	= 2,
	OBJUSER_EDITOR	= 3
    } ;
typedef struct tagRtObjDesc
    {
    UINT idResName;
    RtUshort version;
    LPWSTR szDate;
    enum ReAccessRights eAccessRights;
    UINT idResDescription;
    enum ReObjUsers eIntendedUsers;
    LPWSTR szCodeSampleFile;
    } 	RtObjDesc;



extern RPC_IF_HANDLE __MIDL_itf__Kernel_0806_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf__Kernel_0806_v0_0_s_ifspec;

#ifndef __IRsObjDesc_INTERFACE_DEFINED__
#define __IRsObjDesc_INTERFACE_DEFINED__

/* interface IRsObjDesc */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsObjDesc;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("93A64818-3CDB-484a-B67B-7DFF4532CA81")
    IRsObjDesc : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Author( 
            /* [retval][out] */ BSTR *pbszAuthor) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Version( 
            /* [out] */ RtUshort *pVersion) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Date( 
            /* [retval][out] */ BSTR *pbsDate) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AccessRights( 
            /* [retval][out] */ enum ReAccessRights *peAccessRights) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Description( 
            /* [retval][out] */ BSTR *pbsDescription) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE IntendedUsers( 
            /* [retval][out] */ enum ReObjUsers *peIntendedUsers) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsObjDescVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsObjDesc * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsObjDesc * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsObjDesc * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Author )( 
            IRsObjDesc * This,
            /* [retval][out] */ BSTR *pbszAuthor);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Version )( 
            IRsObjDesc * This,
            /* [out] */ RtUshort *pVersion);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Date )( 
            IRsObjDesc * This,
            /* [retval][out] */ BSTR *pbsDate);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AccessRights )( 
            IRsObjDesc * This,
            /* [retval][out] */ enum ReAccessRights *peAccessRights);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Description )( 
            IRsObjDesc * This,
            /* [retval][out] */ BSTR *pbsDescription);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *IntendedUsers )( 
            IRsObjDesc * This,
            /* [retval][out] */ enum ReObjUsers *peIntendedUsers);
        
        END_INTERFACE
    } IRsObjDescVtbl;

    interface IRsObjDesc
    {
        CONST_VTBL struct IRsObjDescVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsObjDesc_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsObjDesc_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsObjDesc_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsObjDesc_Author(This,pbszAuthor)	\
    (This)->lpVtbl -> Author(This,pbszAuthor)

#define IRsObjDesc_Version(This,pVersion)	\
    (This)->lpVtbl -> Version(This,pVersion)

#define IRsObjDesc_Date(This,pbsDate)	\
    (This)->lpVtbl -> Date(This,pbsDate)

#define IRsObjDesc_AccessRights(This,peAccessRights)	\
    (This)->lpVtbl -> AccessRights(This,peAccessRights)

#define IRsObjDesc_Description(This,pbsDescription)	\
    (This)->lpVtbl -> Description(This,pbsDescription)

#define IRsObjDesc_IntendedUsers(This,peIntendedUsers)	\
    (This)->lpVtbl -> IntendedUsers(This,peIntendedUsers)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsObjDesc_Author_Proxy( 
    IRsObjDesc * This,
    /* [retval][out] */ BSTR *pbszAuthor);


void __RPC_STUB IRsObjDesc_Author_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsObjDesc_Version_Proxy( 
    IRsObjDesc * This,
    /* [out] */ RtUshort *pVersion);


void __RPC_STUB IRsObjDesc_Version_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsObjDesc_Date_Proxy( 
    IRsObjDesc * This,
    /* [retval][out] */ BSTR *pbsDate);


void __RPC_STUB IRsObjDesc_Date_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsObjDesc_AccessRights_Proxy( 
    IRsObjDesc * This,
    /* [retval][out] */ enum ReAccessRights *peAccessRights);


void __RPC_STUB IRsObjDesc_AccessRights_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsObjDesc_Description_Proxy( 
    IRsObjDesc * This,
    /* [retval][out] */ BSTR *pbsDescription);


void __RPC_STUB IRsObjDesc_Description_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsObjDesc_IntendedUsers_Proxy( 
    IRsObjDesc * This,
    /* [retval][out] */ enum ReObjUsers *peIntendedUsers);


void __RPC_STUB IRsObjDesc_IntendedUsers_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsObjDesc_INTERFACE_DEFINED__ */


/* interface __MIDL_itf__Kernel_0807 */
/* [local] */ 

typedef 
enum _tagRtNodeDescFlags
    {	NFLAG_SYSTEM	= 1,
	NFLAG_WINDOW	= 2
    } 	RtNodeDescFlags;

typedef struct tagRtNodeDesc
    {
    const IID *piid;
    const IID *pPackageIID;
    const RtObjDesc *pObjDesc;
    RtNodeDescFlags dwFlags;
    RtUshort usRes2D;
    } 	RtNodeDesc;



extern RPC_IF_HANDLE __MIDL_itf__Kernel_0807_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf__Kernel_0807_v0_0_s_ifspec;

#ifndef __IRsNodeDesc_INTERFACE_DEFINED__
#define __IRsNodeDesc_INTERFACE_DEFINED__

/* interface IRsNodeDesc */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsNodeDesc;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("A9D1D41C-AD90-4E0E-8257-90DB70C9EAD0")
    IRsNodeDesc : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Initialize( 
            /* [in] */ const RtNodeDesc *pDesc) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetIID( 
            /* [retval][out] */ IID *piid) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetFlags( 
            /* [retval][out] */ RtNodeDescFlags *pFlags) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetPackageIID( 
            /* [retval][out] */ IID *piid) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetResId( 
            /* [out] */ RtUshort *pRes2D) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetPreviewFileName( 
            /* [retval][out] */ BSTR *pbsFileName) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetPreviewFileName( 
            /* [in] */ BSTR bsFileName) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsNodeDescVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsNodeDesc * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsNodeDesc * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsNodeDesc * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Initialize )( 
            IRsNodeDesc * This,
            /* [in] */ const RtNodeDesc *pDesc);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetIID )( 
            IRsNodeDesc * This,
            /* [retval][out] */ IID *piid);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetFlags )( 
            IRsNodeDesc * This,
            /* [retval][out] */ RtNodeDescFlags *pFlags);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetPackageIID )( 
            IRsNodeDesc * This,
            /* [retval][out] */ IID *piid);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetResId )( 
            IRsNodeDesc * This,
            /* [out] */ RtUshort *pRes2D);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetPreviewFileName )( 
            IRsNodeDesc * This,
            /* [retval][out] */ BSTR *pbsFileName);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetPreviewFileName )( 
            IRsNodeDesc * This,
            /* [in] */ BSTR bsFileName);
        
        END_INTERFACE
    } IRsNodeDescVtbl;

    interface IRsNodeDesc
    {
        CONST_VTBL struct IRsNodeDescVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsNodeDesc_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsNodeDesc_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsNodeDesc_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsNodeDesc_Initialize(This,pDesc)	\
    (This)->lpVtbl -> Initialize(This,pDesc)

#define IRsNodeDesc_GetIID(This,piid)	\
    (This)->lpVtbl -> GetIID(This,piid)

#define IRsNodeDesc_GetFlags(This,pFlags)	\
    (This)->lpVtbl -> GetFlags(This,pFlags)

#define IRsNodeDesc_GetPackageIID(This,piid)	\
    (This)->lpVtbl -> GetPackageIID(This,piid)

#define IRsNodeDesc_GetResId(This,pRes2D)	\
    (This)->lpVtbl -> GetResId(This,pRes2D)

#define IRsNodeDesc_GetPreviewFileName(This,pbsFileName)	\
    (This)->lpVtbl -> GetPreviewFileName(This,pbsFileName)

#define IRsNodeDesc_SetPreviewFileName(This,bsFileName)	\
    (This)->lpVtbl -> SetPreviewFileName(This,bsFileName)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsNodeDesc_Initialize_Proxy( 
    IRsNodeDesc * This,
    /* [in] */ const RtNodeDesc *pDesc);


void __RPC_STUB IRsNodeDesc_Initialize_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsNodeDesc_GetIID_Proxy( 
    IRsNodeDesc * This,
    /* [retval][out] */ IID *piid);


void __RPC_STUB IRsNodeDesc_GetIID_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsNodeDesc_GetFlags_Proxy( 
    IRsNodeDesc * This,
    /* [retval][out] */ RtNodeDescFlags *pFlags);


void __RPC_STUB IRsNodeDesc_GetFlags_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsNodeDesc_GetPackageIID_Proxy( 
    IRsNodeDesc * This,
    /* [retval][out] */ IID *piid);


void __RPC_STUB IRsNodeDesc_GetPackageIID_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsNodeDesc_GetResId_Proxy( 
    IRsNodeDesc * This,
    /* [out] */ RtUshort *pRes2D);


void __RPC_STUB IRsNodeDesc_GetResId_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsNodeDesc_GetPreviewFileName_Proxy( 
    IRsNodeDesc * This,
    /* [retval][out] */ BSTR *pbsFileName);


void __RPC_STUB IRsNodeDesc_GetPreviewFileName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsNodeDesc_SetPreviewFileName_Proxy( 
    IRsNodeDesc * This,
    /* [in] */ BSTR bsFileName);


void __RPC_STUB IRsNodeDesc_SetPreviewFileName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsNodeDesc_INTERFACE_DEFINED__ */


/* interface __MIDL_itf__Kernel_0808 */
/* [local] */ 

typedef 
enum _tagRtCmdDescFlags
    {	CMDFLAG_MASTER	= 0,
	CMDFLAG_SHARED	= 1,
	CMDFLAG_INTERFACE	= 2,
	CMDFLAG_PRIORITY_HIGH	= 4
    } 	RtCmdDescFlags;

typedef struct tagRtCmdDesc
    {
    const IID *piid;
    const IID *pPackageIID;
    const RtObjDesc *pObjDesc;
    RtCmdDescFlags dwFlags;
    RtUshort usRes2D;
    } 	RtCmdDesc;



extern RPC_IF_HANDLE __MIDL_itf__Kernel_0808_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf__Kernel_0808_v0_0_s_ifspec;

#ifndef __IRsCmdDesc_INTERFACE_DEFINED__
#define __IRsCmdDesc_INTERFACE_DEFINED__

/* interface IRsCmdDesc */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsCmdDesc;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("691F5B45-F05B-4D4B-89B9-E5DAD94252DB")
    IRsCmdDesc : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Initialize( 
            /* [in] */ const RtCmdDesc *pDesc) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetIID( 
            /* [retval][out] */ IID *piid) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetFlags( 
            /* [retval][out] */ RtCmdDescFlags *pFlags) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetPackageIID( 
            /* [retval][out] */ IID *piid) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetResId( 
            /* [out] */ RtUshort *pRes2D) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetPreviewFileName( 
            /* [retval][out] */ BSTR *pbsFileName) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetPreviewFileName( 
            /* [in] */ BSTR bsFileName) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsCmdDescVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsCmdDesc * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsCmdDesc * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsCmdDesc * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Initialize )( 
            IRsCmdDesc * This,
            /* [in] */ const RtCmdDesc *pDesc);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetIID )( 
            IRsCmdDesc * This,
            /* [retval][out] */ IID *piid);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetFlags )( 
            IRsCmdDesc * This,
            /* [retval][out] */ RtCmdDescFlags *pFlags);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetPackageIID )( 
            IRsCmdDesc * This,
            /* [retval][out] */ IID *piid);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetResId )( 
            IRsCmdDesc * This,
            /* [out] */ RtUshort *pRes2D);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetPreviewFileName )( 
            IRsCmdDesc * This,
            /* [retval][out] */ BSTR *pbsFileName);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetPreviewFileName )( 
            IRsCmdDesc * This,
            /* [in] */ BSTR bsFileName);
        
        END_INTERFACE
    } IRsCmdDescVtbl;

    interface IRsCmdDesc
    {
        CONST_VTBL struct IRsCmdDescVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsCmdDesc_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsCmdDesc_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsCmdDesc_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsCmdDesc_Initialize(This,pDesc)	\
    (This)->lpVtbl -> Initialize(This,pDesc)

#define IRsCmdDesc_GetIID(This,piid)	\
    (This)->lpVtbl -> GetIID(This,piid)

#define IRsCmdDesc_GetFlags(This,pFlags)	\
    (This)->lpVtbl -> GetFlags(This,pFlags)

#define IRsCmdDesc_GetPackageIID(This,piid)	\
    (This)->lpVtbl -> GetPackageIID(This,piid)

#define IRsCmdDesc_GetResId(This,pRes2D)	\
    (This)->lpVtbl -> GetResId(This,pRes2D)

#define IRsCmdDesc_GetPreviewFileName(This,pbsFileName)	\
    (This)->lpVtbl -> GetPreviewFileName(This,pbsFileName)

#define IRsCmdDesc_SetPreviewFileName(This,bsFileName)	\
    (This)->lpVtbl -> SetPreviewFileName(This,bsFileName)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsCmdDesc_Initialize_Proxy( 
    IRsCmdDesc * This,
    /* [in] */ const RtCmdDesc *pDesc);


void __RPC_STUB IRsCmdDesc_Initialize_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsCmdDesc_GetIID_Proxy( 
    IRsCmdDesc * This,
    /* [retval][out] */ IID *piid);


void __RPC_STUB IRsCmdDesc_GetIID_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsCmdDesc_GetFlags_Proxy( 
    IRsCmdDesc * This,
    /* [retval][out] */ RtCmdDescFlags *pFlags);


void __RPC_STUB IRsCmdDesc_GetFlags_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsCmdDesc_GetPackageIID_Proxy( 
    IRsCmdDesc * This,
    /* [retval][out] */ IID *piid);


void __RPC_STUB IRsCmdDesc_GetPackageIID_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsCmdDesc_GetResId_Proxy( 
    IRsCmdDesc * This,
    /* [out] */ RtUshort *pRes2D);


void __RPC_STUB IRsCmdDesc_GetResId_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsCmdDesc_GetPreviewFileName_Proxy( 
    IRsCmdDesc * This,
    /* [retval][out] */ BSTR *pbsFileName);


void __RPC_STUB IRsCmdDesc_GetPreviewFileName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsCmdDesc_SetPreviewFileName_Proxy( 
    IRsCmdDesc * This,
    /* [in] */ BSTR bsFileName);


void __RPC_STUB IRsCmdDesc_SetPreviewFileName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsCmdDesc_INTERFACE_DEFINED__ */


/* interface __MIDL_itf__Kernel_0809 */
/* [local] */ 

typedef 
enum _tagRtDataObjDescFlags
    {	CFLAG_DEFAULT	= 0
    } 	RtDataObjDescFlags;

typedef struct tagRtDataObjDesc
    {
    const IID *piid;
    const IID *pPackageIID;
    const RtObjDesc *pObjDesc;
    RtDataObjDescFlags dwFlags;
    } 	RtDataObjDesc;



extern RPC_IF_HANDLE __MIDL_itf__Kernel_0809_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf__Kernel_0809_v0_0_s_ifspec;

#ifndef __IRsDataObjDesc_INTERFACE_DEFINED__
#define __IRsDataObjDesc_INTERFACE_DEFINED__

/* interface IRsDataObjDesc */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsDataObjDesc;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("9DE54684-63F9-4C87-A773-BE8A1C320A43")
    IRsDataObjDesc : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Initialize( 
            /* [in] */ const RtDataObjDesc *pDesc) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetIID( 
            /* [retval][out] */ IID *piid) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetFlags( 
            /* [retval][out] */ RtDataObjDescFlags *pFlags) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsDataObjDescVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsDataObjDesc * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsDataObjDesc * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsDataObjDesc * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Initialize )( 
            IRsDataObjDesc * This,
            /* [in] */ const RtDataObjDesc *pDesc);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetIID )( 
            IRsDataObjDesc * This,
            /* [retval][out] */ IID *piid);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetFlags )( 
            IRsDataObjDesc * This,
            /* [retval][out] */ RtDataObjDescFlags *pFlags);
        
        END_INTERFACE
    } IRsDataObjDescVtbl;

    interface IRsDataObjDesc
    {
        CONST_VTBL struct IRsDataObjDescVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsDataObjDesc_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsDataObjDesc_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsDataObjDesc_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsDataObjDesc_Initialize(This,pDesc)	\
    (This)->lpVtbl -> Initialize(This,pDesc)

#define IRsDataObjDesc_GetIID(This,piid)	\
    (This)->lpVtbl -> GetIID(This,piid)

#define IRsDataObjDesc_GetFlags(This,pFlags)	\
    (This)->lpVtbl -> GetFlags(This,pFlags)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsDataObjDesc_Initialize_Proxy( 
    IRsDataObjDesc * This,
    /* [in] */ const RtDataObjDesc *pDesc);


void __RPC_STUB IRsDataObjDesc_Initialize_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsDataObjDesc_GetIID_Proxy( 
    IRsDataObjDesc * This,
    /* [retval][out] */ IID *piid);


void __RPC_STUB IRsDataObjDesc_GetIID_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsDataObjDesc_GetFlags_Proxy( 
    IRsDataObjDesc * This,
    /* [retval][out] */ RtDataObjDescFlags *pFlags);


void __RPC_STUB IRsDataObjDesc_GetFlags_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsDataObjDesc_INTERFACE_DEFINED__ */


/* interface __MIDL_itf__Kernel_0810 */
/* [local] */ 

typedef 
enum _tagRtLangObjDescFlags
    {	LFLAG_DEFAULT	= 0
    } 	RtLangObjDescFlags;

typedef struct tagRtLangObjDesc
    {
    const IID *piid;
    RtLangObjDescFlags dwFlags;
    } 	RtLangObjDesc;



extern RPC_IF_HANDLE __MIDL_itf__Kernel_0810_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf__Kernel_0810_v0_0_s_ifspec;

#ifndef __IRsLangObjDesc_INTERFACE_DEFINED__
#define __IRsLangObjDesc_INTERFACE_DEFINED__

/* interface IRsLangObjDesc */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsLangObjDesc;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("B894AF83-6CEF-4384-A896-00103217E5D9")
    IRsLangObjDesc : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Initialize( 
            /* [in] */ RtLangObjDesc desc) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetIID( 
            /* [retval][out] */ IID *piid) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetFlags( 
            /* [retval][out] */ RtLangObjDescFlags *pFlags) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsLangObjDescVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsLangObjDesc * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsLangObjDesc * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsLangObjDesc * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Initialize )( 
            IRsLangObjDesc * This,
            /* [in] */ RtLangObjDesc desc);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetIID )( 
            IRsLangObjDesc * This,
            /* [retval][out] */ IID *piid);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetFlags )( 
            IRsLangObjDesc * This,
            /* [retval][out] */ RtLangObjDescFlags *pFlags);
        
        END_INTERFACE
    } IRsLangObjDescVtbl;

    interface IRsLangObjDesc
    {
        CONST_VTBL struct IRsLangObjDescVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsLangObjDesc_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsLangObjDesc_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsLangObjDesc_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsLangObjDesc_Initialize(This,desc)	\
    (This)->lpVtbl -> Initialize(This,desc)

#define IRsLangObjDesc_GetIID(This,piid)	\
    (This)->lpVtbl -> GetIID(This,piid)

#define IRsLangObjDesc_GetFlags(This,pFlags)	\
    (This)->lpVtbl -> GetFlags(This,pFlags)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsLangObjDesc_Initialize_Proxy( 
    IRsLangObjDesc * This,
    /* [in] */ RtLangObjDesc desc);


void __RPC_STUB IRsLangObjDesc_Initialize_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsLangObjDesc_GetIID_Proxy( 
    IRsLangObjDesc * This,
    /* [retval][out] */ IID *piid);


void __RPC_STUB IRsLangObjDesc_GetIID_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsLangObjDesc_GetFlags_Proxy( 
    IRsLangObjDesc * This,
    /* [retval][out] */ RtLangObjDescFlags *pFlags);


void __RPC_STUB IRsLangObjDesc_GetFlags_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsLangObjDesc_INTERFACE_DEFINED__ */


/* interface __MIDL_itf__Kernel_0811 */
/* [local] */ 

typedef 
enum tagRtConFlags
    {	CONFLG_DIRTY	= 1,
	CONFLG_OUT	= 2,
	CONFLG_IN	= 4,
	CONFLG_INOUT	= 6,
	CONFLG_RESERVED	= 8,
	CONFLG_EXPORTED	= 16,
	CONFLG_HIDDEN	= 32,
	CONFLG_CACHING	= 64,
	CONFLG_NONOTIFY	= 128,
	CONFLG_CONTROLFLOW	= 256,
	CONFLG_DISABLECACHING	= 512,
	CONFLG_REGISTERED	= 1024,
	CONFLG_CUSTOM	= 2048,
	CONFLG_TOPOLOGY	= 4096,
	CONFLG_LOCAL	= 8192,
	CONFLG_LAST	= 8193
    } 	RtConFlags;



extern RPC_IF_HANDLE __MIDL_itf__Kernel_0811_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf__Kernel_0811_v0_0_s_ifspec;

#ifndef __IRsConDescriptor_INTERFACE_DEFINED__
#define __IRsConDescriptor_INTERFACE_DEFINED__

/* interface IRsConDescriptor */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsConDescriptor;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("5B86D1E2-8149-45CD-B50D-38F765A2C02E")
    IRsConDescriptor : public IRsObject
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Initialize( 
            /* [in] */ const GUID *pId,
            /* [in] */ LPWSTR name,
            /* [in] */ LPWSTR desc,
            /* [in] */ VARTYPE vType,
            /* [in] */ const CLSID *pDataTypeId,
            /* [in] */ RtFlags dwFlags) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetConGUID( 
            /* [retval][out] */ GUID *id) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetName( 
            /* [retval][out] */ BSTR *name) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetDescription( 
            /* [retval][out] */ BSTR *desc) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetDataType( 
            /* [retval][out] */ VARTYPE *vType) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetDataTypeId( 
            /* [retval][out] */ GUID *dataTypeId) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DefaultFlags( 
            /* [retval][out] */ RtFlags *pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE IsEqual( 
            /* [in] */ IRsConDescriptor *pConDesc,
            /* [retval][out] */ RtBool *pbVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE IsShared( 
            /* [retval][out] */ RtBool *pbShared) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE DisableSharing( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE IsRegistered( 
            /* [retval][out] */ RtBool *pbGlobal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetRegistered( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsConDescriptorVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsConDescriptor * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsConDescriptor * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsConDescriptor * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassId )( 
            IRsConDescriptor * This,
            /* [retval][out] */ GUID *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassName )( 
            IRsConDescriptor * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Initialize )( 
            IRsConDescriptor * This,
            /* [in] */ const GUID *pId,
            /* [in] */ LPWSTR name,
            /* [in] */ LPWSTR desc,
            /* [in] */ VARTYPE vType,
            /* [in] */ const CLSID *pDataTypeId,
            /* [in] */ RtFlags dwFlags);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetConGUID )( 
            IRsConDescriptor * This,
            /* [retval][out] */ GUID *id);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetName )( 
            IRsConDescriptor * This,
            /* [retval][out] */ BSTR *name);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetDescription )( 
            IRsConDescriptor * This,
            /* [retval][out] */ BSTR *desc);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetDataType )( 
            IRsConDescriptor * This,
            /* [retval][out] */ VARTYPE *vType);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetDataTypeId )( 
            IRsConDescriptor * This,
            /* [retval][out] */ GUID *dataTypeId);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DefaultFlags )( 
            IRsConDescriptor * This,
            /* [retval][out] */ RtFlags *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *IsEqual )( 
            IRsConDescriptor * This,
            /* [in] */ IRsConDescriptor *pConDesc,
            /* [retval][out] */ RtBool *pbVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *IsShared )( 
            IRsConDescriptor * This,
            /* [retval][out] */ RtBool *pbShared);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *DisableSharing )( 
            IRsConDescriptor * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *IsRegistered )( 
            IRsConDescriptor * This,
            /* [retval][out] */ RtBool *pbGlobal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetRegistered )( 
            IRsConDescriptor * This);
        
        END_INTERFACE
    } IRsConDescriptorVtbl;

    interface IRsConDescriptor
    {
        CONST_VTBL struct IRsConDescriptorVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsConDescriptor_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsConDescriptor_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsConDescriptor_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsConDescriptor_get_ClassId(This,pVal)	\
    (This)->lpVtbl -> get_ClassId(This,pVal)

#define IRsConDescriptor_get_ClassName(This,pVal)	\
    (This)->lpVtbl -> get_ClassName(This,pVal)


#define IRsConDescriptor_Initialize(This,pId,name,desc,vType,pDataTypeId,dwFlags)	\
    (This)->lpVtbl -> Initialize(This,pId,name,desc,vType,pDataTypeId,dwFlags)

#define IRsConDescriptor_GetConGUID(This,id)	\
    (This)->lpVtbl -> GetConGUID(This,id)

#define IRsConDescriptor_GetName(This,name)	\
    (This)->lpVtbl -> GetName(This,name)

#define IRsConDescriptor_GetDescription(This,desc)	\
    (This)->lpVtbl -> GetDescription(This,desc)

#define IRsConDescriptor_GetDataType(This,vType)	\
    (This)->lpVtbl -> GetDataType(This,vType)

#define IRsConDescriptor_GetDataTypeId(This,dataTypeId)	\
    (This)->lpVtbl -> GetDataTypeId(This,dataTypeId)

#define IRsConDescriptor_get_DefaultFlags(This,pVal)	\
    (This)->lpVtbl -> get_DefaultFlags(This,pVal)

#define IRsConDescriptor_IsEqual(This,pConDesc,pbVal)	\
    (This)->lpVtbl -> IsEqual(This,pConDesc,pbVal)

#define IRsConDescriptor_IsShared(This,pbShared)	\
    (This)->lpVtbl -> IsShared(This,pbShared)

#define IRsConDescriptor_DisableSharing(This)	\
    (This)->lpVtbl -> DisableSharing(This)

#define IRsConDescriptor_IsRegistered(This,pbGlobal)	\
    (This)->lpVtbl -> IsRegistered(This,pbGlobal)

#define IRsConDescriptor_SetRegistered(This)	\
    (This)->lpVtbl -> SetRegistered(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsConDescriptor_Initialize_Proxy( 
    IRsConDescriptor * This,
    /* [in] */ const GUID *pId,
    /* [in] */ LPWSTR name,
    /* [in] */ LPWSTR desc,
    /* [in] */ VARTYPE vType,
    /* [in] */ const CLSID *pDataTypeId,
    /* [in] */ RtFlags dwFlags);


void __RPC_STUB IRsConDescriptor_Initialize_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsConDescriptor_GetConGUID_Proxy( 
    IRsConDescriptor * This,
    /* [retval][out] */ GUID *id);


void __RPC_STUB IRsConDescriptor_GetConGUID_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsConDescriptor_GetName_Proxy( 
    IRsConDescriptor * This,
    /* [retval][out] */ BSTR *name);


void __RPC_STUB IRsConDescriptor_GetName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsConDescriptor_GetDescription_Proxy( 
    IRsConDescriptor * This,
    /* [retval][out] */ BSTR *desc);


void __RPC_STUB IRsConDescriptor_GetDescription_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsConDescriptor_GetDataType_Proxy( 
    IRsConDescriptor * This,
    /* [retval][out] */ VARTYPE *vType);


void __RPC_STUB IRsConDescriptor_GetDataType_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsConDescriptor_GetDataTypeId_Proxy( 
    IRsConDescriptor * This,
    /* [retval][out] */ GUID *dataTypeId);


void __RPC_STUB IRsConDescriptor_GetDataTypeId_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRsConDescriptor_get_DefaultFlags_Proxy( 
    IRsConDescriptor * This,
    /* [retval][out] */ RtFlags *pVal);


void __RPC_STUB IRsConDescriptor_get_DefaultFlags_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsConDescriptor_IsEqual_Proxy( 
    IRsConDescriptor * This,
    /* [in] */ IRsConDescriptor *pConDesc,
    /* [retval][out] */ RtBool *pbVal);


void __RPC_STUB IRsConDescriptor_IsEqual_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsConDescriptor_IsShared_Proxy( 
    IRsConDescriptor * This,
    /* [retval][out] */ RtBool *pbShared);


void __RPC_STUB IRsConDescriptor_IsShared_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsConDescriptor_DisableSharing_Proxy( 
    IRsConDescriptor * This);


void __RPC_STUB IRsConDescriptor_DisableSharing_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsConDescriptor_IsRegistered_Proxy( 
    IRsConDescriptor * This,
    /* [retval][out] */ RtBool *pbGlobal);


void __RPC_STUB IRsConDescriptor_IsRegistered_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsConDescriptor_SetRegistered_Proxy( 
    IRsConDescriptor * This);


void __RPC_STUB IRsConDescriptor_SetRegistered_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsConDescriptor_INTERFACE_DEFINED__ */


#ifndef __IRsDcsPool_INTERFACE_DEFINED__
#define __IRsDcsPool_INTERFACE_DEFINED__

/* interface IRsDcsPool */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsDcsPool;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("EF88A109-B889-4778-99DE-C29AFF1C91B4")
    IRsDcsPool : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Add( 
            /* [in] */ IRsConDescriptor *pDesc) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Find( 
            /* [in] */ CONID *pConId,
            /* [retval][out] */ IRsConDescriptor **ppDesc) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_SessionType( 
            /* [retval][out] */ RtSessionType *pVal) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsDcsPoolVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsDcsPool * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsDcsPool * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsDcsPool * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Add )( 
            IRsDcsPool * This,
            /* [in] */ IRsConDescriptor *pDesc);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Find )( 
            IRsDcsPool * This,
            /* [in] */ CONID *pConId,
            /* [retval][out] */ IRsConDescriptor **ppDesc);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SessionType )( 
            IRsDcsPool * This,
            /* [retval][out] */ RtSessionType *pVal);
        
        END_INTERFACE
    } IRsDcsPoolVtbl;

    interface IRsDcsPool
    {
        CONST_VTBL struct IRsDcsPoolVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsDcsPool_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsDcsPool_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsDcsPool_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsDcsPool_Add(This,pDesc)	\
    (This)->lpVtbl -> Add(This,pDesc)

#define IRsDcsPool_Find(This,pConId,ppDesc)	\
    (This)->lpVtbl -> Find(This,pConId,ppDesc)

#define IRsDcsPool_get_SessionType(This,pVal)	\
    (This)->lpVtbl -> get_SessionType(This,pVal)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsDcsPool_Add_Proxy( 
    IRsDcsPool * This,
    /* [in] */ IRsConDescriptor *pDesc);


void __RPC_STUB IRsDcsPool_Add_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsDcsPool_Find_Proxy( 
    IRsDcsPool * This,
    /* [in] */ CONID *pConId,
    /* [retval][out] */ IRsConDescriptor **ppDesc);


void __RPC_STUB IRsDcsPool_Find_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRsDcsPool_get_SessionType_Proxy( 
    IRsDcsPool * This,
    /* [retval][out] */ RtSessionType *pVal);


void __RPC_STUB IRsDcsPool_get_SessionType_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsDcsPool_INTERFACE_DEFINED__ */


#ifndef __IRsEnum_INTERFACE_DEFINED__
#define __IRsEnum_INTERFACE_DEFINED__

/* interface IRsEnum */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsEnum;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("07CE0D64-4AFE-4ED5-99E2-85AA513ED81E")
    IRsEnum : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Reset( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE MoveNext( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetCurrent( 
            /* [retval][out] */ IRsObject **ppObject) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsEnumVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsEnum * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsEnum * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsEnum * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Reset )( 
            IRsEnum * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *MoveNext )( 
            IRsEnum * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetCurrent )( 
            IRsEnum * This,
            /* [retval][out] */ IRsObject **ppObject);
        
        END_INTERFACE
    } IRsEnumVtbl;

    interface IRsEnum
    {
        CONST_VTBL struct IRsEnumVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsEnum_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsEnum_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsEnum_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsEnum_Reset(This)	\
    (This)->lpVtbl -> Reset(This)

#define IRsEnum_MoveNext(This)	\
    (This)->lpVtbl -> MoveNext(This)

#define IRsEnum_GetCurrent(This,ppObject)	\
    (This)->lpVtbl -> GetCurrent(This,ppObject)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsEnum_Reset_Proxy( 
    IRsEnum * This);


void __RPC_STUB IRsEnum_Reset_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsEnum_MoveNext_Proxy( 
    IRsEnum * This);


void __RPC_STUB IRsEnum_MoveNext_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsEnum_GetCurrent_Proxy( 
    IRsEnum * This,
    /* [retval][out] */ IRsObject **ppObject);


void __RPC_STUB IRsEnum_GetCurrent_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsEnum_INTERFACE_DEFINED__ */


#ifndef __IRsEnumConDesc_INTERFACE_DEFINED__
#define __IRsEnumConDesc_INTERFACE_DEFINED__

/* interface IRsEnumConDesc */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsEnumConDesc;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("906A274E-C69B-43A3-9A36-45615B1480CB")
    IRsEnumConDesc : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Next( 
            /* [in] */ ULONG cCons,
            /* [out] */ IRsConDescriptor **ppConDescArray,
            /* [out] */ ULONG *pcFetched) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Skip( 
            /* [in] */ ULONG cCons) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Reset( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Clone( 
            /* [out] */ IRsEnumConDesc **ppEnum) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsEnumConDescVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsEnumConDesc * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsEnumConDesc * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsEnumConDesc * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Next )( 
            IRsEnumConDesc * This,
            /* [in] */ ULONG cCons,
            /* [out] */ IRsConDescriptor **ppConDescArray,
            /* [out] */ ULONG *pcFetched);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Skip )( 
            IRsEnumConDesc * This,
            /* [in] */ ULONG cCons);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Reset )( 
            IRsEnumConDesc * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Clone )( 
            IRsEnumConDesc * This,
            /* [out] */ IRsEnumConDesc **ppEnum);
        
        END_INTERFACE
    } IRsEnumConDescVtbl;

    interface IRsEnumConDesc
    {
        CONST_VTBL struct IRsEnumConDescVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsEnumConDesc_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsEnumConDesc_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsEnumConDesc_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsEnumConDesc_Next(This,cCons,ppConDescArray,pcFetched)	\
    (This)->lpVtbl -> Next(This,cCons,ppConDescArray,pcFetched)

#define IRsEnumConDesc_Skip(This,cCons)	\
    (This)->lpVtbl -> Skip(This,cCons)

#define IRsEnumConDesc_Reset(This)	\
    (This)->lpVtbl -> Reset(This)

#define IRsEnumConDesc_Clone(This,ppEnum)	\
    (This)->lpVtbl -> Clone(This,ppEnum)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsEnumConDesc_Next_Proxy( 
    IRsEnumConDesc * This,
    /* [in] */ ULONG cCons,
    /* [out] */ IRsConDescriptor **ppConDescArray,
    /* [out] */ ULONG *pcFetched);


void __RPC_STUB IRsEnumConDesc_Next_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsEnumConDesc_Skip_Proxy( 
    IRsEnumConDesc * This,
    /* [in] */ ULONG cCons);


void __RPC_STUB IRsEnumConDesc_Skip_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsEnumConDesc_Reset_Proxy( 
    IRsEnumConDesc * This);


void __RPC_STUB IRsEnumConDesc_Reset_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsEnumConDesc_Clone_Proxy( 
    IRsEnumConDesc * This,
    /* [out] */ IRsEnumConDesc **ppEnum);


void __RPC_STUB IRsEnumConDesc_Clone_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsEnumConDesc_INTERFACE_DEFINED__ */


#ifndef __IRsEnumNodes_INTERFACE_DEFINED__
#define __IRsEnumNodes_INTERFACE_DEFINED__

/* interface IRsEnumNodes */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsEnumNodes;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("B1710331-2C67-4A65-A05B-79F572FF3A07")
    IRsEnumNodes : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Next( 
            /* [in] */ ULONG cShapes,
            /* [out] */ IRsNode **pArrayNode,
            /* [out] */ ULONG *pcFetched) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Skip( 
            /* [in] */ ULONG cShapes) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Reset( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Clone( 
            /* [out] */ IRsEnumNodes **ppEnum) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsEnumNodesVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsEnumNodes * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsEnumNodes * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsEnumNodes * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Next )( 
            IRsEnumNodes * This,
            /* [in] */ ULONG cShapes,
            /* [out] */ IRsNode **pArrayNode,
            /* [out] */ ULONG *pcFetched);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Skip )( 
            IRsEnumNodes * This,
            /* [in] */ ULONG cShapes);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Reset )( 
            IRsEnumNodes * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Clone )( 
            IRsEnumNodes * This,
            /* [out] */ IRsEnumNodes **ppEnum);
        
        END_INTERFACE
    } IRsEnumNodesVtbl;

    interface IRsEnumNodes
    {
        CONST_VTBL struct IRsEnumNodesVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsEnumNodes_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsEnumNodes_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsEnumNodes_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsEnumNodes_Next(This,cShapes,pArrayNode,pcFetched)	\
    (This)->lpVtbl -> Next(This,cShapes,pArrayNode,pcFetched)

#define IRsEnumNodes_Skip(This,cShapes)	\
    (This)->lpVtbl -> Skip(This,cShapes)

#define IRsEnumNodes_Reset(This)	\
    (This)->lpVtbl -> Reset(This)

#define IRsEnumNodes_Clone(This,ppEnum)	\
    (This)->lpVtbl -> Clone(This,ppEnum)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsEnumNodes_Next_Proxy( 
    IRsEnumNodes * This,
    /* [in] */ ULONG cShapes,
    /* [out] */ IRsNode **pArrayNode,
    /* [out] */ ULONG *pcFetched);


void __RPC_STUB IRsEnumNodes_Next_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsEnumNodes_Skip_Proxy( 
    IRsEnumNodes * This,
    /* [in] */ ULONG cShapes);


void __RPC_STUB IRsEnumNodes_Skip_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsEnumNodes_Reset_Proxy( 
    IRsEnumNodes * This);


void __RPC_STUB IRsEnumNodes_Reset_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsEnumNodes_Clone_Proxy( 
    IRsEnumNodes * This,
    /* [out] */ IRsEnumNodes **ppEnum);


void __RPC_STUB IRsEnumNodes_Clone_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsEnumNodes_INTERFACE_DEFINED__ */


#ifndef __IRsEnumNodeDesc_INTERFACE_DEFINED__
#define __IRsEnumNodeDesc_INTERFACE_DEFINED__

/* interface IRsEnumNodeDesc */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsEnumNodeDesc;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("F59070BD-DDD4-44cb-9B21-3149AA0071FB")
    IRsEnumNodeDesc : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Next( 
            /* [in] */ ULONG cNodes,
            /* [out] */ IRsNodeDesc **pNodesArray,
            /* [out] */ ULONG *pcFetched) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Skip( 
            /* [in] */ ULONG cNode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Reset( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Clone( 
            /* [out] */ IRsEnumNodeDesc **ppEnum) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsEnumNodeDescVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsEnumNodeDesc * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsEnumNodeDesc * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsEnumNodeDesc * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Next )( 
            IRsEnumNodeDesc * This,
            /* [in] */ ULONG cNodes,
            /* [out] */ IRsNodeDesc **pNodesArray,
            /* [out] */ ULONG *pcFetched);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Skip )( 
            IRsEnumNodeDesc * This,
            /* [in] */ ULONG cNode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Reset )( 
            IRsEnumNodeDesc * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Clone )( 
            IRsEnumNodeDesc * This,
            /* [out] */ IRsEnumNodeDesc **ppEnum);
        
        END_INTERFACE
    } IRsEnumNodeDescVtbl;

    interface IRsEnumNodeDesc
    {
        CONST_VTBL struct IRsEnumNodeDescVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsEnumNodeDesc_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsEnumNodeDesc_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsEnumNodeDesc_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsEnumNodeDesc_Next(This,cNodes,pNodesArray,pcFetched)	\
    (This)->lpVtbl -> Next(This,cNodes,pNodesArray,pcFetched)

#define IRsEnumNodeDesc_Skip(This,cNode)	\
    (This)->lpVtbl -> Skip(This,cNode)

#define IRsEnumNodeDesc_Reset(This)	\
    (This)->lpVtbl -> Reset(This)

#define IRsEnumNodeDesc_Clone(This,ppEnum)	\
    (This)->lpVtbl -> Clone(This,ppEnum)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsEnumNodeDesc_Next_Proxy( 
    IRsEnumNodeDesc * This,
    /* [in] */ ULONG cNodes,
    /* [out] */ IRsNodeDesc **pNodesArray,
    /* [out] */ ULONG *pcFetched);


void __RPC_STUB IRsEnumNodeDesc_Next_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsEnumNodeDesc_Skip_Proxy( 
    IRsEnumNodeDesc * This,
    /* [in] */ ULONG cNode);


void __RPC_STUB IRsEnumNodeDesc_Skip_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsEnumNodeDesc_Reset_Proxy( 
    IRsEnumNodeDesc * This);


void __RPC_STUB IRsEnumNodeDesc_Reset_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsEnumNodeDesc_Clone_Proxy( 
    IRsEnumNodeDesc * This,
    /* [out] */ IRsEnumNodeDesc **ppEnum);


void __RPC_STUB IRsEnumNodeDesc_Clone_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsEnumNodeDesc_INTERFACE_DEFINED__ */


#ifndef __IRsEnumCmds_INTERFACE_DEFINED__
#define __IRsEnumCmds_INTERFACE_DEFINED__

/* interface IRsEnumCmds */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsEnumCmds;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("C9298C40-80B6-4B0A-BABE-266057CBCF34")
    IRsEnumCmds : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Next( 
            /* [in] */ ULONG cNumCmds,
            /* [out] */ IRsCommand **ppArrayCmds,
            /* [out] */ ULONG *pcFetched) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Skip( 
            /* [in] */ ULONG cNumCmds) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Reset( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Clone( 
            /* [out] */ IRsEnumCmds **ppEnum) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsEnumCmdsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsEnumCmds * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsEnumCmds * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsEnumCmds * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Next )( 
            IRsEnumCmds * This,
            /* [in] */ ULONG cNumCmds,
            /* [out] */ IRsCommand **ppArrayCmds,
            /* [out] */ ULONG *pcFetched);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Skip )( 
            IRsEnumCmds * This,
            /* [in] */ ULONG cNumCmds);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Reset )( 
            IRsEnumCmds * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Clone )( 
            IRsEnumCmds * This,
            /* [out] */ IRsEnumCmds **ppEnum);
        
        END_INTERFACE
    } IRsEnumCmdsVtbl;

    interface IRsEnumCmds
    {
        CONST_VTBL struct IRsEnumCmdsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsEnumCmds_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsEnumCmds_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsEnumCmds_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsEnumCmds_Next(This,cNumCmds,ppArrayCmds,pcFetched)	\
    (This)->lpVtbl -> Next(This,cNumCmds,ppArrayCmds,pcFetched)

#define IRsEnumCmds_Skip(This,cNumCmds)	\
    (This)->lpVtbl -> Skip(This,cNumCmds)

#define IRsEnumCmds_Reset(This)	\
    (This)->lpVtbl -> Reset(This)

#define IRsEnumCmds_Clone(This,ppEnum)	\
    (This)->lpVtbl -> Clone(This,ppEnum)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsEnumCmds_Next_Proxy( 
    IRsEnumCmds * This,
    /* [in] */ ULONG cNumCmds,
    /* [out] */ IRsCommand **ppArrayCmds,
    /* [out] */ ULONG *pcFetched);


void __RPC_STUB IRsEnumCmds_Next_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsEnumCmds_Skip_Proxy( 
    IRsEnumCmds * This,
    /* [in] */ ULONG cNumCmds);


void __RPC_STUB IRsEnumCmds_Skip_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsEnumCmds_Reset_Proxy( 
    IRsEnumCmds * This);


void __RPC_STUB IRsEnumCmds_Reset_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsEnumCmds_Clone_Proxy( 
    IRsEnumCmds * This,
    /* [out] */ IRsEnumCmds **ppEnum);


void __RPC_STUB IRsEnumCmds_Clone_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsEnumCmds_INTERFACE_DEFINED__ */


#ifndef __IRsEnumCmdDesc_INTERFACE_DEFINED__
#define __IRsEnumCmdDesc_INTERFACE_DEFINED__

/* interface IRsEnumCmdDesc */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsEnumCmdDesc;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("FDDF4F64-478A-4026-A59E-7A2AF28620CA")
    IRsEnumCmdDesc : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Next( 
            /* [in] */ ULONG cCmds,
            /* [out] */ IRsCmdDesc **ppCmdDescArray,
            /* [out] */ ULONG *pcFetched) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Skip( 
            /* [in] */ ULONG cCmd) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Reset( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Clone( 
            /* [out] */ IRsEnumCmdDesc **ppEnum) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsEnumCmdDescVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsEnumCmdDesc * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsEnumCmdDesc * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsEnumCmdDesc * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Next )( 
            IRsEnumCmdDesc * This,
            /* [in] */ ULONG cCmds,
            /* [out] */ IRsCmdDesc **ppCmdDescArray,
            /* [out] */ ULONG *pcFetched);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Skip )( 
            IRsEnumCmdDesc * This,
            /* [in] */ ULONG cCmd);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Reset )( 
            IRsEnumCmdDesc * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Clone )( 
            IRsEnumCmdDesc * This,
            /* [out] */ IRsEnumCmdDesc **ppEnum);
        
        END_INTERFACE
    } IRsEnumCmdDescVtbl;

    interface IRsEnumCmdDesc
    {
        CONST_VTBL struct IRsEnumCmdDescVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsEnumCmdDesc_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsEnumCmdDesc_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsEnumCmdDesc_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsEnumCmdDesc_Next(This,cCmds,ppCmdDescArray,pcFetched)	\
    (This)->lpVtbl -> Next(This,cCmds,ppCmdDescArray,pcFetched)

#define IRsEnumCmdDesc_Skip(This,cCmd)	\
    (This)->lpVtbl -> Skip(This,cCmd)

#define IRsEnumCmdDesc_Reset(This)	\
    (This)->lpVtbl -> Reset(This)

#define IRsEnumCmdDesc_Clone(This,ppEnum)	\
    (This)->lpVtbl -> Clone(This,ppEnum)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsEnumCmdDesc_Next_Proxy( 
    IRsEnumCmdDesc * This,
    /* [in] */ ULONG cCmds,
    /* [out] */ IRsCmdDesc **ppCmdDescArray,
    /* [out] */ ULONG *pcFetched);


void __RPC_STUB IRsEnumCmdDesc_Next_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsEnumCmdDesc_Skip_Proxy( 
    IRsEnumCmdDesc * This,
    /* [in] */ ULONG cCmd);


void __RPC_STUB IRsEnumCmdDesc_Skip_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsEnumCmdDesc_Reset_Proxy( 
    IRsEnumCmdDesc * This);


void __RPC_STUB IRsEnumCmdDesc_Reset_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsEnumCmdDesc_Clone_Proxy( 
    IRsEnumCmdDesc * This,
    /* [out] */ IRsEnumCmdDesc **ppEnum);


void __RPC_STUB IRsEnumCmdDesc_Clone_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsEnumCmdDesc_INTERFACE_DEFINED__ */


#ifndef __IRsEnumDataObjDesc_INTERFACE_DEFINED__
#define __IRsEnumDataObjDesc_INTERFACE_DEFINED__

/* interface IRsEnumDataObjDesc */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsEnumDataObjDesc;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("54D2044B-81E6-4B05-AC3B-1E1D86D67BAC")
    IRsEnumDataObjDesc : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Next( 
            /* [in] */ ULONG cDataObjs,
            /* [out] */ IRsDataObjDesc **ppDataObjDescArray,
            /* [out] */ ULONG *pcFetched) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Skip( 
            /* [in] */ ULONG cDataObjs) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Reset( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Clone( 
            /* [out] */ IRsEnumDataObjDesc **ppEnum) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsEnumDataObjDescVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsEnumDataObjDesc * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsEnumDataObjDesc * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsEnumDataObjDesc * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Next )( 
            IRsEnumDataObjDesc * This,
            /* [in] */ ULONG cDataObjs,
            /* [out] */ IRsDataObjDesc **ppDataObjDescArray,
            /* [out] */ ULONG *pcFetched);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Skip )( 
            IRsEnumDataObjDesc * This,
            /* [in] */ ULONG cDataObjs);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Reset )( 
            IRsEnumDataObjDesc * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Clone )( 
            IRsEnumDataObjDesc * This,
            /* [out] */ IRsEnumDataObjDesc **ppEnum);
        
        END_INTERFACE
    } IRsEnumDataObjDescVtbl;

    interface IRsEnumDataObjDesc
    {
        CONST_VTBL struct IRsEnumDataObjDescVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsEnumDataObjDesc_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsEnumDataObjDesc_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsEnumDataObjDesc_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsEnumDataObjDesc_Next(This,cDataObjs,ppDataObjDescArray,pcFetched)	\
    (This)->lpVtbl -> Next(This,cDataObjs,ppDataObjDescArray,pcFetched)

#define IRsEnumDataObjDesc_Skip(This,cDataObjs)	\
    (This)->lpVtbl -> Skip(This,cDataObjs)

#define IRsEnumDataObjDesc_Reset(This)	\
    (This)->lpVtbl -> Reset(This)

#define IRsEnumDataObjDesc_Clone(This,ppEnum)	\
    (This)->lpVtbl -> Clone(This,ppEnum)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsEnumDataObjDesc_Next_Proxy( 
    IRsEnumDataObjDesc * This,
    /* [in] */ ULONG cDataObjs,
    /* [out] */ IRsDataObjDesc **ppDataObjDescArray,
    /* [out] */ ULONG *pcFetched);


void __RPC_STUB IRsEnumDataObjDesc_Next_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsEnumDataObjDesc_Skip_Proxy( 
    IRsEnumDataObjDesc * This,
    /* [in] */ ULONG cDataObjs);


void __RPC_STUB IRsEnumDataObjDesc_Skip_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsEnumDataObjDesc_Reset_Proxy( 
    IRsEnumDataObjDesc * This);


void __RPC_STUB IRsEnumDataObjDesc_Reset_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsEnumDataObjDesc_Clone_Proxy( 
    IRsEnumDataObjDesc * This,
    /* [out] */ IRsEnumDataObjDesc **ppEnum);


void __RPC_STUB IRsEnumDataObjDesc_Clone_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsEnumDataObjDesc_INTERFACE_DEFINED__ */


#ifndef __IRsEnumLangObjDesc_INTERFACE_DEFINED__
#define __IRsEnumLangObjDesc_INTERFACE_DEFINED__

/* interface IRsEnumLangObjDesc */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsEnumLangObjDesc;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("EC932F0E-C20C-4666-AC5C-2083EC761BAF")
    IRsEnumLangObjDesc : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Next( 
            /* [in] */ ULONG cLangObjs,
            /* [out] */ IRsLangObjDesc **ppLangObjDescArray,
            /* [out] */ ULONG *pcFetched) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Skip( 
            /* [in] */ ULONG cLangObjs) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Reset( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Clone( 
            /* [out] */ IRsEnumLangObjDesc **ppEnum) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsEnumLangObjDescVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsEnumLangObjDesc * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsEnumLangObjDesc * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsEnumLangObjDesc * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Next )( 
            IRsEnumLangObjDesc * This,
            /* [in] */ ULONG cLangObjs,
            /* [out] */ IRsLangObjDesc **ppLangObjDescArray,
            /* [out] */ ULONG *pcFetched);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Skip )( 
            IRsEnumLangObjDesc * This,
            /* [in] */ ULONG cLangObjs);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Reset )( 
            IRsEnumLangObjDesc * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Clone )( 
            IRsEnumLangObjDesc * This,
            /* [out] */ IRsEnumLangObjDesc **ppEnum);
        
        END_INTERFACE
    } IRsEnumLangObjDescVtbl;

    interface IRsEnumLangObjDesc
    {
        CONST_VTBL struct IRsEnumLangObjDescVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsEnumLangObjDesc_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsEnumLangObjDesc_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsEnumLangObjDesc_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsEnumLangObjDesc_Next(This,cLangObjs,ppLangObjDescArray,pcFetched)	\
    (This)->lpVtbl -> Next(This,cLangObjs,ppLangObjDescArray,pcFetched)

#define IRsEnumLangObjDesc_Skip(This,cLangObjs)	\
    (This)->lpVtbl -> Skip(This,cLangObjs)

#define IRsEnumLangObjDesc_Reset(This)	\
    (This)->lpVtbl -> Reset(This)

#define IRsEnumLangObjDesc_Clone(This,ppEnum)	\
    (This)->lpVtbl -> Clone(This,ppEnum)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsEnumLangObjDesc_Next_Proxy( 
    IRsEnumLangObjDesc * This,
    /* [in] */ ULONG cLangObjs,
    /* [out] */ IRsLangObjDesc **ppLangObjDescArray,
    /* [out] */ ULONG *pcFetched);


void __RPC_STUB IRsEnumLangObjDesc_Next_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsEnumLangObjDesc_Skip_Proxy( 
    IRsEnumLangObjDesc * This,
    /* [in] */ ULONG cLangObjs);


void __RPC_STUB IRsEnumLangObjDesc_Skip_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsEnumLangObjDesc_Reset_Proxy( 
    IRsEnumLangObjDesc * This);


void __RPC_STUB IRsEnumLangObjDesc_Reset_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsEnumLangObjDesc_Clone_Proxy( 
    IRsEnumLangObjDesc * This,
    /* [out] */ IRsEnumLangObjDesc **ppEnum);


void __RPC_STUB IRsEnumLangObjDesc_Clone_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsEnumLangObjDesc_INTERFACE_DEFINED__ */


#ifndef __IRsUnknownMsg_INTERFACE_DEFINED__
#define __IRsUnknownMsg_INTERFACE_DEFINED__

/* interface IRsUnknownMsg */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsUnknownMsg;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("C626EC06-8F0A-433C-BD15-D4280C1308D1")
    IRsUnknownMsg : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRsUnknownMsgVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsUnknownMsg * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsUnknownMsg * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsUnknownMsg * This);
        
        END_INTERFACE
    } IRsUnknownMsgVtbl;

    interface IRsUnknownMsg
    {
        CONST_VTBL struct IRsUnknownMsgVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsUnknownMsg_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsUnknownMsg_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsUnknownMsg_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRsUnknownMsg_INTERFACE_DEFINED__ */


#ifndef __IRsNodeFactory_INTERFACE_DEFINED__
#define __IRsNodeFactory_INTERFACE_DEFINED__

/* interface IRsNodeFactory */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsNodeFactory;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("F35D5EE1-9303-4FCA-8D08-A4A68788832F")
    IRsNodeFactory : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateInstance( 
            /* [in] */ const IID *riid,
            /* [retval][out] */ IRsNode **ppNode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateAggInstance( 
            /* [in] */ IUnknown *pUnkOuter,
            /* [in] */ const IID *riid,
            /* [out] */ IUnknown **ppvObject) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE EnumNodeDesc( 
            /* [retval][out] */ IRsEnumNodeDesc **ppEnumNodeDesc) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE EnumConDesc( 
            /* [retval][out] */ IRsEnumConDesc **ppEnumConDesc) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsNodeFactoryVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsNodeFactory * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsNodeFactory * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsNodeFactory * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateInstance )( 
            IRsNodeFactory * This,
            /* [in] */ const IID *riid,
            /* [retval][out] */ IRsNode **ppNode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateAggInstance )( 
            IRsNodeFactory * This,
            /* [in] */ IUnknown *pUnkOuter,
            /* [in] */ const IID *riid,
            /* [out] */ IUnknown **ppvObject);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *EnumNodeDesc )( 
            IRsNodeFactory * This,
            /* [retval][out] */ IRsEnumNodeDesc **ppEnumNodeDesc);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *EnumConDesc )( 
            IRsNodeFactory * This,
            /* [retval][out] */ IRsEnumConDesc **ppEnumConDesc);
        
        END_INTERFACE
    } IRsNodeFactoryVtbl;

    interface IRsNodeFactory
    {
        CONST_VTBL struct IRsNodeFactoryVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsNodeFactory_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsNodeFactory_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsNodeFactory_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsNodeFactory_CreateInstance(This,riid,ppNode)	\
    (This)->lpVtbl -> CreateInstance(This,riid,ppNode)

#define IRsNodeFactory_CreateAggInstance(This,pUnkOuter,riid,ppvObject)	\
    (This)->lpVtbl -> CreateAggInstance(This,pUnkOuter,riid,ppvObject)

#define IRsNodeFactory_EnumNodeDesc(This,ppEnumNodeDesc)	\
    (This)->lpVtbl -> EnumNodeDesc(This,ppEnumNodeDesc)

#define IRsNodeFactory_EnumConDesc(This,ppEnumConDesc)	\
    (This)->lpVtbl -> EnumConDesc(This,ppEnumConDesc)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsNodeFactory_CreateInstance_Proxy( 
    IRsNodeFactory * This,
    /* [in] */ const IID *riid,
    /* [retval][out] */ IRsNode **ppNode);


void __RPC_STUB IRsNodeFactory_CreateInstance_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsNodeFactory_CreateAggInstance_Proxy( 
    IRsNodeFactory * This,
    /* [in] */ IUnknown *pUnkOuter,
    /* [in] */ const IID *riid,
    /* [out] */ IUnknown **ppvObject);


void __RPC_STUB IRsNodeFactory_CreateAggInstance_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsNodeFactory_EnumNodeDesc_Proxy( 
    IRsNodeFactory * This,
    /* [retval][out] */ IRsEnumNodeDesc **ppEnumNodeDesc);


void __RPC_STUB IRsNodeFactory_EnumNodeDesc_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsNodeFactory_EnumConDesc_Proxy( 
    IRsNodeFactory * This,
    /* [retval][out] */ IRsEnumConDesc **ppEnumConDesc);


void __RPC_STUB IRsNodeFactory_EnumConDesc_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsNodeFactory_INTERFACE_DEFINED__ */


#ifndef __IRsCmdFactory_INTERFACE_DEFINED__
#define __IRsCmdFactory_INTERFACE_DEFINED__

/* interface IRsCmdFactory */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsCmdFactory;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3302F486-B321-4311-9C6B-1FBB06FEAF54")
    IRsCmdFactory : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateInstance( 
            /* [in] */ const IID *piid,
            /* [retval][out] */ IRsCommand **ppCmd) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateAggInstance( 
            /* [in] */ IUnknown *pUnkOuter,
            /* [in] */ const IID *riid,
            /* [out] */ IUnknown **ppvObject) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE EnumCommandDesc( 
            /* [retval][out] */ IRsEnumCmdDesc **ppEnumCmdDesc) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE EnumScriptObjects( 
            /* [retval][out] */ IRsEnumNamedItem **ppEnum) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsCmdFactoryVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsCmdFactory * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsCmdFactory * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsCmdFactory * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateInstance )( 
            IRsCmdFactory * This,
            /* [in] */ const IID *piid,
            /* [retval][out] */ IRsCommand **ppCmd);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateAggInstance )( 
            IRsCmdFactory * This,
            /* [in] */ IUnknown *pUnkOuter,
            /* [in] */ const IID *riid,
            /* [out] */ IUnknown **ppvObject);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *EnumCommandDesc )( 
            IRsCmdFactory * This,
            /* [retval][out] */ IRsEnumCmdDesc **ppEnumCmdDesc);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *EnumScriptObjects )( 
            IRsCmdFactory * This,
            /* [retval][out] */ IRsEnumNamedItem **ppEnum);
        
        END_INTERFACE
    } IRsCmdFactoryVtbl;

    interface IRsCmdFactory
    {
        CONST_VTBL struct IRsCmdFactoryVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsCmdFactory_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsCmdFactory_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsCmdFactory_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsCmdFactory_CreateInstance(This,piid,ppCmd)	\
    (This)->lpVtbl -> CreateInstance(This,piid,ppCmd)

#define IRsCmdFactory_CreateAggInstance(This,pUnkOuter,riid,ppvObject)	\
    (This)->lpVtbl -> CreateAggInstance(This,pUnkOuter,riid,ppvObject)

#define IRsCmdFactory_EnumCommandDesc(This,ppEnumCmdDesc)	\
    (This)->lpVtbl -> EnumCommandDesc(This,ppEnumCmdDesc)

#define IRsCmdFactory_EnumScriptObjects(This,ppEnum)	\
    (This)->lpVtbl -> EnumScriptObjects(This,ppEnum)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsCmdFactory_CreateInstance_Proxy( 
    IRsCmdFactory * This,
    /* [in] */ const IID *piid,
    /* [retval][out] */ IRsCommand **ppCmd);


void __RPC_STUB IRsCmdFactory_CreateInstance_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsCmdFactory_CreateAggInstance_Proxy( 
    IRsCmdFactory * This,
    /* [in] */ IUnknown *pUnkOuter,
    /* [in] */ const IID *riid,
    /* [out] */ IUnknown **ppvObject);


void __RPC_STUB IRsCmdFactory_CreateAggInstance_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsCmdFactory_EnumCommandDesc_Proxy( 
    IRsCmdFactory * This,
    /* [retval][out] */ IRsEnumCmdDesc **ppEnumCmdDesc);


void __RPC_STUB IRsCmdFactory_EnumCommandDesc_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsCmdFactory_EnumScriptObjects_Proxy( 
    IRsCmdFactory * This,
    /* [retval][out] */ IRsEnumNamedItem **ppEnum);


void __RPC_STUB IRsCmdFactory_EnumScriptObjects_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsCmdFactory_INTERFACE_DEFINED__ */


#ifndef __IRsDataObjFactory_INTERFACE_DEFINED__
#define __IRsDataObjFactory_INTERFACE_DEFINED__

/* interface IRsDataObjFactory */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsDataObjFactory;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("FE719411-80DC-45DC-A7B5-539247CB3FF7")
    IRsDataObjFactory : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateInstance( 
            /* [in] */ const IID *piid,
            /* [retval][out] */ IRsDataObject **ppDataObj) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateAggInstance( 
            /* [in] */ IUnknown *pUnkOuter,
            /* [in] */ const IID *riid,
            /* [out] */ IUnknown **ppvObject) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE EnumDataObjDesc( 
            /* [retval][out] */ IRsEnumDataObjDesc **ppEnumDataObjDesc) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsDataObjFactoryVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsDataObjFactory * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsDataObjFactory * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsDataObjFactory * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateInstance )( 
            IRsDataObjFactory * This,
            /* [in] */ const IID *piid,
            /* [retval][out] */ IRsDataObject **ppDataObj);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateAggInstance )( 
            IRsDataObjFactory * This,
            /* [in] */ IUnknown *pUnkOuter,
            /* [in] */ const IID *riid,
            /* [out] */ IUnknown **ppvObject);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *EnumDataObjDesc )( 
            IRsDataObjFactory * This,
            /* [retval][out] */ IRsEnumDataObjDesc **ppEnumDataObjDesc);
        
        END_INTERFACE
    } IRsDataObjFactoryVtbl;

    interface IRsDataObjFactory
    {
        CONST_VTBL struct IRsDataObjFactoryVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsDataObjFactory_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsDataObjFactory_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsDataObjFactory_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsDataObjFactory_CreateInstance(This,piid,ppDataObj)	\
    (This)->lpVtbl -> CreateInstance(This,piid,ppDataObj)

#define IRsDataObjFactory_CreateAggInstance(This,pUnkOuter,riid,ppvObject)	\
    (This)->lpVtbl -> CreateAggInstance(This,pUnkOuter,riid,ppvObject)

#define IRsDataObjFactory_EnumDataObjDesc(This,ppEnumDataObjDesc)	\
    (This)->lpVtbl -> EnumDataObjDesc(This,ppEnumDataObjDesc)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsDataObjFactory_CreateInstance_Proxy( 
    IRsDataObjFactory * This,
    /* [in] */ const IID *piid,
    /* [retval][out] */ IRsDataObject **ppDataObj);


void __RPC_STUB IRsDataObjFactory_CreateInstance_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsDataObjFactory_CreateAggInstance_Proxy( 
    IRsDataObjFactory * This,
    /* [in] */ IUnknown *pUnkOuter,
    /* [in] */ const IID *riid,
    /* [out] */ IUnknown **ppvObject);


void __RPC_STUB IRsDataObjFactory_CreateAggInstance_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsDataObjFactory_EnumDataObjDesc_Proxy( 
    IRsDataObjFactory * This,
    /* [retval][out] */ IRsEnumDataObjDesc **ppEnumDataObjDesc);


void __RPC_STUB IRsDataObjFactory_EnumDataObjDesc_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsDataObjFactory_INTERFACE_DEFINED__ */


#ifndef __IRsLangObjFactory_INTERFACE_DEFINED__
#define __IRsLangObjFactory_INTERFACE_DEFINED__

/* interface IRsLangObjFactory */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsLangObjFactory;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("8D252A67-1084-4964-874D-EF8579293A54")
    IRsLangObjFactory : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateInstance( 
            /* [in] */ const IID *piid,
            /* [retval][out] */ IRsLangObject **ppLangObj) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateAggInstance( 
            /* [in] */ IUnknown *pUnkOuter,
            /* [in] */ const IID *riid,
            /* [out] */ IUnknown **ppvObject) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE EnumLangObjDesc( 
            /* [retval][out] */ IRsEnumLangObjDesc **ppEnumLangObjDesc) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsLangObjFactoryVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsLangObjFactory * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsLangObjFactory * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsLangObjFactory * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateInstance )( 
            IRsLangObjFactory * This,
            /* [in] */ const IID *piid,
            /* [retval][out] */ IRsLangObject **ppLangObj);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateAggInstance )( 
            IRsLangObjFactory * This,
            /* [in] */ IUnknown *pUnkOuter,
            /* [in] */ const IID *riid,
            /* [out] */ IUnknown **ppvObject);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *EnumLangObjDesc )( 
            IRsLangObjFactory * This,
            /* [retval][out] */ IRsEnumLangObjDesc **ppEnumLangObjDesc);
        
        END_INTERFACE
    } IRsLangObjFactoryVtbl;

    interface IRsLangObjFactory
    {
        CONST_VTBL struct IRsLangObjFactoryVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsLangObjFactory_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsLangObjFactory_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsLangObjFactory_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsLangObjFactory_CreateInstance(This,piid,ppLangObj)	\
    (This)->lpVtbl -> CreateInstance(This,piid,ppLangObj)

#define IRsLangObjFactory_CreateAggInstance(This,pUnkOuter,riid,ppvObject)	\
    (This)->lpVtbl -> CreateAggInstance(This,pUnkOuter,riid,ppvObject)

#define IRsLangObjFactory_EnumLangObjDesc(This,ppEnumLangObjDesc)	\
    (This)->lpVtbl -> EnumLangObjDesc(This,ppEnumLangObjDesc)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsLangObjFactory_CreateInstance_Proxy( 
    IRsLangObjFactory * This,
    /* [in] */ const IID *piid,
    /* [retval][out] */ IRsLangObject **ppLangObj);


void __RPC_STUB IRsLangObjFactory_CreateInstance_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsLangObjFactory_CreateAggInstance_Proxy( 
    IRsLangObjFactory * This,
    /* [in] */ IUnknown *pUnkOuter,
    /* [in] */ const IID *riid,
    /* [out] */ IUnknown **ppvObject);


void __RPC_STUB IRsLangObjFactory_CreateAggInstance_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsLangObjFactory_EnumLangObjDesc_Proxy( 
    IRsLangObjFactory * This,
    /* [retval][out] */ IRsEnumLangObjDesc **ppEnumLangObjDesc);


void __RPC_STUB IRsLangObjFactory_EnumLangObjDesc_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsLangObjFactory_INTERFACE_DEFINED__ */


/* interface __MIDL_itf__Kernel_0826 */
/* [local] */ 

typedef 
enum _tagRtSysState
    {	SYS_STATE_INIT	= 1,
	SYS_STATE_READY	= 2,
	SYS_STATE_FINISH	= 3,
	SYS_STATE_RESET	= 4
    } 	RtSysState;



extern RPC_IF_HANDLE __MIDL_itf__Kernel_0826_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf__Kernel_0826_v0_0_s_ifspec;

#ifndef __IRsUnknownRunner_INTERFACE_DEFINED__
#define __IRsUnknownRunner_INTERFACE_DEFINED__

/* interface IRsUnknownRunner */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsUnknownRunner;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("C52413E5-767B-4be5-B90B-01074F4CDB88")
    IRsUnknownRunner : public IRsObject
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnSystemEvent( 
            /* [in] */ RtSysState ulState) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetApplicationTitle( 
            /* [out] */ BSTR *bsTitle) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetFeature( 
            /* [in] */ const GUID *pFeatureID,
            /* [out] */ VARIANT *pvFeatureData) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsUnknownRunnerVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsUnknownRunner * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsUnknownRunner * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsUnknownRunner * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassId )( 
            IRsUnknownRunner * This,
            /* [retval][out] */ GUID *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassName )( 
            IRsUnknownRunner * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OnSystemEvent )( 
            IRsUnknownRunner * This,
            /* [in] */ RtSysState ulState);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetApplicationTitle )( 
            IRsUnknownRunner * This,
            /* [out] */ BSTR *bsTitle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetFeature )( 
            IRsUnknownRunner * This,
            /* [in] */ const GUID *pFeatureID,
            /* [out] */ VARIANT *pvFeatureData);
        
        END_INTERFACE
    } IRsUnknownRunnerVtbl;

    interface IRsUnknownRunner
    {
        CONST_VTBL struct IRsUnknownRunnerVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsUnknownRunner_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsUnknownRunner_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsUnknownRunner_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsUnknownRunner_get_ClassId(This,pVal)	\
    (This)->lpVtbl -> get_ClassId(This,pVal)

#define IRsUnknownRunner_get_ClassName(This,pVal)	\
    (This)->lpVtbl -> get_ClassName(This,pVal)


#define IRsUnknownRunner_OnSystemEvent(This,ulState)	\
    (This)->lpVtbl -> OnSystemEvent(This,ulState)

#define IRsUnknownRunner_GetApplicationTitle(This,bsTitle)	\
    (This)->lpVtbl -> GetApplicationTitle(This,bsTitle)

#define IRsUnknownRunner_GetFeature(This,pFeatureID,pvFeatureData)	\
    (This)->lpVtbl -> GetFeature(This,pFeatureID,pvFeatureData)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsUnknownRunner_OnSystemEvent_Proxy( 
    IRsUnknownRunner * This,
    /* [in] */ RtSysState ulState);


void __RPC_STUB IRsUnknownRunner_OnSystemEvent_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsUnknownRunner_GetApplicationTitle_Proxy( 
    IRsUnknownRunner * This,
    /* [out] */ BSTR *bsTitle);


void __RPC_STUB IRsUnknownRunner_GetApplicationTitle_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsUnknownRunner_GetFeature_Proxy( 
    IRsUnknownRunner * This,
    /* [in] */ const GUID *pFeatureID,
    /* [out] */ VARIANT *pvFeatureData);


void __RPC_STUB IRsUnknownRunner_GetFeature_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsUnknownRunner_INTERFACE_DEFINED__ */


#ifndef __IRsUnknownPackage_INTERFACE_DEFINED__
#define __IRsUnknownPackage_INTERFACE_DEFINED__

/* interface IRsUnknownPackage */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsUnknownPackage;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("358333DC-C7AC-409D-BF00-787132F0608A")
    IRsUnknownPackage : public IRsObject
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Initialize( 
            /* [in] */ IRsUnknownPackage *pParentPackage) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE UnInitialize( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnSysMessage( 
            /* [in] */ MSGID msgId,
            /* [in] */ IRsUnknownMsg *pMsg) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetNodeFactory( 
            /* [retval][out] */ IRsNodeFactory **ppNodeFactory) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetCmdFactory( 
            /* [retval][out] */ IRsCmdFactory **ppCmdFactory) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetDataObjFactory( 
            /* [retval][out] */ IRsDataObjFactory **ppDataObjFactory) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsUnknownPackageVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsUnknownPackage * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsUnknownPackage * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsUnknownPackage * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassId )( 
            IRsUnknownPackage * This,
            /* [retval][out] */ GUID *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassName )( 
            IRsUnknownPackage * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Initialize )( 
            IRsUnknownPackage * This,
            /* [in] */ IRsUnknownPackage *pParentPackage);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *UnInitialize )( 
            IRsUnknownPackage * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OnSysMessage )( 
            IRsUnknownPackage * This,
            /* [in] */ MSGID msgId,
            /* [in] */ IRsUnknownMsg *pMsg);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetNodeFactory )( 
            IRsUnknownPackage * This,
            /* [retval][out] */ IRsNodeFactory **ppNodeFactory);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetCmdFactory )( 
            IRsUnknownPackage * This,
            /* [retval][out] */ IRsCmdFactory **ppCmdFactory);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetDataObjFactory )( 
            IRsUnknownPackage * This,
            /* [retval][out] */ IRsDataObjFactory **ppDataObjFactory);
        
        END_INTERFACE
    } IRsUnknownPackageVtbl;

    interface IRsUnknownPackage
    {
        CONST_VTBL struct IRsUnknownPackageVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsUnknownPackage_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsUnknownPackage_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsUnknownPackage_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsUnknownPackage_get_ClassId(This,pVal)	\
    (This)->lpVtbl -> get_ClassId(This,pVal)

#define IRsUnknownPackage_get_ClassName(This,pVal)	\
    (This)->lpVtbl -> get_ClassName(This,pVal)


#define IRsUnknownPackage_Initialize(This,pParentPackage)	\
    (This)->lpVtbl -> Initialize(This,pParentPackage)

#define IRsUnknownPackage_UnInitialize(This)	\
    (This)->lpVtbl -> UnInitialize(This)

#define IRsUnknownPackage_OnSysMessage(This,msgId,pMsg)	\
    (This)->lpVtbl -> OnSysMessage(This,msgId,pMsg)

#define IRsUnknownPackage_GetNodeFactory(This,ppNodeFactory)	\
    (This)->lpVtbl -> GetNodeFactory(This,ppNodeFactory)

#define IRsUnknownPackage_GetCmdFactory(This,ppCmdFactory)	\
    (This)->lpVtbl -> GetCmdFactory(This,ppCmdFactory)

#define IRsUnknownPackage_GetDataObjFactory(This,ppDataObjFactory)	\
    (This)->lpVtbl -> GetDataObjFactory(This,ppDataObjFactory)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsUnknownPackage_Initialize_Proxy( 
    IRsUnknownPackage * This,
    /* [in] */ IRsUnknownPackage *pParentPackage);


void __RPC_STUB IRsUnknownPackage_Initialize_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsUnknownPackage_UnInitialize_Proxy( 
    IRsUnknownPackage * This);


void __RPC_STUB IRsUnknownPackage_UnInitialize_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsUnknownPackage_OnSysMessage_Proxy( 
    IRsUnknownPackage * This,
    /* [in] */ MSGID msgId,
    /* [in] */ IRsUnknownMsg *pMsg);


void __RPC_STUB IRsUnknownPackage_OnSysMessage_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsUnknownPackage_GetNodeFactory_Proxy( 
    IRsUnknownPackage * This,
    /* [retval][out] */ IRsNodeFactory **ppNodeFactory);


void __RPC_STUB IRsUnknownPackage_GetNodeFactory_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsUnknownPackage_GetCmdFactory_Proxy( 
    IRsUnknownPackage * This,
    /* [retval][out] */ IRsCmdFactory **ppCmdFactory);


void __RPC_STUB IRsUnknownPackage_GetCmdFactory_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsUnknownPackage_GetDataObjFactory_Proxy( 
    IRsUnknownPackage * This,
    /* [retval][out] */ IRsDataObjFactory **ppDataObjFactory);


void __RPC_STUB IRsUnknownPackage_GetDataObjFactory_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsUnknownPackage_INTERFACE_DEFINED__ */


#ifndef __IRsPackageDesc_INTERFACE_DEFINED__
#define __IRsPackageDesc_INTERFACE_DEFINED__

/* interface IRsPackageDesc */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsPackageDesc;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("31F35C96-D776-4fbf-B22C-6A77FEEEA8B1")
    IRsPackageDesc : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetDescription( 
            /* [out] */ BSTR *bszDesc) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Version( 
            /* [retval][out] */ RtDWORD *pdwVersion) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsPackageDescVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsPackageDesc * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsPackageDesc * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsPackageDesc * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetDescription )( 
            IRsPackageDesc * This,
            /* [out] */ BSTR *bszDesc);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Version )( 
            IRsPackageDesc * This,
            /* [retval][out] */ RtDWORD *pdwVersion);
        
        END_INTERFACE
    } IRsPackageDescVtbl;

    interface IRsPackageDesc
    {
        CONST_VTBL struct IRsPackageDescVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsPackageDesc_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsPackageDesc_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsPackageDesc_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsPackageDesc_GetDescription(This,bszDesc)	\
    (This)->lpVtbl -> GetDescription(This,bszDesc)

#define IRsPackageDesc_Version(This,pdwVersion)	\
    (This)->lpVtbl -> Version(This,pdwVersion)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsPackageDesc_GetDescription_Proxy( 
    IRsPackageDesc * This,
    /* [out] */ BSTR *bszDesc);


void __RPC_STUB IRsPackageDesc_GetDescription_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsPackageDesc_Version_Proxy( 
    IRsPackageDesc * This,
    /* [retval][out] */ RtDWORD *pdwVersion);


void __RPC_STUB IRsPackageDesc_Version_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsPackageDesc_INTERFACE_DEFINED__ */


#ifndef __IRsModulePackage_INTERFACE_DEFINED__
#define __IRsModulePackage_INTERFACE_DEFINED__

/* interface IRsModulePackage */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsModulePackage;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("5D4C0358-FE6C-49a5-A8E4-5E6E70943016")
    IRsModulePackage : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetModuleInstance( 
            /* [retval][out] */ RtInstance *pInstance) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetResourceInstance( 
            /* [retval][out] */ RtInstance *pInstance) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsModulePackageVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsModulePackage * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsModulePackage * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsModulePackage * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetModuleInstance )( 
            IRsModulePackage * This,
            /* [retval][out] */ RtInstance *pInstance);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetResourceInstance )( 
            IRsModulePackage * This,
            /* [retval][out] */ RtInstance *pInstance);
        
        END_INTERFACE
    } IRsModulePackageVtbl;

    interface IRsModulePackage
    {
        CONST_VTBL struct IRsModulePackageVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsModulePackage_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsModulePackage_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsModulePackage_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsModulePackage_GetModuleInstance(This,pInstance)	\
    (This)->lpVtbl -> GetModuleInstance(This,pInstance)

#define IRsModulePackage_GetResourceInstance(This,pInstance)	\
    (This)->lpVtbl -> GetResourceInstance(This,pInstance)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsModulePackage_GetModuleInstance_Proxy( 
    IRsModulePackage * This,
    /* [retval][out] */ RtInstance *pInstance);


void __RPC_STUB IRsModulePackage_GetModuleInstance_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsModulePackage_GetResourceInstance_Proxy( 
    IRsModulePackage * This,
    /* [retval][out] */ RtInstance *pInstance);


void __RPC_STUB IRsModulePackage_GetResourceInstance_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsModulePackage_INTERFACE_DEFINED__ */


#ifndef __IRsEnumPackage_INTERFACE_DEFINED__
#define __IRsEnumPackage_INTERFACE_DEFINED__

/* interface IRsEnumPackage */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsEnumPackage;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("DD83787C-437F-4c74-970C-ECF1572308D0")
    IRsEnumPackage : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Next( 
            /* [in] */ ULONG cNumPcks,
            /* [out] */ IRsUnknownPackage **ppArrayCmds,
            /* [out] */ ULONG *pcFetched) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Skip( 
            /* [in] */ ULONG cNumPcks) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Reset( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Clone( 
            /* [out] */ IRsEnumPackage **ppEnum) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsEnumPackageVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsEnumPackage * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsEnumPackage * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsEnumPackage * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Next )( 
            IRsEnumPackage * This,
            /* [in] */ ULONG cNumPcks,
            /* [out] */ IRsUnknownPackage **ppArrayCmds,
            /* [out] */ ULONG *pcFetched);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Skip )( 
            IRsEnumPackage * This,
            /* [in] */ ULONG cNumPcks);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Reset )( 
            IRsEnumPackage * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Clone )( 
            IRsEnumPackage * This,
            /* [out] */ IRsEnumPackage **ppEnum);
        
        END_INTERFACE
    } IRsEnumPackageVtbl;

    interface IRsEnumPackage
    {
        CONST_VTBL struct IRsEnumPackageVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsEnumPackage_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsEnumPackage_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsEnumPackage_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsEnumPackage_Next(This,cNumPcks,ppArrayCmds,pcFetched)	\
    (This)->lpVtbl -> Next(This,cNumPcks,ppArrayCmds,pcFetched)

#define IRsEnumPackage_Skip(This,cNumPcks)	\
    (This)->lpVtbl -> Skip(This,cNumPcks)

#define IRsEnumPackage_Reset(This)	\
    (This)->lpVtbl -> Reset(This)

#define IRsEnumPackage_Clone(This,ppEnum)	\
    (This)->lpVtbl -> Clone(This,ppEnum)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsEnumPackage_Next_Proxy( 
    IRsEnumPackage * This,
    /* [in] */ ULONG cNumPcks,
    /* [out] */ IRsUnknownPackage **ppArrayCmds,
    /* [out] */ ULONG *pcFetched);


void __RPC_STUB IRsEnumPackage_Next_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsEnumPackage_Skip_Proxy( 
    IRsEnumPackage * This,
    /* [in] */ ULONG cNumPcks);


void __RPC_STUB IRsEnumPackage_Skip_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsEnumPackage_Reset_Proxy( 
    IRsEnumPackage * This);


void __RPC_STUB IRsEnumPackage_Reset_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsEnumPackage_Clone_Proxy( 
    IRsEnumPackage * This,
    /* [out] */ IRsEnumPackage **ppEnum);


void __RPC_STUB IRsEnumPackage_Clone_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsEnumPackage_INTERFACE_DEFINED__ */


#ifndef __IRsLangPackage_INTERFACE_DEFINED__
#define __IRsLangPackage_INTERFACE_DEFINED__

/* interface IRsLangPackage */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsLangPackage;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("DBE40000-55BA-46f6-A0B1-58BB518F2456")
    IRsLangPackage : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetLangObjFactory( 
            /* [retval][out] */ IRsLangObjFactory **ppLangObjFactory) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsLangPackageVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsLangPackage * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsLangPackage * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsLangPackage * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetLangObjFactory )( 
            IRsLangPackage * This,
            /* [retval][out] */ IRsLangObjFactory **ppLangObjFactory);
        
        END_INTERFACE
    } IRsLangPackageVtbl;

    interface IRsLangPackage
    {
        CONST_VTBL struct IRsLangPackageVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsLangPackage_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsLangPackage_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsLangPackage_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsLangPackage_GetLangObjFactory(This,ppLangObjFactory)	\
    (This)->lpVtbl -> GetLangObjFactory(This,ppLangObjFactory)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsLangPackage_GetLangObjFactory_Proxy( 
    IRsLangPackage * This,
    /* [retval][out] */ IRsLangObjFactory **ppLangObjFactory);


void __RPC_STUB IRsLangPackage_GetLangObjFactory_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsLangPackage_INTERFACE_DEFINED__ */


#ifndef __IRsSysMsg_INTERFACE_DEFINED__
#define __IRsSysMsg_INTERFACE_DEFINED__

/* interface IRsSysMsg */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsSysMsg;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("0387977A-0D0B-472C-955F-0EDC10086359")
    IRsSysMsg : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Create( 
            /* [in] */ IRsUnknownPackage *pPck) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetPackage( 
            /* [retval][out] */ IRsUnknownPackage **ppPackage) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsSysMsgVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsSysMsg * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsSysMsg * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsSysMsg * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Create )( 
            IRsSysMsg * This,
            /* [in] */ IRsUnknownPackage *pPck);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetPackage )( 
            IRsSysMsg * This,
            /* [retval][out] */ IRsUnknownPackage **ppPackage);
        
        END_INTERFACE
    } IRsSysMsgVtbl;

    interface IRsSysMsg
    {
        CONST_VTBL struct IRsSysMsgVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsSysMsg_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsSysMsg_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsSysMsg_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsSysMsg_Create(This,pPck)	\
    (This)->lpVtbl -> Create(This,pPck)

#define IRsSysMsg_GetPackage(This,ppPackage)	\
    (This)->lpVtbl -> GetPackage(This,ppPackage)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsSysMsg_Create_Proxy( 
    IRsSysMsg * This,
    /* [in] */ IRsUnknownPackage *pPck);


void __RPC_STUB IRsSysMsg_Create_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsSysMsg_GetPackage_Proxy( 
    IRsSysMsg * This,
    /* [retval][out] */ IRsUnknownPackage **ppPackage);


void __RPC_STUB IRsSysMsg_GetPackage_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsSysMsg_INTERFACE_DEFINED__ */


#ifndef __IRsSysSerializeMsg_INTERFACE_DEFINED__
#define __IRsSysSerializeMsg_INTERFACE_DEFINED__

/* interface IRsSysSerializeMsg */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsSysSerializeMsg;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("2515AD96-2065-4be5-A4BF-70A8779C05C3")
    IRsSysSerializeMsg : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddRootNode( 
            /* [in] */ IRsNode *pRootNode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetRootNode( 
            /* [retval][out] */ IRsNode **ppRootNode) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsSysSerializeMsgVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsSysSerializeMsg * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsSysSerializeMsg * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsSysSerializeMsg * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddRootNode )( 
            IRsSysSerializeMsg * This,
            /* [in] */ IRsNode *pRootNode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetRootNode )( 
            IRsSysSerializeMsg * This,
            /* [retval][out] */ IRsNode **ppRootNode);
        
        END_INTERFACE
    } IRsSysSerializeMsgVtbl;

    interface IRsSysSerializeMsg
    {
        CONST_VTBL struct IRsSysSerializeMsgVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsSysSerializeMsg_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsSysSerializeMsg_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsSysSerializeMsg_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsSysSerializeMsg_AddRootNode(This,pRootNode)	\
    (This)->lpVtbl -> AddRootNode(This,pRootNode)

#define IRsSysSerializeMsg_GetRootNode(This,ppRootNode)	\
    (This)->lpVtbl -> GetRootNode(This,ppRootNode)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsSysSerializeMsg_AddRootNode_Proxy( 
    IRsSysSerializeMsg * This,
    /* [in] */ IRsNode *pRootNode);


void __RPC_STUB IRsSysSerializeMsg_AddRootNode_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsSysSerializeMsg_GetRootNode_Proxy( 
    IRsSysSerializeMsg * This,
    /* [retval][out] */ IRsNode **ppRootNode);


void __RPC_STUB IRsSysSerializeMsg_GetRootNode_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsSysSerializeMsg_INTERFACE_DEFINED__ */


#ifndef __IRsLogHandler_INTERFACE_DEFINED__
#define __IRsLogHandler_INTERFACE_DEFINED__

/* interface IRsLogHandler */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsLogHandler;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("4130F393-B8FD-4091-B9F3-D530C9225C3E")
    IRsLogHandler : public IRsObject
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_HandlerId( 
            /* [retval][out] */ RtUlong *pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_HandlerId( 
            /* [in] */ RtUlong newVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddLogEntry( 
            /* [in] */ RtLogEntry logEntry) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_LevelTreshold( 
            /* [retval][out] */ RtLong *pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Connect( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Disconnect( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsLogHandlerVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsLogHandler * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsLogHandler * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsLogHandler * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassId )( 
            IRsLogHandler * This,
            /* [retval][out] */ GUID *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassName )( 
            IRsLogHandler * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HandlerId )( 
            IRsLogHandler * This,
            /* [retval][out] */ RtUlong *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_HandlerId )( 
            IRsLogHandler * This,
            /* [in] */ RtUlong newVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddLogEntry )( 
            IRsLogHandler * This,
            /* [in] */ RtLogEntry logEntry);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LevelTreshold )( 
            IRsLogHandler * This,
            /* [retval][out] */ RtLong *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Connect )( 
            IRsLogHandler * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Disconnect )( 
            IRsLogHandler * This);
        
        END_INTERFACE
    } IRsLogHandlerVtbl;

    interface IRsLogHandler
    {
        CONST_VTBL struct IRsLogHandlerVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsLogHandler_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsLogHandler_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsLogHandler_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsLogHandler_get_ClassId(This,pVal)	\
    (This)->lpVtbl -> get_ClassId(This,pVal)

#define IRsLogHandler_get_ClassName(This,pVal)	\
    (This)->lpVtbl -> get_ClassName(This,pVal)


#define IRsLogHandler_get_HandlerId(This,pVal)	\
    (This)->lpVtbl -> get_HandlerId(This,pVal)

#define IRsLogHandler_put_HandlerId(This,newVal)	\
    (This)->lpVtbl -> put_HandlerId(This,newVal)

#define IRsLogHandler_AddLogEntry(This,logEntry)	\
    (This)->lpVtbl -> AddLogEntry(This,logEntry)

#define IRsLogHandler_get_LevelTreshold(This,pVal)	\
    (This)->lpVtbl -> get_LevelTreshold(This,pVal)

#define IRsLogHandler_Connect(This)	\
    (This)->lpVtbl -> Connect(This)

#define IRsLogHandler_Disconnect(This)	\
    (This)->lpVtbl -> Disconnect(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRsLogHandler_get_HandlerId_Proxy( 
    IRsLogHandler * This,
    /* [retval][out] */ RtUlong *pVal);


void __RPC_STUB IRsLogHandler_get_HandlerId_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRsLogHandler_put_HandlerId_Proxy( 
    IRsLogHandler * This,
    /* [in] */ RtUlong newVal);


void __RPC_STUB IRsLogHandler_put_HandlerId_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsLogHandler_AddLogEntry_Proxy( 
    IRsLogHandler * This,
    /* [in] */ RtLogEntry logEntry);


void __RPC_STUB IRsLogHandler_AddLogEntry_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRsLogHandler_get_LevelTreshold_Proxy( 
    IRsLogHandler * This,
    /* [retval][out] */ RtLong *pVal);


void __RPC_STUB IRsLogHandler_get_LevelTreshold_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsLogHandler_Connect_Proxy( 
    IRsLogHandler * This);


void __RPC_STUB IRsLogHandler_Connect_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsLogHandler_Disconnect_Proxy( 
    IRsLogHandler * This);


void __RPC_STUB IRsLogHandler_Disconnect_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsLogHandler_INTERFACE_DEFINED__ */


#ifndef __IRsLogger_INTERFACE_DEFINED__
#define __IRsLogger_INTERFACE_DEFINED__

/* interface IRsLogger */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsLogger;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("D51AA01F-D186-4065-9EE8-07A5A459154B")
    IRsLogger : public IRsObject
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddLogEntry( 
            /* [in] */ RtLogEntry logEntry) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RegisterLogHandler( 
            /* [in] */ IRsLogHandler *pHandler,
            /* [out] */ RtUlong *pHandlerId) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE UnregisterLogHandler( 
            /* [in] */ IRsLogHandler *pHandler) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE FindLogHandlerById( 
            /* [in] */ RtUlong handlerId,
            /* [out] */ IRsLogHandler **ppHandler) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE HandleCriticalEntry( 
            /* [in] */ RtLogEntry logEntry) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SuspendLogHandler( 
            /* [in] */ IRsLogHandler *pHandler,
            /* [in] */ BOOL bSuspend) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SuspendLogHandlers( 
            /* [in] */ BOOL bSuspend) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsLoggerVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsLogger * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsLogger * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsLogger * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassId )( 
            IRsLogger * This,
            /* [retval][out] */ GUID *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassName )( 
            IRsLogger * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddLogEntry )( 
            IRsLogger * This,
            /* [in] */ RtLogEntry logEntry);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RegisterLogHandler )( 
            IRsLogger * This,
            /* [in] */ IRsLogHandler *pHandler,
            /* [out] */ RtUlong *pHandlerId);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *UnregisterLogHandler )( 
            IRsLogger * This,
            /* [in] */ IRsLogHandler *pHandler);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *FindLogHandlerById )( 
            IRsLogger * This,
            /* [in] */ RtUlong handlerId,
            /* [out] */ IRsLogHandler **ppHandler);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *HandleCriticalEntry )( 
            IRsLogger * This,
            /* [in] */ RtLogEntry logEntry);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SuspendLogHandler )( 
            IRsLogger * This,
            /* [in] */ IRsLogHandler *pHandler,
            /* [in] */ BOOL bSuspend);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SuspendLogHandlers )( 
            IRsLogger * This,
            /* [in] */ BOOL bSuspend);
        
        END_INTERFACE
    } IRsLoggerVtbl;

    interface IRsLogger
    {
        CONST_VTBL struct IRsLoggerVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsLogger_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsLogger_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsLogger_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsLogger_get_ClassId(This,pVal)	\
    (This)->lpVtbl -> get_ClassId(This,pVal)

#define IRsLogger_get_ClassName(This,pVal)	\
    (This)->lpVtbl -> get_ClassName(This,pVal)


#define IRsLogger_AddLogEntry(This,logEntry)	\
    (This)->lpVtbl -> AddLogEntry(This,logEntry)

#define IRsLogger_RegisterLogHandler(This,pHandler,pHandlerId)	\
    (This)->lpVtbl -> RegisterLogHandler(This,pHandler,pHandlerId)

#define IRsLogger_UnregisterLogHandler(This,pHandler)	\
    (This)->lpVtbl -> UnregisterLogHandler(This,pHandler)

#define IRsLogger_FindLogHandlerById(This,handlerId,ppHandler)	\
    (This)->lpVtbl -> FindLogHandlerById(This,handlerId,ppHandler)

#define IRsLogger_HandleCriticalEntry(This,logEntry)	\
    (This)->lpVtbl -> HandleCriticalEntry(This,logEntry)

#define IRsLogger_SuspendLogHandler(This,pHandler,bSuspend)	\
    (This)->lpVtbl -> SuspendLogHandler(This,pHandler,bSuspend)

#define IRsLogger_SuspendLogHandlers(This,bSuspend)	\
    (This)->lpVtbl -> SuspendLogHandlers(This,bSuspend)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsLogger_AddLogEntry_Proxy( 
    IRsLogger * This,
    /* [in] */ RtLogEntry logEntry);


void __RPC_STUB IRsLogger_AddLogEntry_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsLogger_RegisterLogHandler_Proxy( 
    IRsLogger * This,
    /* [in] */ IRsLogHandler *pHandler,
    /* [out] */ RtUlong *pHandlerId);


void __RPC_STUB IRsLogger_RegisterLogHandler_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsLogger_UnregisterLogHandler_Proxy( 
    IRsLogger * This,
    /* [in] */ IRsLogHandler *pHandler);


void __RPC_STUB IRsLogger_UnregisterLogHandler_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsLogger_FindLogHandlerById_Proxy( 
    IRsLogger * This,
    /* [in] */ RtUlong handlerId,
    /* [out] */ IRsLogHandler **ppHandler);


void __RPC_STUB IRsLogger_FindLogHandlerById_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsLogger_HandleCriticalEntry_Proxy( 
    IRsLogger * This,
    /* [in] */ RtLogEntry logEntry);


void __RPC_STUB IRsLogger_HandleCriticalEntry_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsLogger_SuspendLogHandler_Proxy( 
    IRsLogger * This,
    /* [in] */ IRsLogHandler *pHandler,
    /* [in] */ BOOL bSuspend);


void __RPC_STUB IRsLogger_SuspendLogHandler_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsLogger_SuspendLogHandlers_Proxy( 
    IRsLogger * This,
    /* [in] */ BOOL bSuspend);


void __RPC_STUB IRsLogger_SuspendLogHandlers_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsLogger_INTERFACE_DEFINED__ */


#ifndef __IRsUICtrlItemDescriptor_INTERFACE_DEFINED__
#define __IRsUICtrlItemDescriptor_INTERFACE_DEFINED__

/* interface IRsUICtrlItemDescriptor */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsUICtrlItemDescriptor;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("0A41149B-59F6-48EF-9D85-DEC0426DD114")
    IRsUICtrlItemDescriptor : public IUnknown
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Script( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Script( 
            /* [in] */ BSTR *newVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Text( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Text( 
            /* [in] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ToolTip( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_ToolTip( 
            /* [in] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_CmdID( 
            /* [retval][out] */ IID *pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_CmdID( 
            /* [in] */ IID *pVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ImgRes2D( 
            /* [retval][out] */ RtUshort *pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_ImgRes2D( 
            /* [in] */ RtUshort newVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ImgRes3D( 
            /* [retval][out] */ RtUshort *pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_ImgRes3D( 
            /* [in] */ RtUshort newVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Initialize( 
            /* [in] */ UIControlDescriptor *pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetPreviewFileName( 
            /* [retval][out] */ BSTR *pbsFileName) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetPreviewFileName( 
            /* [in] */ BSTR bsFileName) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsUICtrlItemDescriptorVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsUICtrlItemDescriptor * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsUICtrlItemDescriptor * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsUICtrlItemDescriptor * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Script )( 
            IRsUICtrlItemDescriptor * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Script )( 
            IRsUICtrlItemDescriptor * This,
            /* [in] */ BSTR *newVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Text )( 
            IRsUICtrlItemDescriptor * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Text )( 
            IRsUICtrlItemDescriptor * This,
            /* [in] */ BSTR *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ToolTip )( 
            IRsUICtrlItemDescriptor * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ToolTip )( 
            IRsUICtrlItemDescriptor * This,
            /* [in] */ BSTR *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CmdID )( 
            IRsUICtrlItemDescriptor * This,
            /* [retval][out] */ IID *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_CmdID )( 
            IRsUICtrlItemDescriptor * This,
            /* [in] */ IID *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ImgRes2D )( 
            IRsUICtrlItemDescriptor * This,
            /* [retval][out] */ RtUshort *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ImgRes2D )( 
            IRsUICtrlItemDescriptor * This,
            /* [in] */ RtUshort newVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ImgRes3D )( 
            IRsUICtrlItemDescriptor * This,
            /* [retval][out] */ RtUshort *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ImgRes3D )( 
            IRsUICtrlItemDescriptor * This,
            /* [in] */ RtUshort newVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Initialize )( 
            IRsUICtrlItemDescriptor * This,
            /* [in] */ UIControlDescriptor *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetPreviewFileName )( 
            IRsUICtrlItemDescriptor * This,
            /* [retval][out] */ BSTR *pbsFileName);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetPreviewFileName )( 
            IRsUICtrlItemDescriptor * This,
            /* [in] */ BSTR bsFileName);
        
        END_INTERFACE
    } IRsUICtrlItemDescriptorVtbl;

    interface IRsUICtrlItemDescriptor
    {
        CONST_VTBL struct IRsUICtrlItemDescriptorVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsUICtrlItemDescriptor_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsUICtrlItemDescriptor_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsUICtrlItemDescriptor_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsUICtrlItemDescriptor_get_Script(This,pVal)	\
    (This)->lpVtbl -> get_Script(This,pVal)

#define IRsUICtrlItemDescriptor_put_Script(This,newVal)	\
    (This)->lpVtbl -> put_Script(This,newVal)

#define IRsUICtrlItemDescriptor_get_Text(This,pVal)	\
    (This)->lpVtbl -> get_Text(This,pVal)

#define IRsUICtrlItemDescriptor_put_Text(This,pVal)	\
    (This)->lpVtbl -> put_Text(This,pVal)

#define IRsUICtrlItemDescriptor_get_ToolTip(This,pVal)	\
    (This)->lpVtbl -> get_ToolTip(This,pVal)

#define IRsUICtrlItemDescriptor_put_ToolTip(This,pVal)	\
    (This)->lpVtbl -> put_ToolTip(This,pVal)

#define IRsUICtrlItemDescriptor_get_CmdID(This,pVal)	\
    (This)->lpVtbl -> get_CmdID(This,pVal)

#define IRsUICtrlItemDescriptor_put_CmdID(This,pVal)	\
    (This)->lpVtbl -> put_CmdID(This,pVal)

#define IRsUICtrlItemDescriptor_get_ImgRes2D(This,pVal)	\
    (This)->lpVtbl -> get_ImgRes2D(This,pVal)

#define IRsUICtrlItemDescriptor_put_ImgRes2D(This,newVal)	\
    (This)->lpVtbl -> put_ImgRes2D(This,newVal)

#define IRsUICtrlItemDescriptor_get_ImgRes3D(This,pVal)	\
    (This)->lpVtbl -> get_ImgRes3D(This,pVal)

#define IRsUICtrlItemDescriptor_put_ImgRes3D(This,newVal)	\
    (This)->lpVtbl -> put_ImgRes3D(This,newVal)

#define IRsUICtrlItemDescriptor_Initialize(This,pVal)	\
    (This)->lpVtbl -> Initialize(This,pVal)

#define IRsUICtrlItemDescriptor_GetPreviewFileName(This,pbsFileName)	\
    (This)->lpVtbl -> GetPreviewFileName(This,pbsFileName)

#define IRsUICtrlItemDescriptor_SetPreviewFileName(This,bsFileName)	\
    (This)->lpVtbl -> SetPreviewFileName(This,bsFileName)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRsUICtrlItemDescriptor_get_Script_Proxy( 
    IRsUICtrlItemDescriptor * This,
    /* [retval][out] */ BSTR *pVal);


void __RPC_STUB IRsUICtrlItemDescriptor_get_Script_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRsUICtrlItemDescriptor_put_Script_Proxy( 
    IRsUICtrlItemDescriptor * This,
    /* [in] */ BSTR *newVal);


void __RPC_STUB IRsUICtrlItemDescriptor_put_Script_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRsUICtrlItemDescriptor_get_Text_Proxy( 
    IRsUICtrlItemDescriptor * This,
    /* [retval][out] */ BSTR *pVal);


void __RPC_STUB IRsUICtrlItemDescriptor_get_Text_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRsUICtrlItemDescriptor_put_Text_Proxy( 
    IRsUICtrlItemDescriptor * This,
    /* [in] */ BSTR *pVal);


void __RPC_STUB IRsUICtrlItemDescriptor_put_Text_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRsUICtrlItemDescriptor_get_ToolTip_Proxy( 
    IRsUICtrlItemDescriptor * This,
    /* [retval][out] */ BSTR *pVal);


void __RPC_STUB IRsUICtrlItemDescriptor_get_ToolTip_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRsUICtrlItemDescriptor_put_ToolTip_Proxy( 
    IRsUICtrlItemDescriptor * This,
    /* [in] */ BSTR *pVal);


void __RPC_STUB IRsUICtrlItemDescriptor_put_ToolTip_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRsUICtrlItemDescriptor_get_CmdID_Proxy( 
    IRsUICtrlItemDescriptor * This,
    /* [retval][out] */ IID *pVal);


void __RPC_STUB IRsUICtrlItemDescriptor_get_CmdID_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRsUICtrlItemDescriptor_put_CmdID_Proxy( 
    IRsUICtrlItemDescriptor * This,
    /* [in] */ IID *pVal);


void __RPC_STUB IRsUICtrlItemDescriptor_put_CmdID_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRsUICtrlItemDescriptor_get_ImgRes2D_Proxy( 
    IRsUICtrlItemDescriptor * This,
    /* [retval][out] */ RtUshort *pVal);


void __RPC_STUB IRsUICtrlItemDescriptor_get_ImgRes2D_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRsUICtrlItemDescriptor_put_ImgRes2D_Proxy( 
    IRsUICtrlItemDescriptor * This,
    /* [in] */ RtUshort newVal);


void __RPC_STUB IRsUICtrlItemDescriptor_put_ImgRes2D_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRsUICtrlItemDescriptor_get_ImgRes3D_Proxy( 
    IRsUICtrlItemDescriptor * This,
    /* [retval][out] */ RtUshort *pVal);


void __RPC_STUB IRsUICtrlItemDescriptor_get_ImgRes3D_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRsUICtrlItemDescriptor_put_ImgRes3D_Proxy( 
    IRsUICtrlItemDescriptor * This,
    /* [in] */ RtUshort newVal);


void __RPC_STUB IRsUICtrlItemDescriptor_put_ImgRes3D_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsUICtrlItemDescriptor_Initialize_Proxy( 
    IRsUICtrlItemDescriptor * This,
    /* [in] */ UIControlDescriptor *pVal);


void __RPC_STUB IRsUICtrlItemDescriptor_Initialize_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsUICtrlItemDescriptor_GetPreviewFileName_Proxy( 
    IRsUICtrlItemDescriptor * This,
    /* [retval][out] */ BSTR *pbsFileName);


void __RPC_STUB IRsUICtrlItemDescriptor_GetPreviewFileName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsUICtrlItemDescriptor_SetPreviewFileName_Proxy( 
    IRsUICtrlItemDescriptor * This,
    /* [in] */ BSTR bsFileName);


void __RPC_STUB IRsUICtrlItemDescriptor_SetPreviewFileName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsUICtrlItemDescriptor_INTERFACE_DEFINED__ */


#ifndef __IRsCustNodeSE_INTERFACE_DEFINED__
#define __IRsCustNodeSE_INTERFACE_DEFINED__

/* interface IRsCustNodeSE */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsCustNodeSE;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("BC011DAA-00B7-4e5c-B9E4-BB7F17487706")
    IRsCustNodeSE : public IRsObject
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Apply( 
            /* [in] */ VARIANT *pvEventData) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsCustNodeSEVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsCustNodeSE * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsCustNodeSE * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsCustNodeSE * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassId )( 
            IRsCustNodeSE * This,
            /* [retval][out] */ GUID *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassName )( 
            IRsCustNodeSE * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Apply )( 
            IRsCustNodeSE * This,
            /* [in] */ VARIANT *pvEventData);
        
        END_INTERFACE
    } IRsCustNodeSEVtbl;

    interface IRsCustNodeSE
    {
        CONST_VTBL struct IRsCustNodeSEVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsCustNodeSE_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsCustNodeSE_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsCustNodeSE_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsCustNodeSE_get_ClassId(This,pVal)	\
    (This)->lpVtbl -> get_ClassId(This,pVal)

#define IRsCustNodeSE_get_ClassName(This,pVal)	\
    (This)->lpVtbl -> get_ClassName(This,pVal)


#define IRsCustNodeSE_Apply(This,pvEventData)	\
    (This)->lpVtbl -> Apply(This,pvEventData)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsCustNodeSE_Apply_Proxy( 
    IRsCustNodeSE * This,
    /* [in] */ VARIANT *pvEventData);


void __RPC_STUB IRsCustNodeSE_Apply_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsCustNodeSE_INTERFACE_DEFINED__ */


#ifndef __IRsPersistDeltaStream_INTERFACE_DEFINED__
#define __IRsPersistDeltaStream_INTERFACE_DEFINED__

/* interface IRsPersistDeltaStream */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsPersistDeltaStream;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("9905E18B-CDB0-406b-A970-9C155CC371ED")
    IRsPersistDeltaStream : public IRsPersistStream
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SaveDelta( 
            /* [in] */ IStream *pStm,
            /* [in] */ IRsObject *pObj,
            /* [in] */ RtBOOL fClearDirty) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE LoadDelta( 
            /* [in] */ IRsObject *pObj,
            /* [in] */ IStream *pStm,
            /* [in] */ RtObjFileHeaderInfo *pObjFileHeaderInfo) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsPersistDeltaStreamVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsPersistDeltaStream * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsPersistDeltaStream * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsPersistDeltaStream * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *IsDirty )( 
            IRsPersistDeltaStream * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Load )( 
            IRsPersistDeltaStream * This,
            /* [in] */ IStream *pStm,
            /* [in] */ RtObjFileHeaderInfo *pObjFileHeaderInfo);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Save )( 
            IRsPersistDeltaStream * This,
            /* [in] */ IStream *pStm,
            /* [in] */ RtBOOL fClearDirty);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetFileHeaderInfo )( 
            IRsPersistDeltaStream * This,
            /* [retval][out] */ RtObjFileHeaderInfo *pHeaderInfo);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SaveDelta )( 
            IRsPersistDeltaStream * This,
            /* [in] */ IStream *pStm,
            /* [in] */ IRsObject *pObj,
            /* [in] */ RtBOOL fClearDirty);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *LoadDelta )( 
            IRsPersistDeltaStream * This,
            /* [in] */ IRsObject *pObj,
            /* [in] */ IStream *pStm,
            /* [in] */ RtObjFileHeaderInfo *pObjFileHeaderInfo);
        
        END_INTERFACE
    } IRsPersistDeltaStreamVtbl;

    interface IRsPersistDeltaStream
    {
        CONST_VTBL struct IRsPersistDeltaStreamVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsPersistDeltaStream_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsPersistDeltaStream_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsPersistDeltaStream_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsPersistDeltaStream_IsDirty(This)	\
    (This)->lpVtbl -> IsDirty(This)

#define IRsPersistDeltaStream_Load(This,pStm,pObjFileHeaderInfo)	\
    (This)->lpVtbl -> Load(This,pStm,pObjFileHeaderInfo)

#define IRsPersistDeltaStream_Save(This,pStm,fClearDirty)	\
    (This)->lpVtbl -> Save(This,pStm,fClearDirty)

#define IRsPersistDeltaStream_GetFileHeaderInfo(This,pHeaderInfo)	\
    (This)->lpVtbl -> GetFileHeaderInfo(This,pHeaderInfo)


#define IRsPersistDeltaStream_SaveDelta(This,pStm,pObj,fClearDirty)	\
    (This)->lpVtbl -> SaveDelta(This,pStm,pObj,fClearDirty)

#define IRsPersistDeltaStream_LoadDelta(This,pObj,pStm,pObjFileHeaderInfo)	\
    (This)->lpVtbl -> LoadDelta(This,pObj,pStm,pObjFileHeaderInfo)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsPersistDeltaStream_SaveDelta_Proxy( 
    IRsPersistDeltaStream * This,
    /* [in] */ IStream *pStm,
    /* [in] */ IRsObject *pObj,
    /* [in] */ RtBOOL fClearDirty);


void __RPC_STUB IRsPersistDeltaStream_SaveDelta_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsPersistDeltaStream_LoadDelta_Proxy( 
    IRsPersistDeltaStream * This,
    /* [in] */ IRsObject *pObj,
    /* [in] */ IStream *pStm,
    /* [in] */ RtObjFileHeaderInfo *pObjFileHeaderInfo);


void __RPC_STUB IRsPersistDeltaStream_LoadDelta_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsPersistDeltaStream_INTERFACE_DEFINED__ */


#ifndef __IRsConSolver_INTERFACE_DEFINED__
#define __IRsConSolver_INTERFACE_DEFINED__

/* interface IRsConSolver */
/* [unique][helpstring][uuid][local][object] */ 


EXTERN_C const IID IID_IRsConSolver;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("B61DA50D-6DC4-42B4-97FD-139ACB14A779")
    IRsConSolver : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddPersistId( 
            /* [in] */ RtPersistId *oldPerstId,
            /* [in] */ IRsObject *pObj) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RestoreReferencies( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Find( 
            /* [in] */ RtPersistId *oldRntId,
            /* [retval][out] */ IRsObject **ppObj) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsConSolverVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsConSolver * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsConSolver * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsConSolver * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddPersistId )( 
            IRsConSolver * This,
            /* [in] */ RtPersistId *oldPerstId,
            /* [in] */ IRsObject *pObj);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RestoreReferencies )( 
            IRsConSolver * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Find )( 
            IRsConSolver * This,
            /* [in] */ RtPersistId *oldRntId,
            /* [retval][out] */ IRsObject **ppObj);
        
        END_INTERFACE
    } IRsConSolverVtbl;

    interface IRsConSolver
    {
        CONST_VTBL struct IRsConSolverVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsConSolver_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsConSolver_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsConSolver_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsConSolver_AddPersistId(This,oldPerstId,pObj)	\
    (This)->lpVtbl -> AddPersistId(This,oldPerstId,pObj)

#define IRsConSolver_RestoreReferencies(This)	\
    (This)->lpVtbl -> RestoreReferencies(This)

#define IRsConSolver_Find(This,oldRntId,ppObj)	\
    (This)->lpVtbl -> Find(This,oldRntId,ppObj)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsConSolver_AddPersistId_Proxy( 
    IRsConSolver * This,
    /* [in] */ RtPersistId *oldPerstId,
    /* [in] */ IRsObject *pObj);


void __RPC_STUB IRsConSolver_AddPersistId_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsConSolver_RestoreReferencies_Proxy( 
    IRsConSolver * This);


void __RPC_STUB IRsConSolver_RestoreReferencies_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsConSolver_Find_Proxy( 
    IRsConSolver * This,
    /* [in] */ RtPersistId *oldRntId,
    /* [retval][out] */ IRsObject **ppObj);


void __RPC_STUB IRsConSolver_Find_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsConSolver_INTERFACE_DEFINED__ */


#ifndef __IRsPersistStreamEx_INTERFACE_DEFINED__
#define __IRsPersistStreamEx_INTERFACE_DEFINED__

/* interface IRsPersistStreamEx */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsPersistStreamEx;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("23F9681A-E724-4b3d-AFE3-211A28882516")
    IRsPersistStreamEx : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetPersistentID( 
            /* [in] */ RtPersistId *pPersistId) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE PostLoad( 
            /* [in] */ IRsConSolver *pPostLoad) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsPersistStreamExVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsPersistStreamEx * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsPersistStreamEx * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsPersistStreamEx * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetPersistentID )( 
            IRsPersistStreamEx * This,
            /* [in] */ RtPersistId *pPersistId);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *PostLoad )( 
            IRsPersistStreamEx * This,
            /* [in] */ IRsConSolver *pPostLoad);
        
        END_INTERFACE
    } IRsPersistStreamExVtbl;

    interface IRsPersistStreamEx
    {
        CONST_VTBL struct IRsPersistStreamExVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsPersistStreamEx_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsPersistStreamEx_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsPersistStreamEx_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsPersistStreamEx_GetPersistentID(This,pPersistId)	\
    (This)->lpVtbl -> GetPersistentID(This,pPersistId)

#define IRsPersistStreamEx_PostLoad(This,pPostLoad)	\
    (This)->lpVtbl -> PostLoad(This,pPostLoad)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsPersistStreamEx_GetPersistentID_Proxy( 
    IRsPersistStreamEx * This,
    /* [in] */ RtPersistId *pPersistId);


void __RPC_STUB IRsPersistStreamEx_GetPersistentID_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsPersistStreamEx_PostLoad_Proxy( 
    IRsPersistStreamEx * This,
    /* [in] */ IRsConSolver *pPostLoad);


void __RPC_STUB IRsPersistStreamEx_PostLoad_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsPersistStreamEx_INTERFACE_DEFINED__ */


#ifndef __IRsEnumCon_INTERFACE_DEFINED__
#define __IRsEnumCon_INTERFACE_DEFINED__

/* interface IRsEnumCon */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsEnumCon;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("DE2FF797-94D0-4FFC-A3E0-D9F92B539C64")
    IRsEnumCon : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Next( 
            /* [in] */ ULONG cShapes,
            /* [out] */ IRsObject **pArrayCon,
            /* [out] */ ULONG *pcFetched) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Skip( 
            /* [in] */ ULONG cShapes) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Reset( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Clone( 
            /* [out] */ IRsEnumCon **ppEnum) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsEnumConVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsEnumCon * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsEnumCon * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsEnumCon * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Next )( 
            IRsEnumCon * This,
            /* [in] */ ULONG cShapes,
            /* [out] */ IRsObject **pArrayCon,
            /* [out] */ ULONG *pcFetched);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Skip )( 
            IRsEnumCon * This,
            /* [in] */ ULONG cShapes);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Reset )( 
            IRsEnumCon * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Clone )( 
            IRsEnumCon * This,
            /* [out] */ IRsEnumCon **ppEnum);
        
        END_INTERFACE
    } IRsEnumConVtbl;

    interface IRsEnumCon
    {
        CONST_VTBL struct IRsEnumConVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsEnumCon_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsEnumCon_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsEnumCon_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsEnumCon_Next(This,cShapes,pArrayCon,pcFetched)	\
    (This)->lpVtbl -> Next(This,cShapes,pArrayCon,pcFetched)

#define IRsEnumCon_Skip(This,cShapes)	\
    (This)->lpVtbl -> Skip(This,cShapes)

#define IRsEnumCon_Reset(This)	\
    (This)->lpVtbl -> Reset(This)

#define IRsEnumCon_Clone(This,ppEnum)	\
    (This)->lpVtbl -> Clone(This,ppEnum)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsEnumCon_Next_Proxy( 
    IRsEnumCon * This,
    /* [in] */ ULONG cShapes,
    /* [out] */ IRsObject **pArrayCon,
    /* [out] */ ULONG *pcFetched);


void __RPC_STUB IRsEnumCon_Next_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsEnumCon_Skip_Proxy( 
    IRsEnumCon * This,
    /* [in] */ ULONG cShapes);


void __RPC_STUB IRsEnumCon_Skip_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsEnumCon_Reset_Proxy( 
    IRsEnumCon * This);


void __RPC_STUB IRsEnumCon_Reset_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsEnumCon_Clone_Proxy( 
    IRsEnumCon * This,
    /* [out] */ IRsEnumCon **ppEnum);


void __RPC_STUB IRsEnumCon_Clone_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsEnumCon_INTERFACE_DEFINED__ */


#ifndef __IRsConnector_INTERFACE_DEFINED__
#define __IRsConnector_INTERFACE_DEFINED__

/* interface IRsConnector */
/* [unique][helpstring][uuid][local][object] */ 


EXTERN_C const IID IID_IRsConnector;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("748B8BB4-69D4-494d-A5A4-108F9ECDC0FF")
    IRsConnector : public IRsObject
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Initialize( 
            /* [in] */ IRsConDescriptor *pConDesc) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Destroy( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Clone( 
            /* [retval][out] */ IRsConnector **ppCon) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ConnectTo( 
            /* [in] */ IRsConnector *pRemCon) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Disconnect( 
            /* [in] */ IRsConnector *pRemCon) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ConnectionsCount( 
            /* [retval][out] */ RtUlong *numCon) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetConnections( 
            /* [in] */ SAFEARRAY **ppCon) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetOutputConnection( 
            /* [in] */ RtUlong index,
            /* [retval][out] */ IRsConnector **ppCon) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetInputConnection( 
            /* [in] */ RtUlong index,
            /* [retval][out] */ IRsConnector **ppCon) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE EnumInputConnections( 
            /* [out] */ IRsEnumCon **ppInputCon) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE EnumOutputConnections( 
            /* [out] */ IRsEnumCon **ppOutputCon) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE InputConnectionsCount( 
            /* [out] */ RtUlong *numCon) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OutputConnectionsCount( 
            /* [out] */ RtUlong *pNumCon) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE DisconnectAll( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RegisterInConnector( 
            /* [in] */ IRsConnector *pCon) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RegisterOutConnector( 
            /* [in] */ IRsConnector *pRemCon) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE UnregisterConnection( 
            /* [in] */ IRsConnector *pRemCon) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE PropagateEventToOut( 
            /* [in] */ VARIANT vData) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE PropagateEventToIn( 
            /* [in] */ VARIANT vData) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RemoteGetValue( 
            /* [in] */ VARIANT *pvData) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Invalidate( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetConId( 
            /* [out][in] */ CONID *pConId) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetNode( 
            /* [retval][out] */ IRsNode **pNode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetValidateStatus( 
            /* [retval][out] */ RtConValidStatus *status) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetDescriptor( 
            /* [retval][out] */ IRsConDescriptor **pConDesc) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetLocRntId( 
            /* [retval][out] */ RtLocRntId *plocRntId) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetValidateStatus( 
            /* [in] */ RtConValidStatus status) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AssignOwnerNode( 
            /* [in] */ IRsNode *pParent,
            /* [in] */ CONID Con_Id) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddDependency( 
            /* [in] */ IRsConnector *pCon) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RemoveDependency( 
            /* [in] */ IRsConnector *pCon) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE EnumDependencies( 
            /* [retval][out] */ IRsEnumCon **ppDependCon) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Name( 
            /* [in] */ const BSTR newVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Flags( 
            /* [retval][out] */ RtFlags *pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Flags( 
            /* [in] */ RtFlags newVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetFullName( 
            /* [in] */ IRsNode *pRootNode,
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE IsEndConnector( 
            /* [out] */ RtBool *pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetInvalidationStamp( 
            /* [retval][out] */ RtDWORD *pdwInvTimeStamp) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RestoreLocalReferences( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ConnectionExists( 
            /* [in] */ IRsConnector *pRemCon) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsConnectorVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsConnector * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsConnector * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsConnector * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassId )( 
            IRsConnector * This,
            /* [retval][out] */ GUID *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassName )( 
            IRsConnector * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Initialize )( 
            IRsConnector * This,
            /* [in] */ IRsConDescriptor *pConDesc);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Destroy )( 
            IRsConnector * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Clone )( 
            IRsConnector * This,
            /* [retval][out] */ IRsConnector **ppCon);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ConnectTo )( 
            IRsConnector * This,
            /* [in] */ IRsConnector *pRemCon);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Disconnect )( 
            IRsConnector * This,
            /* [in] */ IRsConnector *pRemCon);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ConnectionsCount )( 
            IRsConnector * This,
            /* [retval][out] */ RtUlong *numCon);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetConnections )( 
            IRsConnector * This,
            /* [in] */ SAFEARRAY **ppCon);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetOutputConnection )( 
            IRsConnector * This,
            /* [in] */ RtUlong index,
            /* [retval][out] */ IRsConnector **ppCon);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetInputConnection )( 
            IRsConnector * This,
            /* [in] */ RtUlong index,
            /* [retval][out] */ IRsConnector **ppCon);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *EnumInputConnections )( 
            IRsConnector * This,
            /* [out] */ IRsEnumCon **ppInputCon);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *EnumOutputConnections )( 
            IRsConnector * This,
            /* [out] */ IRsEnumCon **ppOutputCon);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *InputConnectionsCount )( 
            IRsConnector * This,
            /* [out] */ RtUlong *numCon);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OutputConnectionsCount )( 
            IRsConnector * This,
            /* [out] */ RtUlong *pNumCon);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *DisconnectAll )( 
            IRsConnector * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RegisterInConnector )( 
            IRsConnector * This,
            /* [in] */ IRsConnector *pCon);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RegisterOutConnector )( 
            IRsConnector * This,
            /* [in] */ IRsConnector *pRemCon);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *UnregisterConnection )( 
            IRsConnector * This,
            /* [in] */ IRsConnector *pRemCon);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *PropagateEventToOut )( 
            IRsConnector * This,
            /* [in] */ VARIANT vData);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *PropagateEventToIn )( 
            IRsConnector * This,
            /* [in] */ VARIANT vData);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RemoteGetValue )( 
            IRsConnector * This,
            /* [in] */ VARIANT *pvData);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Invalidate )( 
            IRsConnector * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetConId )( 
            IRsConnector * This,
            /* [out][in] */ CONID *pConId);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetNode )( 
            IRsConnector * This,
            /* [retval][out] */ IRsNode **pNode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetValidateStatus )( 
            IRsConnector * This,
            /* [retval][out] */ RtConValidStatus *status);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetDescriptor )( 
            IRsConnector * This,
            /* [retval][out] */ IRsConDescriptor **pConDesc);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetLocRntId )( 
            IRsConnector * This,
            /* [retval][out] */ RtLocRntId *plocRntId);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetValidateStatus )( 
            IRsConnector * This,
            /* [in] */ RtConValidStatus status);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AssignOwnerNode )( 
            IRsConnector * This,
            /* [in] */ IRsNode *pParent,
            /* [in] */ CONID Con_Id);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddDependency )( 
            IRsConnector * This,
            /* [in] */ IRsConnector *pCon);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RemoveDependency )( 
            IRsConnector * This,
            /* [in] */ IRsConnector *pCon);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *EnumDependencies )( 
            IRsConnector * This,
            /* [retval][out] */ IRsEnumCon **ppDependCon);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IRsConnector * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Name )( 
            IRsConnector * This,
            /* [in] */ const BSTR newVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Flags )( 
            IRsConnector * This,
            /* [retval][out] */ RtFlags *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Flags )( 
            IRsConnector * This,
            /* [in] */ RtFlags newVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetFullName )( 
            IRsConnector * This,
            /* [in] */ IRsNode *pRootNode,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *IsEndConnector )( 
            IRsConnector * This,
            /* [out] */ RtBool *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetInvalidationStamp )( 
            IRsConnector * This,
            /* [retval][out] */ RtDWORD *pdwInvTimeStamp);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RestoreLocalReferences )( 
            IRsConnector * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ConnectionExists )( 
            IRsConnector * This,
            /* [in] */ IRsConnector *pRemCon);
        
        END_INTERFACE
    } IRsConnectorVtbl;

    interface IRsConnector
    {
        CONST_VTBL struct IRsConnectorVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsConnector_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsConnector_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsConnector_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsConnector_get_ClassId(This,pVal)	\
    (This)->lpVtbl -> get_ClassId(This,pVal)

#define IRsConnector_get_ClassName(This,pVal)	\
    (This)->lpVtbl -> get_ClassName(This,pVal)


#define IRsConnector_Initialize(This,pConDesc)	\
    (This)->lpVtbl -> Initialize(This,pConDesc)

#define IRsConnector_Destroy(This)	\
    (This)->lpVtbl -> Destroy(This)

#define IRsConnector_Clone(This,ppCon)	\
    (This)->lpVtbl -> Clone(This,ppCon)

#define IRsConnector_ConnectTo(This,pRemCon)	\
    (This)->lpVtbl -> ConnectTo(This,pRemCon)

#define IRsConnector_Disconnect(This,pRemCon)	\
    (This)->lpVtbl -> Disconnect(This,pRemCon)

#define IRsConnector_ConnectionsCount(This,numCon)	\
    (This)->lpVtbl -> ConnectionsCount(This,numCon)

#define IRsConnector_GetConnections(This,ppCon)	\
    (This)->lpVtbl -> GetConnections(This,ppCon)

#define IRsConnector_GetOutputConnection(This,index,ppCon)	\
    (This)->lpVtbl -> GetOutputConnection(This,index,ppCon)

#define IRsConnector_GetInputConnection(This,index,ppCon)	\
    (This)->lpVtbl -> GetInputConnection(This,index,ppCon)

#define IRsConnector_EnumInputConnections(This,ppInputCon)	\
    (This)->lpVtbl -> EnumInputConnections(This,ppInputCon)

#define IRsConnector_EnumOutputConnections(This,ppOutputCon)	\
    (This)->lpVtbl -> EnumOutputConnections(This,ppOutputCon)

#define IRsConnector_InputConnectionsCount(This,numCon)	\
    (This)->lpVtbl -> InputConnectionsCount(This,numCon)

#define IRsConnector_OutputConnectionsCount(This,pNumCon)	\
    (This)->lpVtbl -> OutputConnectionsCount(This,pNumCon)

#define IRsConnector_DisconnectAll(This)	\
    (This)->lpVtbl -> DisconnectAll(This)

#define IRsConnector_RegisterInConnector(This,pCon)	\
    (This)->lpVtbl -> RegisterInConnector(This,pCon)

#define IRsConnector_RegisterOutConnector(This,pRemCon)	\
    (This)->lpVtbl -> RegisterOutConnector(This,pRemCon)

#define IRsConnector_UnregisterConnection(This,pRemCon)	\
    (This)->lpVtbl -> UnregisterConnection(This,pRemCon)

#define IRsConnector_PropagateEventToOut(This,vData)	\
    (This)->lpVtbl -> PropagateEventToOut(This,vData)

#define IRsConnector_PropagateEventToIn(This,vData)	\
    (This)->lpVtbl -> PropagateEventToIn(This,vData)

#define IRsConnector_RemoteGetValue(This,pvData)	\
    (This)->lpVtbl -> RemoteGetValue(This,pvData)

#define IRsConnector_Invalidate(This)	\
    (This)->lpVtbl -> Invalidate(This)

#define IRsConnector_GetConId(This,pConId)	\
    (This)->lpVtbl -> GetConId(This,pConId)

#define IRsConnector_GetNode(This,pNode)	\
    (This)->lpVtbl -> GetNode(This,pNode)

#define IRsConnector_GetValidateStatus(This,status)	\
    (This)->lpVtbl -> GetValidateStatus(This,status)

#define IRsConnector_GetDescriptor(This,pConDesc)	\
    (This)->lpVtbl -> GetDescriptor(This,pConDesc)

#define IRsConnector_GetLocRntId(This,plocRntId)	\
    (This)->lpVtbl -> GetLocRntId(This,plocRntId)

#define IRsConnector_SetValidateStatus(This,status)	\
    (This)->lpVtbl -> SetValidateStatus(This,status)

#define IRsConnector_AssignOwnerNode(This,pParent,Con_Id)	\
    (This)->lpVtbl -> AssignOwnerNode(This,pParent,Con_Id)

#define IRsConnector_AddDependency(This,pCon)	\
    (This)->lpVtbl -> AddDependency(This,pCon)

#define IRsConnector_RemoveDependency(This,pCon)	\
    (This)->lpVtbl -> RemoveDependency(This,pCon)

#define IRsConnector_EnumDependencies(This,ppDependCon)	\
    (This)->lpVtbl -> EnumDependencies(This,ppDependCon)

#define IRsConnector_get_Name(This,pVal)	\
    (This)->lpVtbl -> get_Name(This,pVal)

#define IRsConnector_put_Name(This,newVal)	\
    (This)->lpVtbl -> put_Name(This,newVal)

#define IRsConnector_get_Flags(This,pVal)	\
    (This)->lpVtbl -> get_Flags(This,pVal)

#define IRsConnector_put_Flags(This,newVal)	\
    (This)->lpVtbl -> put_Flags(This,newVal)

#define IRsConnector_GetFullName(This,pRootNode,pVal)	\
    (This)->lpVtbl -> GetFullName(This,pRootNode,pVal)

#define IRsConnector_IsEndConnector(This,pVal)	\
    (This)->lpVtbl -> IsEndConnector(This,pVal)

#define IRsConnector_GetInvalidationStamp(This,pdwInvTimeStamp)	\
    (This)->lpVtbl -> GetInvalidationStamp(This,pdwInvTimeStamp)

#define IRsConnector_RestoreLocalReferences(This)	\
    (This)->lpVtbl -> RestoreLocalReferences(This)

#define IRsConnector_ConnectionExists(This,pRemCon)	\
    (This)->lpVtbl -> ConnectionExists(This,pRemCon)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsConnector_Initialize_Proxy( 
    IRsConnector * This,
    /* [in] */ IRsConDescriptor *pConDesc);


void __RPC_STUB IRsConnector_Initialize_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsConnector_Destroy_Proxy( 
    IRsConnector * This);


void __RPC_STUB IRsConnector_Destroy_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsConnector_Clone_Proxy( 
    IRsConnector * This,
    /* [retval][out] */ IRsConnector **ppCon);


void __RPC_STUB IRsConnector_Clone_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsConnector_ConnectTo_Proxy( 
    IRsConnector * This,
    /* [in] */ IRsConnector *pRemCon);


void __RPC_STUB IRsConnector_ConnectTo_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsConnector_Disconnect_Proxy( 
    IRsConnector * This,
    /* [in] */ IRsConnector *pRemCon);


void __RPC_STUB IRsConnector_Disconnect_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsConnector_ConnectionsCount_Proxy( 
    IRsConnector * This,
    /* [retval][out] */ RtUlong *numCon);


void __RPC_STUB IRsConnector_ConnectionsCount_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsConnector_GetConnections_Proxy( 
    IRsConnector * This,
    /* [in] */ SAFEARRAY **ppCon);


void __RPC_STUB IRsConnector_GetConnections_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsConnector_GetOutputConnection_Proxy( 
    IRsConnector * This,
    /* [in] */ RtUlong index,
    /* [retval][out] */ IRsConnector **ppCon);


void __RPC_STUB IRsConnector_GetOutputConnection_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsConnector_GetInputConnection_Proxy( 
    IRsConnector * This,
    /* [in] */ RtUlong index,
    /* [retval][out] */ IRsConnector **ppCon);


void __RPC_STUB IRsConnector_GetInputConnection_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsConnector_EnumInputConnections_Proxy( 
    IRsConnector * This,
    /* [out] */ IRsEnumCon **ppInputCon);


void __RPC_STUB IRsConnector_EnumInputConnections_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsConnector_EnumOutputConnections_Proxy( 
    IRsConnector * This,
    /* [out] */ IRsEnumCon **ppOutputCon);


void __RPC_STUB IRsConnector_EnumOutputConnections_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsConnector_InputConnectionsCount_Proxy( 
    IRsConnector * This,
    /* [out] */ RtUlong *numCon);


void __RPC_STUB IRsConnector_InputConnectionsCount_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsConnector_OutputConnectionsCount_Proxy( 
    IRsConnector * This,
    /* [out] */ RtUlong *pNumCon);


void __RPC_STUB IRsConnector_OutputConnectionsCount_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsConnector_DisconnectAll_Proxy( 
    IRsConnector * This);


void __RPC_STUB IRsConnector_DisconnectAll_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsConnector_RegisterInConnector_Proxy( 
    IRsConnector * This,
    /* [in] */ IRsConnector *pCon);


void __RPC_STUB IRsConnector_RegisterInConnector_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsConnector_RegisterOutConnector_Proxy( 
    IRsConnector * This,
    /* [in] */ IRsConnector *pRemCon);


void __RPC_STUB IRsConnector_RegisterOutConnector_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsConnector_UnregisterConnection_Proxy( 
    IRsConnector * This,
    /* [in] */ IRsConnector *pRemCon);


void __RPC_STUB IRsConnector_UnregisterConnection_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsConnector_PropagateEventToOut_Proxy( 
    IRsConnector * This,
    /* [in] */ VARIANT vData);


void __RPC_STUB IRsConnector_PropagateEventToOut_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsConnector_PropagateEventToIn_Proxy( 
    IRsConnector * This,
    /* [in] */ VARIANT vData);


void __RPC_STUB IRsConnector_PropagateEventToIn_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsConnector_RemoteGetValue_Proxy( 
    IRsConnector * This,
    /* [in] */ VARIANT *pvData);


void __RPC_STUB IRsConnector_RemoteGetValue_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsConnector_Invalidate_Proxy( 
    IRsConnector * This);


void __RPC_STUB IRsConnector_Invalidate_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsConnector_GetConId_Proxy( 
    IRsConnector * This,
    /* [out][in] */ CONID *pConId);


void __RPC_STUB IRsConnector_GetConId_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsConnector_GetNode_Proxy( 
    IRsConnector * This,
    /* [retval][out] */ IRsNode **pNode);


void __RPC_STUB IRsConnector_GetNode_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsConnector_GetValidateStatus_Proxy( 
    IRsConnector * This,
    /* [retval][out] */ RtConValidStatus *status);


void __RPC_STUB IRsConnector_GetValidateStatus_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsConnector_GetDescriptor_Proxy( 
    IRsConnector * This,
    /* [retval][out] */ IRsConDescriptor **pConDesc);


void __RPC_STUB IRsConnector_GetDescriptor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsConnector_GetLocRntId_Proxy( 
    IRsConnector * This,
    /* [retval][out] */ RtLocRntId *plocRntId);


void __RPC_STUB IRsConnector_GetLocRntId_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsConnector_SetValidateStatus_Proxy( 
    IRsConnector * This,
    /* [in] */ RtConValidStatus status);


void __RPC_STUB IRsConnector_SetValidateStatus_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsConnector_AssignOwnerNode_Proxy( 
    IRsConnector * This,
    /* [in] */ IRsNode *pParent,
    /* [in] */ CONID Con_Id);


void __RPC_STUB IRsConnector_AssignOwnerNode_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsConnector_AddDependency_Proxy( 
    IRsConnector * This,
    /* [in] */ IRsConnector *pCon);


void __RPC_STUB IRsConnector_AddDependency_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsConnector_RemoveDependency_Proxy( 
    IRsConnector * This,
    /* [in] */ IRsConnector *pCon);


void __RPC_STUB IRsConnector_RemoveDependency_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsConnector_EnumDependencies_Proxy( 
    IRsConnector * This,
    /* [retval][out] */ IRsEnumCon **ppDependCon);


void __RPC_STUB IRsConnector_EnumDependencies_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRsConnector_get_Name_Proxy( 
    IRsConnector * This,
    /* [retval][out] */ BSTR *pVal);


void __RPC_STUB IRsConnector_get_Name_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRsConnector_put_Name_Proxy( 
    IRsConnector * This,
    /* [in] */ const BSTR newVal);


void __RPC_STUB IRsConnector_put_Name_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRsConnector_get_Flags_Proxy( 
    IRsConnector * This,
    /* [retval][out] */ RtFlags *pVal);


void __RPC_STUB IRsConnector_get_Flags_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRsConnector_put_Flags_Proxy( 
    IRsConnector * This,
    /* [in] */ RtFlags newVal);


void __RPC_STUB IRsConnector_put_Flags_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsConnector_GetFullName_Proxy( 
    IRsConnector * This,
    /* [in] */ IRsNode *pRootNode,
    /* [retval][out] */ BSTR *pVal);


void __RPC_STUB IRsConnector_GetFullName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsConnector_IsEndConnector_Proxy( 
    IRsConnector * This,
    /* [out] */ RtBool *pVal);


void __RPC_STUB IRsConnector_IsEndConnector_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsConnector_GetInvalidationStamp_Proxy( 
    IRsConnector * This,
    /* [retval][out] */ RtDWORD *pdwInvTimeStamp);


void __RPC_STUB IRsConnector_GetInvalidationStamp_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsConnector_RestoreLocalReferences_Proxy( 
    IRsConnector * This);


void __RPC_STUB IRsConnector_RestoreLocalReferences_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsConnector_ConnectionExists_Proxy( 
    IRsConnector * This,
    /* [in] */ IRsConnector *pRemCon);


void __RPC_STUB IRsConnector_ConnectionExists_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsConnector_INTERFACE_DEFINED__ */


#ifndef __IRsConnection_INTERFACE_DEFINED__
#define __IRsConnection_INTERFACE_DEFINED__

/* interface IRsConnection */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsConnection;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("F49F1680-C81D-46CD-B478-4E24A19ACC5C")
    IRsConnection : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Initialize( 
            /* [in] */ IRsConnector *pSource,
            /* [in] */ IRsConnector *pDest) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Restore( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RestoreIfConsExist( 
            /* [in] */ IRsNode *pFocusNode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Delete( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Exist( 
            /* [in] */ RtBool *pbExist) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetSourceNode( 
            /* [retval][out] */ IRsNode **ppSourceNode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetDestinationNode( 
            /* [retval][out] */ IRsNode **ppDestNode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetSourceConID( 
            /* [retval][out] */ CONID *pIID) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetDestConID( 
            /* [retval][out] */ CONID *pIID) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Clear( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ConvertToLocalRef( void) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_LocalSpace( 
            /* [retval][out] */ IRsNode **pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_LocalSpace( 
            /* [in] */ IRsNode *newVal) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsConnectionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsConnection * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsConnection * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsConnection * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Initialize )( 
            IRsConnection * This,
            /* [in] */ IRsConnector *pSource,
            /* [in] */ IRsConnector *pDest);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Restore )( 
            IRsConnection * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RestoreIfConsExist )( 
            IRsConnection * This,
            /* [in] */ IRsNode *pFocusNode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IRsConnection * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Exist )( 
            IRsConnection * This,
            /* [in] */ RtBool *pbExist);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetSourceNode )( 
            IRsConnection * This,
            /* [retval][out] */ IRsNode **ppSourceNode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetDestinationNode )( 
            IRsConnection * This,
            /* [retval][out] */ IRsNode **ppDestNode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetSourceConID )( 
            IRsConnection * This,
            /* [retval][out] */ CONID *pIID);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetDestConID )( 
            IRsConnection * This,
            /* [retval][out] */ CONID *pIID);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Clear )( 
            IRsConnection * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ConvertToLocalRef )( 
            IRsConnection * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LocalSpace )( 
            IRsConnection * This,
            /* [retval][out] */ IRsNode **pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LocalSpace )( 
            IRsConnection * This,
            /* [in] */ IRsNode *newVal);
        
        END_INTERFACE
    } IRsConnectionVtbl;

    interface IRsConnection
    {
        CONST_VTBL struct IRsConnectionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsConnection_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsConnection_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsConnection_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsConnection_Initialize(This,pSource,pDest)	\
    (This)->lpVtbl -> Initialize(This,pSource,pDest)

#define IRsConnection_Restore(This)	\
    (This)->lpVtbl -> Restore(This)

#define IRsConnection_RestoreIfConsExist(This,pFocusNode)	\
    (This)->lpVtbl -> RestoreIfConsExist(This,pFocusNode)

#define IRsConnection_Delete(This)	\
    (This)->lpVtbl -> Delete(This)

#define IRsConnection_Exist(This,pbExist)	\
    (This)->lpVtbl -> Exist(This,pbExist)

#define IRsConnection_GetSourceNode(This,ppSourceNode)	\
    (This)->lpVtbl -> GetSourceNode(This,ppSourceNode)

#define IRsConnection_GetDestinationNode(This,ppDestNode)	\
    (This)->lpVtbl -> GetDestinationNode(This,ppDestNode)

#define IRsConnection_GetSourceConID(This,pIID)	\
    (This)->lpVtbl -> GetSourceConID(This,pIID)

#define IRsConnection_GetDestConID(This,pIID)	\
    (This)->lpVtbl -> GetDestConID(This,pIID)

#define IRsConnection_Clear(This)	\
    (This)->lpVtbl -> Clear(This)

#define IRsConnection_ConvertToLocalRef(This)	\
    (This)->lpVtbl -> ConvertToLocalRef(This)

#define IRsConnection_get_LocalSpace(This,pVal)	\
    (This)->lpVtbl -> get_LocalSpace(This,pVal)

#define IRsConnection_put_LocalSpace(This,newVal)	\
    (This)->lpVtbl -> put_LocalSpace(This,newVal)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsConnection_Initialize_Proxy( 
    IRsConnection * This,
    /* [in] */ IRsConnector *pSource,
    /* [in] */ IRsConnector *pDest);


void __RPC_STUB IRsConnection_Initialize_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsConnection_Restore_Proxy( 
    IRsConnection * This);


void __RPC_STUB IRsConnection_Restore_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsConnection_RestoreIfConsExist_Proxy( 
    IRsConnection * This,
    /* [in] */ IRsNode *pFocusNode);


void __RPC_STUB IRsConnection_RestoreIfConsExist_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsConnection_Delete_Proxy( 
    IRsConnection * This);


void __RPC_STUB IRsConnection_Delete_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsConnection_Exist_Proxy( 
    IRsConnection * This,
    /* [in] */ RtBool *pbExist);


void __RPC_STUB IRsConnection_Exist_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsConnection_GetSourceNode_Proxy( 
    IRsConnection * This,
    /* [retval][out] */ IRsNode **ppSourceNode);


void __RPC_STUB IRsConnection_GetSourceNode_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsConnection_GetDestinationNode_Proxy( 
    IRsConnection * This,
    /* [retval][out] */ IRsNode **ppDestNode);


void __RPC_STUB IRsConnection_GetDestinationNode_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsConnection_GetSourceConID_Proxy( 
    IRsConnection * This,
    /* [retval][out] */ CONID *pIID);


void __RPC_STUB IRsConnection_GetSourceConID_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsConnection_GetDestConID_Proxy( 
    IRsConnection * This,
    /* [retval][out] */ CONID *pIID);


void __RPC_STUB IRsConnection_GetDestConID_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsConnection_Clear_Proxy( 
    IRsConnection * This);


void __RPC_STUB IRsConnection_Clear_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsConnection_ConvertToLocalRef_Proxy( 
    IRsConnection * This);


void __RPC_STUB IRsConnection_ConvertToLocalRef_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRsConnection_get_LocalSpace_Proxy( 
    IRsConnection * This,
    /* [retval][out] */ IRsNode **pVal);


void __RPC_STUB IRsConnection_get_LocalSpace_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRsConnection_put_LocalSpace_Proxy( 
    IRsConnection * This,
    /* [in] */ IRsNode *newVal);


void __RPC_STUB IRsConnection_put_LocalSpace_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsConnection_INTERFACE_DEFINED__ */


#ifndef __IRsEnumConnection_INTERFACE_DEFINED__
#define __IRsEnumConnection_INTERFACE_DEFINED__

/* interface IRsEnumConnection */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsEnumConnection;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("345C1201-6FCC-4FDC-B1DD-86E2A4A7D6EA")
    IRsEnumConnection : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Next( 
            /* [in] */ ULONG cConnections,
            /* [out] */ IRsConnection **pArrayConnections,
            /* [out] */ ULONG *pcFetched) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Skip( 
            /* [in] */ ULONG cConnections) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Reset( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Clone( 
            /* [out] */ IRsEnumConnection **ppEnum) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsEnumConnectionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsEnumConnection * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsEnumConnection * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsEnumConnection * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Next )( 
            IRsEnumConnection * This,
            /* [in] */ ULONG cConnections,
            /* [out] */ IRsConnection **pArrayConnections,
            /* [out] */ ULONG *pcFetched);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Skip )( 
            IRsEnumConnection * This,
            /* [in] */ ULONG cConnections);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Reset )( 
            IRsEnumConnection * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Clone )( 
            IRsEnumConnection * This,
            /* [out] */ IRsEnumConnection **ppEnum);
        
        END_INTERFACE
    } IRsEnumConnectionVtbl;

    interface IRsEnumConnection
    {
        CONST_VTBL struct IRsEnumConnectionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsEnumConnection_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsEnumConnection_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsEnumConnection_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsEnumConnection_Next(This,cConnections,pArrayConnections,pcFetched)	\
    (This)->lpVtbl -> Next(This,cConnections,pArrayConnections,pcFetched)

#define IRsEnumConnection_Skip(This,cConnections)	\
    (This)->lpVtbl -> Skip(This,cConnections)

#define IRsEnumConnection_Reset(This)	\
    (This)->lpVtbl -> Reset(This)

#define IRsEnumConnection_Clone(This,ppEnum)	\
    (This)->lpVtbl -> Clone(This,ppEnum)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsEnumConnection_Next_Proxy( 
    IRsEnumConnection * This,
    /* [in] */ ULONG cConnections,
    /* [out] */ IRsConnection **pArrayConnections,
    /* [out] */ ULONG *pcFetched);


void __RPC_STUB IRsEnumConnection_Next_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsEnumConnection_Skip_Proxy( 
    IRsEnumConnection * This,
    /* [in] */ ULONG cConnections);


void __RPC_STUB IRsEnumConnection_Skip_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsEnumConnection_Reset_Proxy( 
    IRsEnumConnection * This);


void __RPC_STUB IRsEnumConnection_Reset_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsEnumConnection_Clone_Proxy( 
    IRsEnumConnection * This,
    /* [out] */ IRsEnumConnection **ppEnum);


void __RPC_STUB IRsEnumConnection_Clone_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsEnumConnection_INTERFACE_DEFINED__ */


#ifndef __IRsConnectionList_INTERFACE_DEFINED__
#define __IRsConnectionList_INTERFACE_DEFINED__

/* interface IRsConnectionList */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsConnectionList;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("EF436CC3-40D2-4E06-ABDC-86694C2E7D6F")
    IRsConnectionList : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateConnection( 
            /* [in] */ IRsConnector *pSource,
            /* [in] */ IRsConnector *pRemote) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE EnumConnection( 
            /* [out] */ IRsEnumConnection **ppEnum) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE DeleteConnections( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RestoreConnections( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RestoreConnectionsForExistingCons( 
            /* [in] */ IRsNode *pFocusNode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE NumConnections( 
            /* [out] */ RtUlong *pcNumCon) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Attach( 
            /* [in] */ IRsConnectionList *pList) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetLocalSpace( 
            /* [in] */ IRsNode *pLocalNode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ConvertToLocalRef( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsConnectionListVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsConnectionList * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsConnectionList * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsConnectionList * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateConnection )( 
            IRsConnectionList * This,
            /* [in] */ IRsConnector *pSource,
            /* [in] */ IRsConnector *pRemote);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *EnumConnection )( 
            IRsConnectionList * This,
            /* [out] */ IRsEnumConnection **ppEnum);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *DeleteConnections )( 
            IRsConnectionList * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RestoreConnections )( 
            IRsConnectionList * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RestoreConnectionsForExistingCons )( 
            IRsConnectionList * This,
            /* [in] */ IRsNode *pFocusNode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *NumConnections )( 
            IRsConnectionList * This,
            /* [out] */ RtUlong *pcNumCon);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Attach )( 
            IRsConnectionList * This,
            /* [in] */ IRsConnectionList *pList);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetLocalSpace )( 
            IRsConnectionList * This,
            /* [in] */ IRsNode *pLocalNode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ConvertToLocalRef )( 
            IRsConnectionList * This);
        
        END_INTERFACE
    } IRsConnectionListVtbl;

    interface IRsConnectionList
    {
        CONST_VTBL struct IRsConnectionListVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsConnectionList_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsConnectionList_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsConnectionList_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsConnectionList_CreateConnection(This,pSource,pRemote)	\
    (This)->lpVtbl -> CreateConnection(This,pSource,pRemote)

#define IRsConnectionList_EnumConnection(This,ppEnum)	\
    (This)->lpVtbl -> EnumConnection(This,ppEnum)

#define IRsConnectionList_DeleteConnections(This)	\
    (This)->lpVtbl -> DeleteConnections(This)

#define IRsConnectionList_RestoreConnections(This)	\
    (This)->lpVtbl -> RestoreConnections(This)

#define IRsConnectionList_RestoreConnectionsForExistingCons(This,pFocusNode)	\
    (This)->lpVtbl -> RestoreConnectionsForExistingCons(This,pFocusNode)

#define IRsConnectionList_NumConnections(This,pcNumCon)	\
    (This)->lpVtbl -> NumConnections(This,pcNumCon)

#define IRsConnectionList_Attach(This,pList)	\
    (This)->lpVtbl -> Attach(This,pList)

#define IRsConnectionList_SetLocalSpace(This,pLocalNode)	\
    (This)->lpVtbl -> SetLocalSpace(This,pLocalNode)

#define IRsConnectionList_ConvertToLocalRef(This)	\
    (This)->lpVtbl -> ConvertToLocalRef(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsConnectionList_CreateConnection_Proxy( 
    IRsConnectionList * This,
    /* [in] */ IRsConnector *pSource,
    /* [in] */ IRsConnector *pRemote);


void __RPC_STUB IRsConnectionList_CreateConnection_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsConnectionList_EnumConnection_Proxy( 
    IRsConnectionList * This,
    /* [out] */ IRsEnumConnection **ppEnum);


void __RPC_STUB IRsConnectionList_EnumConnection_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsConnectionList_DeleteConnections_Proxy( 
    IRsConnectionList * This);


void __RPC_STUB IRsConnectionList_DeleteConnections_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsConnectionList_RestoreConnections_Proxy( 
    IRsConnectionList * This);


void __RPC_STUB IRsConnectionList_RestoreConnections_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsConnectionList_RestoreConnectionsForExistingCons_Proxy( 
    IRsConnectionList * This,
    /* [in] */ IRsNode *pFocusNode);


void __RPC_STUB IRsConnectionList_RestoreConnectionsForExistingCons_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsConnectionList_NumConnections_Proxy( 
    IRsConnectionList * This,
    /* [out] */ RtUlong *pcNumCon);


void __RPC_STUB IRsConnectionList_NumConnections_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsConnectionList_Attach_Proxy( 
    IRsConnectionList * This,
    /* [in] */ IRsConnectionList *pList);


void __RPC_STUB IRsConnectionList_Attach_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsConnectionList_SetLocalSpace_Proxy( 
    IRsConnectionList * This,
    /* [in] */ IRsNode *pLocalNode);


void __RPC_STUB IRsConnectionList_SetLocalSpace_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsConnectionList_ConvertToLocalRef_Proxy( 
    IRsConnectionList * This);


void __RPC_STUB IRsConnectionList_ConvertToLocalRef_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsConnectionList_INTERFACE_DEFINED__ */


#ifndef __IRsConEvents_INTERFACE_DEFINED__
#define __IRsConEvents_INTERFACE_DEFINED__

/* interface IRsConEvents */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsConEvents;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3820FDB6-117C-4339-9029-D52C49EBBCAC")
    IRsConEvents : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Connector( 
            /* [in] */ RtConnectorEvent eCEvent,
            /* [in] */ IRsConnector *pCon,
            /* [in] */ CONID conId) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Connection( 
            /* [in] */ RtConnectionEvent eCNEvent,
            /* [in] */ IRsConnector *pCon,
            /* [in] */ IRsConnector *pRemCon) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsConEventsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsConEvents * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsConEvents * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsConEvents * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Connector )( 
            IRsConEvents * This,
            /* [in] */ RtConnectorEvent eCEvent,
            /* [in] */ IRsConnector *pCon,
            /* [in] */ CONID conId);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Connection )( 
            IRsConEvents * This,
            /* [in] */ RtConnectionEvent eCNEvent,
            /* [in] */ IRsConnector *pCon,
            /* [in] */ IRsConnector *pRemCon);
        
        END_INTERFACE
    } IRsConEventsVtbl;

    interface IRsConEvents
    {
        CONST_VTBL struct IRsConEventsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsConEvents_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsConEvents_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsConEvents_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsConEvents_Connector(This,eCEvent,pCon,conId)	\
    (This)->lpVtbl -> Connector(This,eCEvent,pCon,conId)

#define IRsConEvents_Connection(This,eCNEvent,pCon,pRemCon)	\
    (This)->lpVtbl -> Connection(This,eCNEvent,pCon,pRemCon)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsConEvents_Connector_Proxy( 
    IRsConEvents * This,
    /* [in] */ RtConnectorEvent eCEvent,
    /* [in] */ IRsConnector *pCon,
    /* [in] */ CONID conId);


void __RPC_STUB IRsConEvents_Connector_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsConEvents_Connection_Proxy( 
    IRsConEvents * This,
    /* [in] */ RtConnectionEvent eCNEvent,
    /* [in] */ IRsConnector *pCon,
    /* [in] */ IRsConnector *pRemCon);


void __RPC_STUB IRsConEvents_Connection_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsConEvents_INTERFACE_DEFINED__ */


#ifndef __IRsDataCacheItem_INTERFACE_DEFINED__
#define __IRsDataCacheItem_INTERFACE_DEFINED__

/* interface IRsDataCacheItem */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsDataCacheItem;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("4F3E0284-17F9-40AC-8DD3-88D6C140611E")
    IRsDataCacheItem : public IRsObject
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Destroy( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Validate( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetData( 
            /* [retval][out] */ VARIANT *pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE PutData( 
            /* [out][in] */ VARIANT *pNewVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetDataBOOL( 
            /* [retval][out] */ RtBOOL *pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE PutDataBOOL( 
            /* [in] */ RtBOOL newVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetDataUlong( 
            /* [retval][out] */ RtUlong *pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE PutDataUlong( 
            /* [in] */ RtUlong newVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetDataDouble( 
            /* [retval][out] */ RtDouble *pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE PutDataDouble( 
            /* [in] */ RtDouble newVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetDataString( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE PutDataString( 
            /* [in] */ BSTR newVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetDataObject( 
            /* [retval][out] */ IRsDataObject **pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE PutDataObject( 
            /* [in] */ IRsDataObject *pNewVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetDataObjectRef( 
            /* [retval][out] */ IRsDataObject **pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE IsValidValueAvailable( 
            /* [out] */ RtBool *pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Reset( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetDataItemStatus( 
            /* [retval][out] */ RtDataStatus *pDataStatus) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsDataCacheItemVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsDataCacheItem * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsDataCacheItem * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsDataCacheItem * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassId )( 
            IRsDataCacheItem * This,
            /* [retval][out] */ GUID *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassName )( 
            IRsDataCacheItem * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Destroy )( 
            IRsDataCacheItem * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Validate )( 
            IRsDataCacheItem * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetData )( 
            IRsDataCacheItem * This,
            /* [retval][out] */ VARIANT *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *PutData )( 
            IRsDataCacheItem * This,
            /* [out][in] */ VARIANT *pNewVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetDataBOOL )( 
            IRsDataCacheItem * This,
            /* [retval][out] */ RtBOOL *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *PutDataBOOL )( 
            IRsDataCacheItem * This,
            /* [in] */ RtBOOL newVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetDataUlong )( 
            IRsDataCacheItem * This,
            /* [retval][out] */ RtUlong *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *PutDataUlong )( 
            IRsDataCacheItem * This,
            /* [in] */ RtUlong newVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetDataDouble )( 
            IRsDataCacheItem * This,
            /* [retval][out] */ RtDouble *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *PutDataDouble )( 
            IRsDataCacheItem * This,
            /* [in] */ RtDouble newVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetDataString )( 
            IRsDataCacheItem * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *PutDataString )( 
            IRsDataCacheItem * This,
            /* [in] */ BSTR newVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetDataObject )( 
            IRsDataCacheItem * This,
            /* [retval][out] */ IRsDataObject **pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *PutDataObject )( 
            IRsDataCacheItem * This,
            /* [in] */ IRsDataObject *pNewVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetDataObjectRef )( 
            IRsDataCacheItem * This,
            /* [retval][out] */ IRsDataObject **pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *IsValidValueAvailable )( 
            IRsDataCacheItem * This,
            /* [out] */ RtBool *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Reset )( 
            IRsDataCacheItem * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetDataItemStatus )( 
            IRsDataCacheItem * This,
            /* [retval][out] */ RtDataStatus *pDataStatus);
        
        END_INTERFACE
    } IRsDataCacheItemVtbl;

    interface IRsDataCacheItem
    {
        CONST_VTBL struct IRsDataCacheItemVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsDataCacheItem_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsDataCacheItem_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsDataCacheItem_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsDataCacheItem_get_ClassId(This,pVal)	\
    (This)->lpVtbl -> get_ClassId(This,pVal)

#define IRsDataCacheItem_get_ClassName(This,pVal)	\
    (This)->lpVtbl -> get_ClassName(This,pVal)


#define IRsDataCacheItem_Destroy(This)	\
    (This)->lpVtbl -> Destroy(This)

#define IRsDataCacheItem_Validate(This)	\
    (This)->lpVtbl -> Validate(This)

#define IRsDataCacheItem_GetData(This,pVal)	\
    (This)->lpVtbl -> GetData(This,pVal)

#define IRsDataCacheItem_PutData(This,pNewVal)	\
    (This)->lpVtbl -> PutData(This,pNewVal)

#define IRsDataCacheItem_GetDataBOOL(This,pVal)	\
    (This)->lpVtbl -> GetDataBOOL(This,pVal)

#define IRsDataCacheItem_PutDataBOOL(This,newVal)	\
    (This)->lpVtbl -> PutDataBOOL(This,newVal)

#define IRsDataCacheItem_GetDataUlong(This,pVal)	\
    (This)->lpVtbl -> GetDataUlong(This,pVal)

#define IRsDataCacheItem_PutDataUlong(This,newVal)	\
    (This)->lpVtbl -> PutDataUlong(This,newVal)

#define IRsDataCacheItem_GetDataDouble(This,pVal)	\
    (This)->lpVtbl -> GetDataDouble(This,pVal)

#define IRsDataCacheItem_PutDataDouble(This,newVal)	\
    (This)->lpVtbl -> PutDataDouble(This,newVal)

#define IRsDataCacheItem_GetDataString(This,pVal)	\
    (This)->lpVtbl -> GetDataString(This,pVal)

#define IRsDataCacheItem_PutDataString(This,newVal)	\
    (This)->lpVtbl -> PutDataString(This,newVal)

#define IRsDataCacheItem_GetDataObject(This,pVal)	\
    (This)->lpVtbl -> GetDataObject(This,pVal)

#define IRsDataCacheItem_PutDataObject(This,pNewVal)	\
    (This)->lpVtbl -> PutDataObject(This,pNewVal)

#define IRsDataCacheItem_GetDataObjectRef(This,pVal)	\
    (This)->lpVtbl -> GetDataObjectRef(This,pVal)

#define IRsDataCacheItem_IsValidValueAvailable(This,pVal)	\
    (This)->lpVtbl -> IsValidValueAvailable(This,pVal)

#define IRsDataCacheItem_Reset(This)	\
    (This)->lpVtbl -> Reset(This)

#define IRsDataCacheItem_GetDataItemStatus(This,pDataStatus)	\
    (This)->lpVtbl -> GetDataItemStatus(This,pDataStatus)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsDataCacheItem_Destroy_Proxy( 
    IRsDataCacheItem * This);


void __RPC_STUB IRsDataCacheItem_Destroy_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsDataCacheItem_Validate_Proxy( 
    IRsDataCacheItem * This);


void __RPC_STUB IRsDataCacheItem_Validate_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsDataCacheItem_GetData_Proxy( 
    IRsDataCacheItem * This,
    /* [retval][out] */ VARIANT *pVal);


void __RPC_STUB IRsDataCacheItem_GetData_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsDataCacheItem_PutData_Proxy( 
    IRsDataCacheItem * This,
    /* [out][in] */ VARIANT *pNewVal);


void __RPC_STUB IRsDataCacheItem_PutData_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsDataCacheItem_GetDataBOOL_Proxy( 
    IRsDataCacheItem * This,
    /* [retval][out] */ RtBOOL *pVal);


void __RPC_STUB IRsDataCacheItem_GetDataBOOL_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsDataCacheItem_PutDataBOOL_Proxy( 
    IRsDataCacheItem * This,
    /* [in] */ RtBOOL newVal);


void __RPC_STUB IRsDataCacheItem_PutDataBOOL_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsDataCacheItem_GetDataUlong_Proxy( 
    IRsDataCacheItem * This,
    /* [retval][out] */ RtUlong *pVal);


void __RPC_STUB IRsDataCacheItem_GetDataUlong_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsDataCacheItem_PutDataUlong_Proxy( 
    IRsDataCacheItem * This,
    /* [in] */ RtUlong newVal);


void __RPC_STUB IRsDataCacheItem_PutDataUlong_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsDataCacheItem_GetDataDouble_Proxy( 
    IRsDataCacheItem * This,
    /* [retval][out] */ RtDouble *pVal);


void __RPC_STUB IRsDataCacheItem_GetDataDouble_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsDataCacheItem_PutDataDouble_Proxy( 
    IRsDataCacheItem * This,
    /* [in] */ RtDouble newVal);


void __RPC_STUB IRsDataCacheItem_PutDataDouble_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsDataCacheItem_GetDataString_Proxy( 
    IRsDataCacheItem * This,
    /* [retval][out] */ BSTR *pVal);


void __RPC_STUB IRsDataCacheItem_GetDataString_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsDataCacheItem_PutDataString_Proxy( 
    IRsDataCacheItem * This,
    /* [in] */ BSTR newVal);


void __RPC_STUB IRsDataCacheItem_PutDataString_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsDataCacheItem_GetDataObject_Proxy( 
    IRsDataCacheItem * This,
    /* [retval][out] */ IRsDataObject **pVal);


void __RPC_STUB IRsDataCacheItem_GetDataObject_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsDataCacheItem_PutDataObject_Proxy( 
    IRsDataCacheItem * This,
    /* [in] */ IRsDataObject *pNewVal);


void __RPC_STUB IRsDataCacheItem_PutDataObject_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsDataCacheItem_GetDataObjectRef_Proxy( 
    IRsDataCacheItem * This,
    /* [retval][out] */ IRsDataObject **pVal);


void __RPC_STUB IRsDataCacheItem_GetDataObjectRef_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsDataCacheItem_IsValidValueAvailable_Proxy( 
    IRsDataCacheItem * This,
    /* [out] */ RtBool *pVal);


void __RPC_STUB IRsDataCacheItem_IsValidValueAvailable_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsDataCacheItem_Reset_Proxy( 
    IRsDataCacheItem * This);


void __RPC_STUB IRsDataCacheItem_Reset_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsDataCacheItem_GetDataItemStatus_Proxy( 
    IRsDataCacheItem * This,
    /* [retval][out] */ RtDataStatus *pDataStatus);


void __RPC_STUB IRsDataCacheItem_GetDataItemStatus_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsDataCacheItem_INTERFACE_DEFINED__ */


#ifndef __IRsDataCache_INTERFACE_DEFINED__
#define __IRsDataCache_INTERFACE_DEFINED__

/* interface IRsDataCache */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsDataCache;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("B02BA969-A866-43F0-9AB2-0235AE6ECEF3")
    IRsDataCache : public IRsObject
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetDataCacheItem( 
            /* [in] */ CONID con_id,
            /* [retval][out] */ IRsDataCacheItem **ppConData) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Reset( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsDataCacheVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsDataCache * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsDataCache * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsDataCache * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassId )( 
            IRsDataCache * This,
            /* [retval][out] */ GUID *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassName )( 
            IRsDataCache * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetDataCacheItem )( 
            IRsDataCache * This,
            /* [in] */ CONID con_id,
            /* [retval][out] */ IRsDataCacheItem **ppConData);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Reset )( 
            IRsDataCache * This);
        
        END_INTERFACE
    } IRsDataCacheVtbl;

    interface IRsDataCache
    {
        CONST_VTBL struct IRsDataCacheVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsDataCache_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsDataCache_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsDataCache_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsDataCache_get_ClassId(This,pVal)	\
    (This)->lpVtbl -> get_ClassId(This,pVal)

#define IRsDataCache_get_ClassName(This,pVal)	\
    (This)->lpVtbl -> get_ClassName(This,pVal)


#define IRsDataCache_GetDataCacheItem(This,con_id,ppConData)	\
    (This)->lpVtbl -> GetDataCacheItem(This,con_id,ppConData)

#define IRsDataCache_Reset(This)	\
    (This)->lpVtbl -> Reset(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsDataCache_GetDataCacheItem_Proxy( 
    IRsDataCache * This,
    /* [in] */ CONID con_id,
    /* [retval][out] */ IRsDataCacheItem **ppConData);


void __RPC_STUB IRsDataCache_GetDataCacheItem_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsDataCache_Reset_Proxy( 
    IRsDataCache * This);


void __RPC_STUB IRsDataCache_Reset_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsDataCache_INTERFACE_DEFINED__ */


#ifndef __IRsUnknownNode_INTERFACE_DEFINED__
#define __IRsUnknownNode_INTERFACE_DEFINED__

/* interface IRsUnknownNode */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsUnknownNode;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("6F0FB9F1-220F-41D6-BBD0-0B4959859EB8")
    IRsUnknownNode : public IRsObject
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnDefaultValue( 
            /* [in] */ CONID con_id,
            /* [out] */ VARIANT *pVtData,
            /* [out][in] */ RtBool *pHandled) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnGetValue( 
            /* [in] */ CONID con_id,
            /* [in] */ IRsDataCache *pDataCache,
            /* [out] */ VARIANT *pVtData,
            /* [out][in] */ RtBool *pHandled) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnSetValue( 
            /* [in] */ CONID con_id,
            /* [in] */ IRsDataCache *pDataCache,
            /* [out] */ VARIANT *pVtData,
            /* [out][in] */ RtBool *pHandled) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnInvalidate( 
            /* [in] */ CONID con_id,
            /* [out][in] */ RtBool *pHandled) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnInitialize( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnLoadDefault( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnDestroy( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsUnknownNodeVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsUnknownNode * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsUnknownNode * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsUnknownNode * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassId )( 
            IRsUnknownNode * This,
            /* [retval][out] */ GUID *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassName )( 
            IRsUnknownNode * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OnDefaultValue )( 
            IRsUnknownNode * This,
            /* [in] */ CONID con_id,
            /* [out] */ VARIANT *pVtData,
            /* [out][in] */ RtBool *pHandled);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OnGetValue )( 
            IRsUnknownNode * This,
            /* [in] */ CONID con_id,
            /* [in] */ IRsDataCache *pDataCache,
            /* [out] */ VARIANT *pVtData,
            /* [out][in] */ RtBool *pHandled);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OnSetValue )( 
            IRsUnknownNode * This,
            /* [in] */ CONID con_id,
            /* [in] */ IRsDataCache *pDataCache,
            /* [out] */ VARIANT *pVtData,
            /* [out][in] */ RtBool *pHandled);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OnInvalidate )( 
            IRsUnknownNode * This,
            /* [in] */ CONID con_id,
            /* [out][in] */ RtBool *pHandled);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OnInitialize )( 
            IRsUnknownNode * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OnLoadDefault )( 
            IRsUnknownNode * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OnDestroy )( 
            IRsUnknownNode * This);
        
        END_INTERFACE
    } IRsUnknownNodeVtbl;

    interface IRsUnknownNode
    {
        CONST_VTBL struct IRsUnknownNodeVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsUnknownNode_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsUnknownNode_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsUnknownNode_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsUnknownNode_get_ClassId(This,pVal)	\
    (This)->lpVtbl -> get_ClassId(This,pVal)

#define IRsUnknownNode_get_ClassName(This,pVal)	\
    (This)->lpVtbl -> get_ClassName(This,pVal)


#define IRsUnknownNode_OnDefaultValue(This,con_id,pVtData,pHandled)	\
    (This)->lpVtbl -> OnDefaultValue(This,con_id,pVtData,pHandled)

#define IRsUnknownNode_OnGetValue(This,con_id,pDataCache,pVtData,pHandled)	\
    (This)->lpVtbl -> OnGetValue(This,con_id,pDataCache,pVtData,pHandled)

#define IRsUnknownNode_OnSetValue(This,con_id,pDataCache,pVtData,pHandled)	\
    (This)->lpVtbl -> OnSetValue(This,con_id,pDataCache,pVtData,pHandled)

#define IRsUnknownNode_OnInvalidate(This,con_id,pHandled)	\
    (This)->lpVtbl -> OnInvalidate(This,con_id,pHandled)

#define IRsUnknownNode_OnInitialize(This)	\
    (This)->lpVtbl -> OnInitialize(This)

#define IRsUnknownNode_OnLoadDefault(This)	\
    (This)->lpVtbl -> OnLoadDefault(This)

#define IRsUnknownNode_OnDestroy(This)	\
    (This)->lpVtbl -> OnDestroy(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsUnknownNode_OnDefaultValue_Proxy( 
    IRsUnknownNode * This,
    /* [in] */ CONID con_id,
    /* [out] */ VARIANT *pVtData,
    /* [out][in] */ RtBool *pHandled);


void __RPC_STUB IRsUnknownNode_OnDefaultValue_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsUnknownNode_OnGetValue_Proxy( 
    IRsUnknownNode * This,
    /* [in] */ CONID con_id,
    /* [in] */ IRsDataCache *pDataCache,
    /* [out] */ VARIANT *pVtData,
    /* [out][in] */ RtBool *pHandled);


void __RPC_STUB IRsUnknownNode_OnGetValue_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsUnknownNode_OnSetValue_Proxy( 
    IRsUnknownNode * This,
    /* [in] */ CONID con_id,
    /* [in] */ IRsDataCache *pDataCache,
    /* [out] */ VARIANT *pVtData,
    /* [out][in] */ RtBool *pHandled);


void __RPC_STUB IRsUnknownNode_OnSetValue_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsUnknownNode_OnInvalidate_Proxy( 
    IRsUnknownNode * This,
    /* [in] */ CONID con_id,
    /* [out][in] */ RtBool *pHandled);


void __RPC_STUB IRsUnknownNode_OnInvalidate_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsUnknownNode_OnInitialize_Proxy( 
    IRsUnknownNode * This);


void __RPC_STUB IRsUnknownNode_OnInitialize_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsUnknownNode_OnLoadDefault_Proxy( 
    IRsUnknownNode * This);


void __RPC_STUB IRsUnknownNode_OnLoadDefault_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsUnknownNode_OnDestroy_Proxy( 
    IRsUnknownNode * This);


void __RPC_STUB IRsUnknownNode_OnDestroy_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsUnknownNode_INTERFACE_DEFINED__ */


#ifndef __IRsBaseNode_INTERFACE_DEFINED__
#define __IRsBaseNode_INTERFACE_DEFINED__

/* interface IRsBaseNode */
/* [unique][helpstring][uuid][local][object] */ 


EXTERN_C const IID IID_IRsBaseNode;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("13A415E2-1E8A-4FFC-83E0-C58437F6AC8C")
    IRsBaseNode : public IRsNode
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddConnector( 
            /* [in] */ IRsConnector *pCon) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RemoveConnector( 
            /* [in] */ IRsConnector *pCon) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetLinks( 
            /* [in] */ CONID con_Id,
            /* [out][in] */ SAFEARRAY **pConnection) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE FindConById( 
            /* [in] */ CONID con_id,
            /* [retval][out] */ IRsConnector **ppCon) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE FindConByName( 
            /* [in] */ LPCWSTR bstrName,
            /* [retval][out] */ IRsConnector **ppCon) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE DisconnectAllConnectors( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateConnector( 
            /* [in] */ IRsConDescriptor *pConDesc,
            /* [retval][out] */ IRsConnector **ppCon) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddNewConnector( 
            /* [in] */ RtConDesc *pDesc,
            /* [retval][out] */ IRsConnector **ppCon) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddRegisteredConnector( 
            /* [in] */ CONID con_Id,
            /* [out][in] */ IRsConnector **ppCon) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateConnectorDescriptor( 
            /* [in] */ RtConDesc *desc,
            /* [retval][out] */ IRsConDescriptor **ppConDesc) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ConnectorLinksCount( 
            /* [in] */ CONID con_id,
            /* [retval][out] */ RtUlong *numCon) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ConnectorsCount( 
            /* [retval][out] */ RtUlong *pCount) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetConnector( 
            /* [in] */ RtUlong uIndex,
            /* [retval][out] */ IRsConnector **ppCon) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetConnectors( 
            /* [retval][out] */ SAFEARRAY **ppConectors) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GenerateConnectorName( 
            /* [in] */ const BSTR bstrBaseName,
            /* [retval][out] */ BSTR *pRetName) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ConnectToConnector( 
            /* [in] */ CONID con_Id,
            /* [in] */ IRsBaseNode *pRemNode,
            /* [in] */ CONID remConID) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE DisconnectFromConnector( 
            /* [in] */ CONID con_Id,
            /* [in] */ IRsBaseNode *pRemNode,
            /* [in] */ CONID remConId) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Notify( 
            /* [in] */ IRsNotifyEvent *pEvent) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SentNotifyEvent( 
            /* [in] */ RtNotifyEvent eEvent,
            /* [in] */ IRsConnector *pCon,
            /* [in] */ VARIANT *pVtData) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Hook( 
            /* [in] */ IRsNotify *pListener) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE HookEx( 
            /* [in] */ IRsNotify *pListener,
            /* [in] */ RtDWORD dwEventMask,
            /* [in] */ RtBool bFullRollbackScan) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Unhook( 
            /* [in] */ IRsNotify *pListener) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE EnumNotifiedNodes( 
            /* [out] */ IRsEnumNodes **ppEnum) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetDesc( 
            /* [retval][out] */ IUnknown **ppDesc) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE IsDirty( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Load( 
            /* [in] */ IStream *pStm,
            /* [in] */ RtObjFileHeaderInfo *pObjFileHeaderInfo) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Save( 
            /* [in] */ IStream *pStm,
            /* [in] */ RtBOOL fClearDirty) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetFileHeaderInfo( 
            /* [retval][out] */ RtObjFileHeaderInfo *pcbSize) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetPersistentID( 
            /* [in] */ RtPersistId *pPersistId) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE PostLoad( 
            /* [in] */ IRsConSolver *pPostLoad) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsBaseNodeVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsBaseNode * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsBaseNode * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsBaseNode * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetValue )( 
            IRsBaseNode * This,
            /* [in] */ CONID con_id,
            /* [retval][out] */ VARIANT *pVtData);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetValue )( 
            IRsBaseNode * This,
            /* [in] */ CONID con_id,
            /* [in] */ VARIANT vtData);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Invalidate )( 
            IRsBaseNode * This,
            /* [in] */ CONID con_id);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Initialize )( 
            IRsBaseNode * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *LoadDefault )( 
            IRsBaseNode * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Destroy )( 
            IRsBaseNode * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetDefaultValue )( 
            IRsBaseNode * This,
            /* [in] */ CONID con_id,
            /* [retval][out] */ VARIANT *pVtData);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetDataStatus )( 
            IRsBaseNode * This,
            /* [in] */ CONID con_id,
            /* [retval][out] */ RtDataStatus *pDataStatus);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IRsBaseNode * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Name )( 
            IRsBaseNode * This,
            /* [in] */ const BSTR newVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetFullName )( 
            IRsBaseNode * This,
            /* [in] */ IRsNode *pRootNode,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *NameRegistered )( 
            IRsBaseNode * This,
            /* [in] */ RtBOOL bRegistered);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetOwner )( 
            IRsBaseNode * This,
            /* [retval][out] */ IRsNode **ppRemNode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetLocRntId )( 
            IRsBaseNode * This,
            /* [out] */ RtLocRntId *plocRntId);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddConnector )( 
            IRsBaseNode * This,
            /* [in] */ IRsConnector *pCon);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RemoveConnector )( 
            IRsBaseNode * This,
            /* [in] */ IRsConnector *pCon);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetLinks )( 
            IRsBaseNode * This,
            /* [in] */ CONID con_Id,
            /* [out][in] */ SAFEARRAY **pConnection);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *FindConById )( 
            IRsBaseNode * This,
            /* [in] */ CONID con_id,
            /* [retval][out] */ IRsConnector **ppCon);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *FindConByName )( 
            IRsBaseNode * This,
            /* [in] */ LPCWSTR bstrName,
            /* [retval][out] */ IRsConnector **ppCon);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *DisconnectAllConnectors )( 
            IRsBaseNode * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateConnector )( 
            IRsBaseNode * This,
            /* [in] */ IRsConDescriptor *pConDesc,
            /* [retval][out] */ IRsConnector **ppCon);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddNewConnector )( 
            IRsBaseNode * This,
            /* [in] */ RtConDesc *pDesc,
            /* [retval][out] */ IRsConnector **ppCon);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddRegisteredConnector )( 
            IRsBaseNode * This,
            /* [in] */ CONID con_Id,
            /* [out][in] */ IRsConnector **ppCon);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateConnectorDescriptor )( 
            IRsBaseNode * This,
            /* [in] */ RtConDesc *desc,
            /* [retval][out] */ IRsConDescriptor **ppConDesc);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ConnectorLinksCount )( 
            IRsBaseNode * This,
            /* [in] */ CONID con_id,
            /* [retval][out] */ RtUlong *numCon);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ConnectorsCount )( 
            IRsBaseNode * This,
            /* [retval][out] */ RtUlong *pCount);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetConnector )( 
            IRsBaseNode * This,
            /* [in] */ RtUlong uIndex,
            /* [retval][out] */ IRsConnector **ppCon);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetConnectors )( 
            IRsBaseNode * This,
            /* [retval][out] */ SAFEARRAY **ppConectors);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GenerateConnectorName )( 
            IRsBaseNode * This,
            /* [in] */ const BSTR bstrBaseName,
            /* [retval][out] */ BSTR *pRetName);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ConnectToConnector )( 
            IRsBaseNode * This,
            /* [in] */ CONID con_Id,
            /* [in] */ IRsBaseNode *pRemNode,
            /* [in] */ CONID remConID);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *DisconnectFromConnector )( 
            IRsBaseNode * This,
            /* [in] */ CONID con_Id,
            /* [in] */ IRsBaseNode *pRemNode,
            /* [in] */ CONID remConId);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Notify )( 
            IRsBaseNode * This,
            /* [in] */ IRsNotifyEvent *pEvent);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SentNotifyEvent )( 
            IRsBaseNode * This,
            /* [in] */ RtNotifyEvent eEvent,
            /* [in] */ IRsConnector *pCon,
            /* [in] */ VARIANT *pVtData);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Hook )( 
            IRsBaseNode * This,
            /* [in] */ IRsNotify *pListener);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *HookEx )( 
            IRsBaseNode * This,
            /* [in] */ IRsNotify *pListener,
            /* [in] */ RtDWORD dwEventMask,
            /* [in] */ RtBool bFullRollbackScan);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Unhook )( 
            IRsBaseNode * This,
            /* [in] */ IRsNotify *pListener);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *EnumNotifiedNodes )( 
            IRsBaseNode * This,
            /* [out] */ IRsEnumNodes **ppEnum);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetDesc )( 
            IRsBaseNode * This,
            /* [retval][out] */ IUnknown **ppDesc);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *IsDirty )( 
            IRsBaseNode * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Load )( 
            IRsBaseNode * This,
            /* [in] */ IStream *pStm,
            /* [in] */ RtObjFileHeaderInfo *pObjFileHeaderInfo);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Save )( 
            IRsBaseNode * This,
            /* [in] */ IStream *pStm,
            /* [in] */ RtBOOL fClearDirty);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetFileHeaderInfo )( 
            IRsBaseNode * This,
            /* [retval][out] */ RtObjFileHeaderInfo *pcbSize);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetPersistentID )( 
            IRsBaseNode * This,
            /* [in] */ RtPersistId *pPersistId);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *PostLoad )( 
            IRsBaseNode * This,
            /* [in] */ IRsConSolver *pPostLoad);
        
        END_INTERFACE
    } IRsBaseNodeVtbl;

    interface IRsBaseNode
    {
        CONST_VTBL struct IRsBaseNodeVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsBaseNode_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsBaseNode_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsBaseNode_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsBaseNode_GetValue(This,con_id,pVtData)	\
    (This)->lpVtbl -> GetValue(This,con_id,pVtData)

#define IRsBaseNode_SetValue(This,con_id,vtData)	\
    (This)->lpVtbl -> SetValue(This,con_id,vtData)

#define IRsBaseNode_Invalidate(This,con_id)	\
    (This)->lpVtbl -> Invalidate(This,con_id)

#define IRsBaseNode_Initialize(This)	\
    (This)->lpVtbl -> Initialize(This)

#define IRsBaseNode_LoadDefault(This)	\
    (This)->lpVtbl -> LoadDefault(This)

#define IRsBaseNode_Destroy(This)	\
    (This)->lpVtbl -> Destroy(This)

#define IRsBaseNode_GetDefaultValue(This,con_id,pVtData)	\
    (This)->lpVtbl -> GetDefaultValue(This,con_id,pVtData)

#define IRsBaseNode_GetDataStatus(This,con_id,pDataStatus)	\
    (This)->lpVtbl -> GetDataStatus(This,con_id,pDataStatus)

#define IRsBaseNode_get_Name(This,pVal)	\
    (This)->lpVtbl -> get_Name(This,pVal)

#define IRsBaseNode_put_Name(This,newVal)	\
    (This)->lpVtbl -> put_Name(This,newVal)

#define IRsBaseNode_GetFullName(This,pRootNode,pVal)	\
    (This)->lpVtbl -> GetFullName(This,pRootNode,pVal)

#define IRsBaseNode_NameRegistered(This,bRegistered)	\
    (This)->lpVtbl -> NameRegistered(This,bRegistered)

#define IRsBaseNode_GetOwner(This,ppRemNode)	\
    (This)->lpVtbl -> GetOwner(This,ppRemNode)

#define IRsBaseNode_GetLocRntId(This,plocRntId)	\
    (This)->lpVtbl -> GetLocRntId(This,plocRntId)


#define IRsBaseNode_AddConnector(This,pCon)	\
    (This)->lpVtbl -> AddConnector(This,pCon)

#define IRsBaseNode_RemoveConnector(This,pCon)	\
    (This)->lpVtbl -> RemoveConnector(This,pCon)

#define IRsBaseNode_GetLinks(This,con_Id,pConnection)	\
    (This)->lpVtbl -> GetLinks(This,con_Id,pConnection)

#define IRsBaseNode_FindConById(This,con_id,ppCon)	\
    (This)->lpVtbl -> FindConById(This,con_id,ppCon)

#define IRsBaseNode_FindConByName(This,bstrName,ppCon)	\
    (This)->lpVtbl -> FindConByName(This,bstrName,ppCon)

#define IRsBaseNode_DisconnectAllConnectors(This)	\
    (This)->lpVtbl -> DisconnectAllConnectors(This)

#define IRsBaseNode_CreateConnector(This,pConDesc,ppCon)	\
    (This)->lpVtbl -> CreateConnector(This,pConDesc,ppCon)

#define IRsBaseNode_AddNewConnector(This,pDesc,ppCon)	\
    (This)->lpVtbl -> AddNewConnector(This,pDesc,ppCon)

#define IRsBaseNode_AddRegisteredConnector(This,con_Id,ppCon)	\
    (This)->lpVtbl -> AddRegisteredConnector(This,con_Id,ppCon)

#define IRsBaseNode_CreateConnectorDescriptor(This,desc,ppConDesc)	\
    (This)->lpVtbl -> CreateConnectorDescriptor(This,desc,ppConDesc)

#define IRsBaseNode_ConnectorLinksCount(This,con_id,numCon)	\
    (This)->lpVtbl -> ConnectorLinksCount(This,con_id,numCon)

#define IRsBaseNode_ConnectorsCount(This,pCount)	\
    (This)->lpVtbl -> ConnectorsCount(This,pCount)

#define IRsBaseNode_GetConnector(This,uIndex,ppCon)	\
    (This)->lpVtbl -> GetConnector(This,uIndex,ppCon)

#define IRsBaseNode_GetConnectors(This,ppConectors)	\
    (This)->lpVtbl -> GetConnectors(This,ppConectors)

#define IRsBaseNode_GenerateConnectorName(This,bstrBaseName,pRetName)	\
    (This)->lpVtbl -> GenerateConnectorName(This,bstrBaseName,pRetName)

#define IRsBaseNode_ConnectToConnector(This,con_Id,pRemNode,remConID)	\
    (This)->lpVtbl -> ConnectToConnector(This,con_Id,pRemNode,remConID)

#define IRsBaseNode_DisconnectFromConnector(This,con_Id,pRemNode,remConId)	\
    (This)->lpVtbl -> DisconnectFromConnector(This,con_Id,pRemNode,remConId)

#define IRsBaseNode_Notify(This,pEvent)	\
    (This)->lpVtbl -> Notify(This,pEvent)

#define IRsBaseNode_SentNotifyEvent(This,eEvent,pCon,pVtData)	\
    (This)->lpVtbl -> SentNotifyEvent(This,eEvent,pCon,pVtData)

#define IRsBaseNode_Hook(This,pListener)	\
    (This)->lpVtbl -> Hook(This,pListener)

#define IRsBaseNode_HookEx(This,pListener,dwEventMask,bFullRollbackScan)	\
    (This)->lpVtbl -> HookEx(This,pListener,dwEventMask,bFullRollbackScan)

#define IRsBaseNode_Unhook(This,pListener)	\
    (This)->lpVtbl -> Unhook(This,pListener)

#define IRsBaseNode_EnumNotifiedNodes(This,ppEnum)	\
    (This)->lpVtbl -> EnumNotifiedNodes(This,ppEnum)

#define IRsBaseNode_GetDesc(This,ppDesc)	\
    (This)->lpVtbl -> GetDesc(This,ppDesc)

#define IRsBaseNode_IsDirty(This)	\
    (This)->lpVtbl -> IsDirty(This)

#define IRsBaseNode_Load(This,pStm,pObjFileHeaderInfo)	\
    (This)->lpVtbl -> Load(This,pStm,pObjFileHeaderInfo)

#define IRsBaseNode_Save(This,pStm,fClearDirty)	\
    (This)->lpVtbl -> Save(This,pStm,fClearDirty)

#define IRsBaseNode_GetFileHeaderInfo(This,pcbSize)	\
    (This)->lpVtbl -> GetFileHeaderInfo(This,pcbSize)

#define IRsBaseNode_GetPersistentID(This,pPersistId)	\
    (This)->lpVtbl -> GetPersistentID(This,pPersistId)

#define IRsBaseNode_PostLoad(This,pPostLoad)	\
    (This)->lpVtbl -> PostLoad(This,pPostLoad)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsBaseNode_AddConnector_Proxy( 
    IRsBaseNode * This,
    /* [in] */ IRsConnector *pCon);


void __RPC_STUB IRsBaseNode_AddConnector_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsBaseNode_RemoveConnector_Proxy( 
    IRsBaseNode * This,
    /* [in] */ IRsConnector *pCon);


void __RPC_STUB IRsBaseNode_RemoveConnector_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsBaseNode_GetLinks_Proxy( 
    IRsBaseNode * This,
    /* [in] */ CONID con_Id,
    /* [out][in] */ SAFEARRAY **pConnection);


void __RPC_STUB IRsBaseNode_GetLinks_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsBaseNode_FindConById_Proxy( 
    IRsBaseNode * This,
    /* [in] */ CONID con_id,
    /* [retval][out] */ IRsConnector **ppCon);


void __RPC_STUB IRsBaseNode_FindConById_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsBaseNode_FindConByName_Proxy( 
    IRsBaseNode * This,
    /* [in] */ LPCWSTR bstrName,
    /* [retval][out] */ IRsConnector **ppCon);


void __RPC_STUB IRsBaseNode_FindConByName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsBaseNode_DisconnectAllConnectors_Proxy( 
    IRsBaseNode * This);


void __RPC_STUB IRsBaseNode_DisconnectAllConnectors_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsBaseNode_CreateConnector_Proxy( 
    IRsBaseNode * This,
    /* [in] */ IRsConDescriptor *pConDesc,
    /* [retval][out] */ IRsConnector **ppCon);


void __RPC_STUB IRsBaseNode_CreateConnector_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsBaseNode_AddNewConnector_Proxy( 
    IRsBaseNode * This,
    /* [in] */ RtConDesc *pDesc,
    /* [retval][out] */ IRsConnector **ppCon);


void __RPC_STUB IRsBaseNode_AddNewConnector_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsBaseNode_AddRegisteredConnector_Proxy( 
    IRsBaseNode * This,
    /* [in] */ CONID con_Id,
    /* [out][in] */ IRsConnector **ppCon);


void __RPC_STUB IRsBaseNode_AddRegisteredConnector_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsBaseNode_CreateConnectorDescriptor_Proxy( 
    IRsBaseNode * This,
    /* [in] */ RtConDesc *desc,
    /* [retval][out] */ IRsConDescriptor **ppConDesc);


void __RPC_STUB IRsBaseNode_CreateConnectorDescriptor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsBaseNode_ConnectorLinksCount_Proxy( 
    IRsBaseNode * This,
    /* [in] */ CONID con_id,
    /* [retval][out] */ RtUlong *numCon);


void __RPC_STUB IRsBaseNode_ConnectorLinksCount_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsBaseNode_ConnectorsCount_Proxy( 
    IRsBaseNode * This,
    /* [retval][out] */ RtUlong *pCount);


void __RPC_STUB IRsBaseNode_ConnectorsCount_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsBaseNode_GetConnector_Proxy( 
    IRsBaseNode * This,
    /* [in] */ RtUlong uIndex,
    /* [retval][out] */ IRsConnector **ppCon);


void __RPC_STUB IRsBaseNode_GetConnector_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsBaseNode_GetConnectors_Proxy( 
    IRsBaseNode * This,
    /* [retval][out] */ SAFEARRAY **ppConectors);


void __RPC_STUB IRsBaseNode_GetConnectors_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsBaseNode_GenerateConnectorName_Proxy( 
    IRsBaseNode * This,
    /* [in] */ const BSTR bstrBaseName,
    /* [retval][out] */ BSTR *pRetName);


void __RPC_STUB IRsBaseNode_GenerateConnectorName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsBaseNode_ConnectToConnector_Proxy( 
    IRsBaseNode * This,
    /* [in] */ CONID con_Id,
    /* [in] */ IRsBaseNode *pRemNode,
    /* [in] */ CONID remConID);


void __RPC_STUB IRsBaseNode_ConnectToConnector_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsBaseNode_DisconnectFromConnector_Proxy( 
    IRsBaseNode * This,
    /* [in] */ CONID con_Id,
    /* [in] */ IRsBaseNode *pRemNode,
    /* [in] */ CONID remConId);


void __RPC_STUB IRsBaseNode_DisconnectFromConnector_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsBaseNode_Notify_Proxy( 
    IRsBaseNode * This,
    /* [in] */ IRsNotifyEvent *pEvent);


void __RPC_STUB IRsBaseNode_Notify_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsBaseNode_SentNotifyEvent_Proxy( 
    IRsBaseNode * This,
    /* [in] */ RtNotifyEvent eEvent,
    /* [in] */ IRsConnector *pCon,
    /* [in] */ VARIANT *pVtData);


void __RPC_STUB IRsBaseNode_SentNotifyEvent_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsBaseNode_Hook_Proxy( 
    IRsBaseNode * This,
    /* [in] */ IRsNotify *pListener);


void __RPC_STUB IRsBaseNode_Hook_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsBaseNode_HookEx_Proxy( 
    IRsBaseNode * This,
    /* [in] */ IRsNotify *pListener,
    /* [in] */ RtDWORD dwEventMask,
    /* [in] */ RtBool bFullRollbackScan);


void __RPC_STUB IRsBaseNode_HookEx_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsBaseNode_Unhook_Proxy( 
    IRsBaseNode * This,
    /* [in] */ IRsNotify *pListener);


void __RPC_STUB IRsBaseNode_Unhook_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsBaseNode_EnumNotifiedNodes_Proxy( 
    IRsBaseNode * This,
    /* [out] */ IRsEnumNodes **ppEnum);


void __RPC_STUB IRsBaseNode_EnumNotifiedNodes_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsBaseNode_GetDesc_Proxy( 
    IRsBaseNode * This,
    /* [retval][out] */ IUnknown **ppDesc);


void __RPC_STUB IRsBaseNode_GetDesc_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsBaseNode_IsDirty_Proxy( 
    IRsBaseNode * This);


void __RPC_STUB IRsBaseNode_IsDirty_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsBaseNode_Load_Proxy( 
    IRsBaseNode * This,
    /* [in] */ IStream *pStm,
    /* [in] */ RtObjFileHeaderInfo *pObjFileHeaderInfo);


void __RPC_STUB IRsBaseNode_Load_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsBaseNode_Save_Proxy( 
    IRsBaseNode * This,
    /* [in] */ IStream *pStm,
    /* [in] */ RtBOOL fClearDirty);


void __RPC_STUB IRsBaseNode_Save_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsBaseNode_GetFileHeaderInfo_Proxy( 
    IRsBaseNode * This,
    /* [retval][out] */ RtObjFileHeaderInfo *pcbSize);


void __RPC_STUB IRsBaseNode_GetFileHeaderInfo_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsBaseNode_GetPersistentID_Proxy( 
    IRsBaseNode * This,
    /* [in] */ RtPersistId *pPersistId);


void __RPC_STUB IRsBaseNode_GetPersistentID_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsBaseNode_PostLoad_Proxy( 
    IRsBaseNode * This,
    /* [in] */ IRsConSolver *pPostLoad);


void __RPC_STUB IRsBaseNode_PostLoad_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsBaseNode_INTERFACE_DEFINED__ */


#ifndef __IRsDebugBaseNode_INTERFACE_DEFINED__
#define __IRsDebugBaseNode_INTERFACE_DEFINED__

/* interface IRsDebugBaseNode */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsDebugBaseNode;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("CE0C1936-F4A9-4942-ABA7-95D9AFAB3764")
    IRsDebugBaseNode : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetDebugCreateInfo( 
            /* [in] */ BSTR bsFile,
            /* [in] */ int iLine) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetDebugCreateInfo( 
            /* [out] */ BSTR *pFile,
            /* [out] */ int *pLine) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OutputUnreleasedObjectDebugInfo( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsDebugBaseNodeVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsDebugBaseNode * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsDebugBaseNode * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsDebugBaseNode * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetDebugCreateInfo )( 
            IRsDebugBaseNode * This,
            /* [in] */ BSTR bsFile,
            /* [in] */ int iLine);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetDebugCreateInfo )( 
            IRsDebugBaseNode * This,
            /* [out] */ BSTR *pFile,
            /* [out] */ int *pLine);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OutputUnreleasedObjectDebugInfo )( 
            IRsDebugBaseNode * This);
        
        END_INTERFACE
    } IRsDebugBaseNodeVtbl;

    interface IRsDebugBaseNode
    {
        CONST_VTBL struct IRsDebugBaseNodeVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsDebugBaseNode_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsDebugBaseNode_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsDebugBaseNode_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsDebugBaseNode_SetDebugCreateInfo(This,bsFile,iLine)	\
    (This)->lpVtbl -> SetDebugCreateInfo(This,bsFile,iLine)

#define IRsDebugBaseNode_GetDebugCreateInfo(This,pFile,pLine)	\
    (This)->lpVtbl -> GetDebugCreateInfo(This,pFile,pLine)

#define IRsDebugBaseNode_OutputUnreleasedObjectDebugInfo(This)	\
    (This)->lpVtbl -> OutputUnreleasedObjectDebugInfo(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsDebugBaseNode_SetDebugCreateInfo_Proxy( 
    IRsDebugBaseNode * This,
    /* [in] */ BSTR bsFile,
    /* [in] */ int iLine);


void __RPC_STUB IRsDebugBaseNode_SetDebugCreateInfo_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsDebugBaseNode_GetDebugCreateInfo_Proxy( 
    IRsDebugBaseNode * This,
    /* [out] */ BSTR *pFile,
    /* [out] */ int *pLine);


void __RPC_STUB IRsDebugBaseNode_GetDebugCreateInfo_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsDebugBaseNode_OutputUnreleasedObjectDebugInfo_Proxy( 
    IRsDebugBaseNode * This);


void __RPC_STUB IRsDebugBaseNode_OutputUnreleasedObjectDebugInfo_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsDebugBaseNode_INTERFACE_DEFINED__ */


#ifndef __IRfBaseSet_INTERFACE_DEFINED__
#define __IRfBaseSet_INTERFACE_DEFINED__

/* interface IRfBaseSet */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRfBaseSet;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("2ACB837A-C4C8-4F0C-9C1B-38FA7F87D835")
    IRfBaseSet : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Attach( 
            /* [in] */ IRsNode *pNode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetObjectA( 
            /* [retval][out] */ IRsNode **ppNode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateBaseFnSet( 
            /* [in] */ IRsNode *pNode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE StoreInputConnections( 
            /* [in] */ CONID con_id,
            /* [out] */ IRsConnectionList **ppConList) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE StoreOutputConnections( 
            /* [in] */ CONID con_id,
            /* [out] */ IRsConnectionList **ppConList) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RemoveInputConnections( 
            /* [in] */ CONID con_id,
            /* [out] */ IRsConnectionList **ppConList) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetConnections( 
            /* [in] */ CONID con_id,
            /* [out] */ IRsConnectionList **ppConnectionList) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetAllConnections( 
            /* [out] */ IRsConnectionList **ppList) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE InvalidateAllCon( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRfBaseSetVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRfBaseSet * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRfBaseSet * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRfBaseSet * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Attach )( 
            IRfBaseSet * This,
            /* [in] */ IRsNode *pNode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetObjectA )( 
            IRfBaseSet * This,
            /* [retval][out] */ IRsNode **ppNode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateBaseFnSet )( 
            IRfBaseSet * This,
            /* [in] */ IRsNode *pNode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *StoreInputConnections )( 
            IRfBaseSet * This,
            /* [in] */ CONID con_id,
            /* [out] */ IRsConnectionList **ppConList);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *StoreOutputConnections )( 
            IRfBaseSet * This,
            /* [in] */ CONID con_id,
            /* [out] */ IRsConnectionList **ppConList);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RemoveInputConnections )( 
            IRfBaseSet * This,
            /* [in] */ CONID con_id,
            /* [out] */ IRsConnectionList **ppConList);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetConnections )( 
            IRfBaseSet * This,
            /* [in] */ CONID con_id,
            /* [out] */ IRsConnectionList **ppConnectionList);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetAllConnections )( 
            IRfBaseSet * This,
            /* [out] */ IRsConnectionList **ppList);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *InvalidateAllCon )( 
            IRfBaseSet * This);
        
        END_INTERFACE
    } IRfBaseSetVtbl;

    interface IRfBaseSet
    {
        CONST_VTBL struct IRfBaseSetVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRfBaseSet_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRfBaseSet_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRfBaseSet_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRfBaseSet_Attach(This,pNode)	\
    (This)->lpVtbl -> Attach(This,pNode)

#define IRfBaseSet_GetObjectA(This,ppNode)	\
    (This)->lpVtbl -> GetObjectA(This,ppNode)

#define IRfBaseSet_CreateBaseFnSet(This,pNode)	\
    (This)->lpVtbl -> CreateBaseFnSet(This,pNode)

#define IRfBaseSet_StoreInputConnections(This,con_id,ppConList)	\
    (This)->lpVtbl -> StoreInputConnections(This,con_id,ppConList)

#define IRfBaseSet_StoreOutputConnections(This,con_id,ppConList)	\
    (This)->lpVtbl -> StoreOutputConnections(This,con_id,ppConList)

#define IRfBaseSet_RemoveInputConnections(This,con_id,ppConList)	\
    (This)->lpVtbl -> RemoveInputConnections(This,con_id,ppConList)

#define IRfBaseSet_GetConnections(This,con_id,ppConnectionList)	\
    (This)->lpVtbl -> GetConnections(This,con_id,ppConnectionList)

#define IRfBaseSet_GetAllConnections(This,ppList)	\
    (This)->lpVtbl -> GetAllConnections(This,ppList)

#define IRfBaseSet_InvalidateAllCon(This)	\
    (This)->lpVtbl -> InvalidateAllCon(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfBaseSet_Attach_Proxy( 
    IRfBaseSet * This,
    /* [in] */ IRsNode *pNode);


void __RPC_STUB IRfBaseSet_Attach_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfBaseSet_GetObjectA_Proxy( 
    IRfBaseSet * This,
    /* [retval][out] */ IRsNode **ppNode);


void __RPC_STUB IRfBaseSet_GetObjectA_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfBaseSet_CreateBaseFnSet_Proxy( 
    IRfBaseSet * This,
    /* [in] */ IRsNode *pNode);


void __RPC_STUB IRfBaseSet_CreateBaseFnSet_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfBaseSet_StoreInputConnections_Proxy( 
    IRfBaseSet * This,
    /* [in] */ CONID con_id,
    /* [out] */ IRsConnectionList **ppConList);


void __RPC_STUB IRfBaseSet_StoreInputConnections_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfBaseSet_StoreOutputConnections_Proxy( 
    IRfBaseSet * This,
    /* [in] */ CONID con_id,
    /* [out] */ IRsConnectionList **ppConList);


void __RPC_STUB IRfBaseSet_StoreOutputConnections_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfBaseSet_RemoveInputConnections_Proxy( 
    IRfBaseSet * This,
    /* [in] */ CONID con_id,
    /* [out] */ IRsConnectionList **ppConList);


void __RPC_STUB IRfBaseSet_RemoveInputConnections_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfBaseSet_GetConnections_Proxy( 
    IRfBaseSet * This,
    /* [in] */ CONID con_id,
    /* [out] */ IRsConnectionList **ppConnectionList);


void __RPC_STUB IRfBaseSet_GetConnections_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfBaseSet_GetAllConnections_Proxy( 
    IRfBaseSet * This,
    /* [out] */ IRsConnectionList **ppList);


void __RPC_STUB IRfBaseSet_GetAllConnections_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfBaseSet_InvalidateAllCon_Proxy( 
    IRfBaseSet * This);


void __RPC_STUB IRfBaseSet_InvalidateAllCon_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRfBaseSet_INTERFACE_DEFINED__ */


/* interface __MIDL_itf__Kernel_0853 */
/* [local] */ 

typedef 
enum _tagReEncapsMessage
    {	EMSG_NO_MESSAGE	= 0,
	EMSG_SHUT_DOWN	= 1,
	EMSG_POST_LOAD	= 3,
	EMSG_PRE_SAVE	= 4,
	EMSG_POST_SAVE	= 5,
	EMSG_CONTEXT_DESTROY	= 6,
	EMSG_LAYOUT_DESTROY	= 7,
	EMSG_CONTEXT_LOADED	= 8,
	EMSG_CHANGED_OWNER_ID	= 9
    } 	ReEncapsMessage;



extern RPC_IF_HANDLE __MIDL_itf__Kernel_0853_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf__Kernel_0853_v0_0_s_ifspec;

#ifndef __IRnEncapsulator_INTERFACE_DEFINED__
#define __IRnEncapsulator_INTERFACE_DEFINED__

/* interface IRnEncapsulator */
/* [unique][helpstring][uuid][local][object] */ 


EXTERN_C const IID IID_IRnEncapsulator;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("649B82DC-EFDC-4BB3-A511-1AB075F63DFF")
    IRnEncapsulator : public IRsObject
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddSubObject( 
            /* [in] */ IRsNode *pNode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetSubObjectCount( 
            /* [retval][out] */ RtUlong *pNumSubObjs) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetSubObject( 
            /* [in] */ RtUlong index,
            /* [retval][out] */ IRsNode **ppSubObj) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetSubObjects( 
            /* [retval][out] */ SAFEARRAY **ppSubObjs) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetOwner( 
            /* [retval][out] */ IRnEncapsulator **ppOwner) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RemoveSubObject( 
            /* [in] */ IRsNode *pSubObj) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Type( 
            /* [retval][out] */ GUID *pId) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE FindNodeByName( 
            /* [in] */ LPCWSTR bstrName,
            /* [retval][out] */ IRsNode **ppNode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE FindConByFullName( 
            /* [in] */ LPCWSTR bstrName,
            /* [retval][out] */ IRsConnector **ppCon) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GenerateNodeName( 
            /* [in] */ const BSTR bstrBaseName,
            /* [retval][out] */ BSTR *pRetName) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RegisterNodeName( 
            /* [in] */ IRsNode *pNode,
            /* [in] */ const BSTR bstrName) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE UnregisterNodeName( 
            /* [in] */ IRsNode *pNode,
            /* [in] */ const BSTR bstrName) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE EnumSubObjects( 
            /* [out] */ IRsEnumNodes **ppEnum) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRnEncapsulatorVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnEncapsulator * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnEncapsulator * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnEncapsulator * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassId )( 
            IRnEncapsulator * This,
            /* [retval][out] */ GUID *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassName )( 
            IRnEncapsulator * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddSubObject )( 
            IRnEncapsulator * This,
            /* [in] */ IRsNode *pNode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetSubObjectCount )( 
            IRnEncapsulator * This,
            /* [retval][out] */ RtUlong *pNumSubObjs);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetSubObject )( 
            IRnEncapsulator * This,
            /* [in] */ RtUlong index,
            /* [retval][out] */ IRsNode **ppSubObj);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetSubObjects )( 
            IRnEncapsulator * This,
            /* [retval][out] */ SAFEARRAY **ppSubObjs);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetOwner )( 
            IRnEncapsulator * This,
            /* [retval][out] */ IRnEncapsulator **ppOwner);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RemoveSubObject )( 
            IRnEncapsulator * This,
            /* [in] */ IRsNode *pSubObj);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Type )( 
            IRnEncapsulator * This,
            /* [retval][out] */ GUID *pId);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *FindNodeByName )( 
            IRnEncapsulator * This,
            /* [in] */ LPCWSTR bstrName,
            /* [retval][out] */ IRsNode **ppNode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *FindConByFullName )( 
            IRnEncapsulator * This,
            /* [in] */ LPCWSTR bstrName,
            /* [retval][out] */ IRsConnector **ppCon);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GenerateNodeName )( 
            IRnEncapsulator * This,
            /* [in] */ const BSTR bstrBaseName,
            /* [retval][out] */ BSTR *pRetName);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RegisterNodeName )( 
            IRnEncapsulator * This,
            /* [in] */ IRsNode *pNode,
            /* [in] */ const BSTR bstrName);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *UnregisterNodeName )( 
            IRnEncapsulator * This,
            /* [in] */ IRsNode *pNode,
            /* [in] */ const BSTR bstrName);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *EnumSubObjects )( 
            IRnEncapsulator * This,
            /* [out] */ IRsEnumNodes **ppEnum);
        
        END_INTERFACE
    } IRnEncapsulatorVtbl;

    interface IRnEncapsulator
    {
        CONST_VTBL struct IRnEncapsulatorVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnEncapsulator_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnEncapsulator_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnEncapsulator_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRnEncapsulator_get_ClassId(This,pVal)	\
    (This)->lpVtbl -> get_ClassId(This,pVal)

#define IRnEncapsulator_get_ClassName(This,pVal)	\
    (This)->lpVtbl -> get_ClassName(This,pVal)


#define IRnEncapsulator_AddSubObject(This,pNode)	\
    (This)->lpVtbl -> AddSubObject(This,pNode)

#define IRnEncapsulator_GetSubObjectCount(This,pNumSubObjs)	\
    (This)->lpVtbl -> GetSubObjectCount(This,pNumSubObjs)

#define IRnEncapsulator_GetSubObject(This,index,ppSubObj)	\
    (This)->lpVtbl -> GetSubObject(This,index,ppSubObj)

#define IRnEncapsulator_GetSubObjects(This,ppSubObjs)	\
    (This)->lpVtbl -> GetSubObjects(This,ppSubObjs)

#define IRnEncapsulator_GetOwner(This,ppOwner)	\
    (This)->lpVtbl -> GetOwner(This,ppOwner)

#define IRnEncapsulator_RemoveSubObject(This,pSubObj)	\
    (This)->lpVtbl -> RemoveSubObject(This,pSubObj)

#define IRnEncapsulator_Type(This,pId)	\
    (This)->lpVtbl -> Type(This,pId)

#define IRnEncapsulator_FindNodeByName(This,bstrName,ppNode)	\
    (This)->lpVtbl -> FindNodeByName(This,bstrName,ppNode)

#define IRnEncapsulator_FindConByFullName(This,bstrName,ppCon)	\
    (This)->lpVtbl -> FindConByFullName(This,bstrName,ppCon)

#define IRnEncapsulator_GenerateNodeName(This,bstrBaseName,pRetName)	\
    (This)->lpVtbl -> GenerateNodeName(This,bstrBaseName,pRetName)

#define IRnEncapsulator_RegisterNodeName(This,pNode,bstrName)	\
    (This)->lpVtbl -> RegisterNodeName(This,pNode,bstrName)

#define IRnEncapsulator_UnregisterNodeName(This,pNode,bstrName)	\
    (This)->lpVtbl -> UnregisterNodeName(This,pNode,bstrName)

#define IRnEncapsulator_EnumSubObjects(This,ppEnum)	\
    (This)->lpVtbl -> EnumSubObjects(This,ppEnum)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnEncapsulator_AddSubObject_Proxy( 
    IRnEncapsulator * This,
    /* [in] */ IRsNode *pNode);


void __RPC_STUB IRnEncapsulator_AddSubObject_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnEncapsulator_GetSubObjectCount_Proxy( 
    IRnEncapsulator * This,
    /* [retval][out] */ RtUlong *pNumSubObjs);


void __RPC_STUB IRnEncapsulator_GetSubObjectCount_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnEncapsulator_GetSubObject_Proxy( 
    IRnEncapsulator * This,
    /* [in] */ RtUlong index,
    /* [retval][out] */ IRsNode **ppSubObj);


void __RPC_STUB IRnEncapsulator_GetSubObject_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnEncapsulator_GetSubObjects_Proxy( 
    IRnEncapsulator * This,
    /* [retval][out] */ SAFEARRAY **ppSubObjs);


void __RPC_STUB IRnEncapsulator_GetSubObjects_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnEncapsulator_GetOwner_Proxy( 
    IRnEncapsulator * This,
    /* [retval][out] */ IRnEncapsulator **ppOwner);


void __RPC_STUB IRnEncapsulator_GetOwner_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnEncapsulator_RemoveSubObject_Proxy( 
    IRnEncapsulator * This,
    /* [in] */ IRsNode *pSubObj);


void __RPC_STUB IRnEncapsulator_RemoveSubObject_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnEncapsulator_Type_Proxy( 
    IRnEncapsulator * This,
    /* [retval][out] */ GUID *pId);


void __RPC_STUB IRnEncapsulator_Type_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnEncapsulator_FindNodeByName_Proxy( 
    IRnEncapsulator * This,
    /* [in] */ LPCWSTR bstrName,
    /* [retval][out] */ IRsNode **ppNode);


void __RPC_STUB IRnEncapsulator_FindNodeByName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnEncapsulator_FindConByFullName_Proxy( 
    IRnEncapsulator * This,
    /* [in] */ LPCWSTR bstrName,
    /* [retval][out] */ IRsConnector **ppCon);


void __RPC_STUB IRnEncapsulator_FindConByFullName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnEncapsulator_GenerateNodeName_Proxy( 
    IRnEncapsulator * This,
    /* [in] */ const BSTR bstrBaseName,
    /* [retval][out] */ BSTR *pRetName);


void __RPC_STUB IRnEncapsulator_GenerateNodeName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnEncapsulator_RegisterNodeName_Proxy( 
    IRnEncapsulator * This,
    /* [in] */ IRsNode *pNode,
    /* [in] */ const BSTR bstrName);


void __RPC_STUB IRnEncapsulator_RegisterNodeName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnEncapsulator_UnregisterNodeName_Proxy( 
    IRnEncapsulator * This,
    /* [in] */ IRsNode *pNode,
    /* [in] */ const BSTR bstrName);


void __RPC_STUB IRnEncapsulator_UnregisterNodeName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnEncapsulator_EnumSubObjects_Proxy( 
    IRnEncapsulator * This,
    /* [out] */ IRsEnumNodes **ppEnum);


void __RPC_STUB IRnEncapsulator_EnumSubObjects_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRnEncapsulator_INTERFACE_DEFINED__ */


#ifndef __IRsUnknownBSEvent_INTERFACE_DEFINED__
#define __IRsUnknownBSEvent_INTERFACE_DEFINED__

/* interface IRsUnknownBSEvent */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsUnknownBSEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("58DD84F2-E3FB-4c0d-B440-54778EF82814")
    IRsUnknownBSEvent : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Apply( 
            /* [in] */ IRnEncapsulator *pSpace) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Rollback( 
            /* [in] */ IRnEncapsulator *pSpace) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Destroy( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsUnknownBSEventVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsUnknownBSEvent * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsUnknownBSEvent * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsUnknownBSEvent * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Apply )( 
            IRsUnknownBSEvent * This,
            /* [in] */ IRnEncapsulator *pSpace);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Rollback )( 
            IRsUnknownBSEvent * This,
            /* [in] */ IRnEncapsulator *pSpace);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Destroy )( 
            IRsUnknownBSEvent * This);
        
        END_INTERFACE
    } IRsUnknownBSEventVtbl;

    interface IRsUnknownBSEvent
    {
        CONST_VTBL struct IRsUnknownBSEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsUnknownBSEvent_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsUnknownBSEvent_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsUnknownBSEvent_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsUnknownBSEvent_Apply(This,pSpace)	\
    (This)->lpVtbl -> Apply(This,pSpace)

#define IRsUnknownBSEvent_Rollback(This,pSpace)	\
    (This)->lpVtbl -> Rollback(This,pSpace)

#define IRsUnknownBSEvent_Destroy(This)	\
    (This)->lpVtbl -> Destroy(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsUnknownBSEvent_Apply_Proxy( 
    IRsUnknownBSEvent * This,
    /* [in] */ IRnEncapsulator *pSpace);


void __RPC_STUB IRsUnknownBSEvent_Apply_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsUnknownBSEvent_Rollback_Proxy( 
    IRsUnknownBSEvent * This,
    /* [in] */ IRnEncapsulator *pSpace);


void __RPC_STUB IRsUnknownBSEvent_Rollback_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsUnknownBSEvent_Destroy_Proxy( 
    IRsUnknownBSEvent * This);


void __RPC_STUB IRsUnknownBSEvent_Destroy_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsUnknownBSEvent_INTERFACE_DEFINED__ */


#ifndef __IRsBSEvent_INTERFACE_DEFINED__
#define __IRsBSEvent_INTERFACE_DEFINED__

/* interface IRsBSEvent */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsBSEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("98E31A36-1E64-4AA7-A641-8C92BEC6E40B")
    IRsBSEvent : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetData( 
            /* [in] */ IRsNode *pSpace,
            /* [in] */ IRsNotifyEvent *pEvent) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Type( 
            /* [retval][out] */ RtNotifyEvent *pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetSourceObj( 
            /* [in] */ IRnEncapsulator *pSpace,
            /* [retval][out] */ IRsNode **ppNode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetRemoteObj( 
            /* [in] */ IRnEncapsulator *pSpace,
            /* [retval][out] */ IRsNode **ppNode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetSourceObjName( 
            /* [retval][out] */ BSTR *pbstrName) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetRemoteObjName( 
            /* [retval][out] */ BSTR *pbstrName) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetRollbackStatus( 
            /* [in] */ RtBOOL bSerializeRollback) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsBSEventVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsBSEvent * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsBSEvent * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsBSEvent * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetData )( 
            IRsBSEvent * This,
            /* [in] */ IRsNode *pSpace,
            /* [in] */ IRsNotifyEvent *pEvent);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            IRsBSEvent * This,
            /* [retval][out] */ RtNotifyEvent *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetSourceObj )( 
            IRsBSEvent * This,
            /* [in] */ IRnEncapsulator *pSpace,
            /* [retval][out] */ IRsNode **ppNode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetRemoteObj )( 
            IRsBSEvent * This,
            /* [in] */ IRnEncapsulator *pSpace,
            /* [retval][out] */ IRsNode **ppNode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetSourceObjName )( 
            IRsBSEvent * This,
            /* [retval][out] */ BSTR *pbstrName);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetRemoteObjName )( 
            IRsBSEvent * This,
            /* [retval][out] */ BSTR *pbstrName);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetRollbackStatus )( 
            IRsBSEvent * This,
            /* [in] */ RtBOOL bSerializeRollback);
        
        END_INTERFACE
    } IRsBSEventVtbl;

    interface IRsBSEvent
    {
        CONST_VTBL struct IRsBSEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsBSEvent_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsBSEvent_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsBSEvent_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsBSEvent_SetData(This,pSpace,pEvent)	\
    (This)->lpVtbl -> SetData(This,pSpace,pEvent)

#define IRsBSEvent_get_Type(This,pVal)	\
    (This)->lpVtbl -> get_Type(This,pVal)

#define IRsBSEvent_GetSourceObj(This,pSpace,ppNode)	\
    (This)->lpVtbl -> GetSourceObj(This,pSpace,ppNode)

#define IRsBSEvent_GetRemoteObj(This,pSpace,ppNode)	\
    (This)->lpVtbl -> GetRemoteObj(This,pSpace,ppNode)

#define IRsBSEvent_GetSourceObjName(This,pbstrName)	\
    (This)->lpVtbl -> GetSourceObjName(This,pbstrName)

#define IRsBSEvent_GetRemoteObjName(This,pbstrName)	\
    (This)->lpVtbl -> GetRemoteObjName(This,pbstrName)

#define IRsBSEvent_SetRollbackStatus(This,bSerializeRollback)	\
    (This)->lpVtbl -> SetRollbackStatus(This,bSerializeRollback)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsBSEvent_SetData_Proxy( 
    IRsBSEvent * This,
    /* [in] */ IRsNode *pSpace,
    /* [in] */ IRsNotifyEvent *pEvent);


void __RPC_STUB IRsBSEvent_SetData_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRsBSEvent_get_Type_Proxy( 
    IRsBSEvent * This,
    /* [retval][out] */ RtNotifyEvent *pVal);


void __RPC_STUB IRsBSEvent_get_Type_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsBSEvent_GetSourceObj_Proxy( 
    IRsBSEvent * This,
    /* [in] */ IRnEncapsulator *pSpace,
    /* [retval][out] */ IRsNode **ppNode);


void __RPC_STUB IRsBSEvent_GetSourceObj_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsBSEvent_GetRemoteObj_Proxy( 
    IRsBSEvent * This,
    /* [in] */ IRnEncapsulator *pSpace,
    /* [retval][out] */ IRsNode **ppNode);


void __RPC_STUB IRsBSEvent_GetRemoteObj_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsBSEvent_GetSourceObjName_Proxy( 
    IRsBSEvent * This,
    /* [retval][out] */ BSTR *pbstrName);


void __RPC_STUB IRsBSEvent_GetSourceObjName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsBSEvent_GetRemoteObjName_Proxy( 
    IRsBSEvent * This,
    /* [retval][out] */ BSTR *pbstrName);


void __RPC_STUB IRsBSEvent_GetRemoteObjName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsBSEvent_SetRollbackStatus_Proxy( 
    IRsBSEvent * This,
    /* [in] */ RtBOOL bSerializeRollback);


void __RPC_STUB IRsBSEvent_SetRollbackStatus_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsBSEvent_INTERFACE_DEFINED__ */


#ifndef __IRsConData_INTERFACE_DEFINED__
#define __IRsConData_INTERFACE_DEFINED__

/* interface IRsConData */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsConData;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("E38FFC43-F819-4cdf-A581-29610D9A462B")
    IRsConData : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Create( 
            /* [in] */ IRsConnector *pCon,
            /* [in] */ VARIANT *pVtConData) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Connector( 
            /* [out] */ IRsConnector **ppCon) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE EventData( 
            /* [out] */ VARIANT *pVtData) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsConDataVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsConData * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsConData * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsConData * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Create )( 
            IRsConData * This,
            /* [in] */ IRsConnector *pCon,
            /* [in] */ VARIANT *pVtConData);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Connector )( 
            IRsConData * This,
            /* [out] */ IRsConnector **ppCon);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *EventData )( 
            IRsConData * This,
            /* [out] */ VARIANT *pVtData);
        
        END_INTERFACE
    } IRsConDataVtbl;

    interface IRsConData
    {
        CONST_VTBL struct IRsConDataVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsConData_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsConData_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsConData_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsConData_Create(This,pCon,pVtConData)	\
    (This)->lpVtbl -> Create(This,pCon,pVtConData)

#define IRsConData_Connector(This,ppCon)	\
    (This)->lpVtbl -> Connector(This,ppCon)

#define IRsConData_EventData(This,pVtData)	\
    (This)->lpVtbl -> EventData(This,pVtData)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsConData_Create_Proxy( 
    IRsConData * This,
    /* [in] */ IRsConnector *pCon,
    /* [in] */ VARIANT *pVtConData);


void __RPC_STUB IRsConData_Create_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsConData_Connector_Proxy( 
    IRsConData * This,
    /* [out] */ IRsConnector **ppCon);


void __RPC_STUB IRsConData_Connector_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsConData_EventData_Proxy( 
    IRsConData * This,
    /* [out] */ VARIANT *pVtData);


void __RPC_STUB IRsConData_EventData_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsConData_INTERFACE_DEFINED__ */


#ifndef __IRsBSEAddCon_INTERFACE_DEFINED__
#define __IRsBSEAddCon_INTERFACE_DEFINED__

/* interface IRsBSEAddCon */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsBSEAddCon;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("E8B5CA03-C661-4584-9206-A424AC789B06")
    IRsBSEAddCon : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRsBSEAddConVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsBSEAddCon * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsBSEAddCon * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsBSEAddCon * This);
        
        END_INTERFACE
    } IRsBSEAddConVtbl;

    interface IRsBSEAddCon
    {
        CONST_VTBL struct IRsBSEAddConVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsBSEAddCon_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsBSEAddCon_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsBSEAddCon_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRsBSEAddCon_INTERFACE_DEFINED__ */


/* interface __MIDL_itf__Kernel_0858 */
/* [local] */ 

typedef ULARGE_INTEGER RtBSEObjectId;



extern RPC_IF_HANDLE __MIDL_itf__Kernel_0858_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf__Kernel_0858_v0_0_s_ifspec;

#ifndef __IRsBSEIdRegister_INTERFACE_DEFINED__
#define __IRsBSEIdRegister_INTERFACE_DEFINED__

/* interface IRsBSEIdRegister */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsBSEIdRegister;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("32544BCF-4CE1-4beb-AD44-ED0557006655")
    IRsBSEIdRegister : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Register( 
            /* [in] */ BSTR bstrName,
            /* [in] */ RtBSEObjectId idObj) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE UnregisterId( 
            /* [in] */ RtBSEObjectId idObj) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE UnregisterName( 
            /* [in] */ BSTR bstrName) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ChangeRegName( 
            /* [in] */ BSTR bstrName,
            /* [in] */ BSTR bstrNewLocName) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddIdFor( 
            /* [in] */ BSTR bstrName,
            /* [in] */ RtBSEObjectId *pidObj) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE FindId( 
            /* [in] */ BSTR bstrName,
            /* [in] */ RtBSEObjectId *pidObj) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE FindName( 
            /* [in] */ RtBSEObjectId idObj,
            /* [in] */ BSTR *pbstrName) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsBSEIdRegisterVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsBSEIdRegister * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsBSEIdRegister * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsBSEIdRegister * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Register )( 
            IRsBSEIdRegister * This,
            /* [in] */ BSTR bstrName,
            /* [in] */ RtBSEObjectId idObj);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *UnregisterId )( 
            IRsBSEIdRegister * This,
            /* [in] */ RtBSEObjectId idObj);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *UnregisterName )( 
            IRsBSEIdRegister * This,
            /* [in] */ BSTR bstrName);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ChangeRegName )( 
            IRsBSEIdRegister * This,
            /* [in] */ BSTR bstrName,
            /* [in] */ BSTR bstrNewLocName);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddIdFor )( 
            IRsBSEIdRegister * This,
            /* [in] */ BSTR bstrName,
            /* [in] */ RtBSEObjectId *pidObj);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *FindId )( 
            IRsBSEIdRegister * This,
            /* [in] */ BSTR bstrName,
            /* [in] */ RtBSEObjectId *pidObj);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *FindName )( 
            IRsBSEIdRegister * This,
            /* [in] */ RtBSEObjectId idObj,
            /* [in] */ BSTR *pbstrName);
        
        END_INTERFACE
    } IRsBSEIdRegisterVtbl;

    interface IRsBSEIdRegister
    {
        CONST_VTBL struct IRsBSEIdRegisterVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsBSEIdRegister_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsBSEIdRegister_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsBSEIdRegister_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsBSEIdRegister_Register(This,bstrName,idObj)	\
    (This)->lpVtbl -> Register(This,bstrName,idObj)

#define IRsBSEIdRegister_UnregisterId(This,idObj)	\
    (This)->lpVtbl -> UnregisterId(This,idObj)

#define IRsBSEIdRegister_UnregisterName(This,bstrName)	\
    (This)->lpVtbl -> UnregisterName(This,bstrName)

#define IRsBSEIdRegister_ChangeRegName(This,bstrName,bstrNewLocName)	\
    (This)->lpVtbl -> ChangeRegName(This,bstrName,bstrNewLocName)

#define IRsBSEIdRegister_AddIdFor(This,bstrName,pidObj)	\
    (This)->lpVtbl -> AddIdFor(This,bstrName,pidObj)

#define IRsBSEIdRegister_FindId(This,bstrName,pidObj)	\
    (This)->lpVtbl -> FindId(This,bstrName,pidObj)

#define IRsBSEIdRegister_FindName(This,idObj,pbstrName)	\
    (This)->lpVtbl -> FindName(This,idObj,pbstrName)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsBSEIdRegister_Register_Proxy( 
    IRsBSEIdRegister * This,
    /* [in] */ BSTR bstrName,
    /* [in] */ RtBSEObjectId idObj);


void __RPC_STUB IRsBSEIdRegister_Register_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsBSEIdRegister_UnregisterId_Proxy( 
    IRsBSEIdRegister * This,
    /* [in] */ RtBSEObjectId idObj);


void __RPC_STUB IRsBSEIdRegister_UnregisterId_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsBSEIdRegister_UnregisterName_Proxy( 
    IRsBSEIdRegister * This,
    /* [in] */ BSTR bstrName);


void __RPC_STUB IRsBSEIdRegister_UnregisterName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsBSEIdRegister_ChangeRegName_Proxy( 
    IRsBSEIdRegister * This,
    /* [in] */ BSTR bstrName,
    /* [in] */ BSTR bstrNewLocName);


void __RPC_STUB IRsBSEIdRegister_ChangeRegName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsBSEIdRegister_AddIdFor_Proxy( 
    IRsBSEIdRegister * This,
    /* [in] */ BSTR bstrName,
    /* [in] */ RtBSEObjectId *pidObj);


void __RPC_STUB IRsBSEIdRegister_AddIdFor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsBSEIdRegister_FindId_Proxy( 
    IRsBSEIdRegister * This,
    /* [in] */ BSTR bstrName,
    /* [in] */ RtBSEObjectId *pidObj);


void __RPC_STUB IRsBSEIdRegister_FindId_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsBSEIdRegister_FindName_Proxy( 
    IRsBSEIdRegister * This,
    /* [in] */ RtBSEObjectId idObj,
    /* [in] */ BSTR *pbstrName);


void __RPC_STUB IRsBSEIdRegister_FindName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsBSEIdRegister_INTERFACE_DEFINED__ */


#ifndef __IRsBSEIdRegisterCB_INTERFACE_DEFINED__
#define __IRsBSEIdRegisterCB_INTERFACE_DEFINED__

/* interface IRsBSEIdRegisterCB */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsBSEIdRegisterCB;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("ED98EFCA-E9D4-4947-8B0C-5ECF3A664656")
    IRsBSEIdRegisterCB : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AssignBSEIdRegister( 
            /* [in] */ IRsBSEIdRegister *pRegister,
            /* [in] */ RtBOOL bNewIdAllowed) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsBSEIdRegisterCBVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsBSEIdRegisterCB * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsBSEIdRegisterCB * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsBSEIdRegisterCB * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AssignBSEIdRegister )( 
            IRsBSEIdRegisterCB * This,
            /* [in] */ IRsBSEIdRegister *pRegister,
            /* [in] */ RtBOOL bNewIdAllowed);
        
        END_INTERFACE
    } IRsBSEIdRegisterCBVtbl;

    interface IRsBSEIdRegisterCB
    {
        CONST_VTBL struct IRsBSEIdRegisterCBVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsBSEIdRegisterCB_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsBSEIdRegisterCB_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsBSEIdRegisterCB_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsBSEIdRegisterCB_AssignBSEIdRegister(This,pRegister,bNewIdAllowed)	\
    (This)->lpVtbl -> AssignBSEIdRegister(This,pRegister,bNewIdAllowed)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsBSEIdRegisterCB_AssignBSEIdRegister_Proxy( 
    IRsBSEIdRegisterCB * This,
    /* [in] */ IRsBSEIdRegister *pRegister,
    /* [in] */ RtBOOL bNewIdAllowed);


void __RPC_STUB IRsBSEIdRegisterCB_AssignBSEIdRegister_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsBSEIdRegisterCB_INTERFACE_DEFINED__ */


#ifndef __IRsBSERemCon_INTERFACE_DEFINED__
#define __IRsBSERemCon_INTERFACE_DEFINED__

/* interface IRsBSERemCon */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsBSERemCon;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("7889604E-C72A-4DAA-BA96-9E6DC7A50B1E")
    IRsBSERemCon : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetConId( 
            /* [retval][out] */ CONID *pConId) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsBSERemConVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsBSERemCon * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsBSERemCon * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsBSERemCon * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetConId )( 
            IRsBSERemCon * This,
            /* [retval][out] */ CONID *pConId);
        
        END_INTERFACE
    } IRsBSERemConVtbl;

    interface IRsBSERemCon
    {
        CONST_VTBL struct IRsBSERemConVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsBSERemCon_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsBSERemCon_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsBSERemCon_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsBSERemCon_GetConId(This,pConId)	\
    (This)->lpVtbl -> GetConId(This,pConId)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsBSERemCon_GetConId_Proxy( 
    IRsBSERemCon * This,
    /* [retval][out] */ CONID *pConId);


void __RPC_STUB IRsBSERemCon_GetConId_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsBSERemCon_INTERFACE_DEFINED__ */


#ifndef __IRsBSEConnect_INTERFACE_DEFINED__
#define __IRsBSEConnect_INTERFACE_DEFINED__

/* interface IRsBSEConnect */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsBSEConnect;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("B8851E8D-0A3E-4D1A-8F4F-900C593AF660")
    IRsBSEConnect : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetSourceConId( 
            /* [retval][out] */ CONID *pConId) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetRemoteConId( 
            /* [retval][out] */ CONID *pConId) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsBSEConnectVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsBSEConnect * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsBSEConnect * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsBSEConnect * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetSourceConId )( 
            IRsBSEConnect * This,
            /* [retval][out] */ CONID *pConId);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetRemoteConId )( 
            IRsBSEConnect * This,
            /* [retval][out] */ CONID *pConId);
        
        END_INTERFACE
    } IRsBSEConnectVtbl;

    interface IRsBSEConnect
    {
        CONST_VTBL struct IRsBSEConnectVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsBSEConnect_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsBSEConnect_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsBSEConnect_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsBSEConnect_GetSourceConId(This,pConId)	\
    (This)->lpVtbl -> GetSourceConId(This,pConId)

#define IRsBSEConnect_GetRemoteConId(This,pConId)	\
    (This)->lpVtbl -> GetRemoteConId(This,pConId)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsBSEConnect_GetSourceConId_Proxy( 
    IRsBSEConnect * This,
    /* [retval][out] */ CONID *pConId);


void __RPC_STUB IRsBSEConnect_GetSourceConId_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsBSEConnect_GetRemoteConId_Proxy( 
    IRsBSEConnect * This,
    /* [retval][out] */ CONID *pConId);


void __RPC_STUB IRsBSEConnect_GetRemoteConId_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsBSEConnect_INTERFACE_DEFINED__ */


#ifndef __IRsBSEDisconnect_INTERFACE_DEFINED__
#define __IRsBSEDisconnect_INTERFACE_DEFINED__

/* interface IRsBSEDisconnect */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsBSEDisconnect;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("D83FFFED-5B43-4BE4-884D-75BE536F241D")
    IRsBSEDisconnect : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetSourceConId( 
            /* [retval][out] */ CONID *pConId) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetRemoteConId( 
            /* [retval][out] */ CONID *pConId) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsBSEDisconnectVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsBSEDisconnect * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsBSEDisconnect * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsBSEDisconnect * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetSourceConId )( 
            IRsBSEDisconnect * This,
            /* [retval][out] */ CONID *pConId);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetRemoteConId )( 
            IRsBSEDisconnect * This,
            /* [retval][out] */ CONID *pConId);
        
        END_INTERFACE
    } IRsBSEDisconnectVtbl;

    interface IRsBSEDisconnect
    {
        CONST_VTBL struct IRsBSEDisconnectVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsBSEDisconnect_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsBSEDisconnect_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsBSEDisconnect_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsBSEDisconnect_GetSourceConId(This,pConId)	\
    (This)->lpVtbl -> GetSourceConId(This,pConId)

#define IRsBSEDisconnect_GetRemoteConId(This,pConId)	\
    (This)->lpVtbl -> GetRemoteConId(This,pConId)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsBSEDisconnect_GetSourceConId_Proxy( 
    IRsBSEDisconnect * This,
    /* [retval][out] */ CONID *pConId);


void __RPC_STUB IRsBSEDisconnect_GetSourceConId_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsBSEDisconnect_GetRemoteConId_Proxy( 
    IRsBSEDisconnect * This,
    /* [retval][out] */ CONID *pConId);


void __RPC_STUB IRsBSEDisconnect_GetRemoteConId_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsBSEDisconnect_INTERFACE_DEFINED__ */


#ifndef __IRsBSERename_INTERFACE_DEFINED__
#define __IRsBSERename_INTERFACE_DEFINED__

/* interface IRsBSERename */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsBSERename;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("783C6D3A-88C9-4302-A339-DC471432B9BE")
    IRsBSERename : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetOriginalName( 
            /* [retval][out] */ BSTR *pbstrName) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetNewName( 
            /* [retval][out] */ BSTR *pbstrName) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsBSERenameVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsBSERename * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsBSERename * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsBSERename * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetOriginalName )( 
            IRsBSERename * This,
            /* [retval][out] */ BSTR *pbstrName);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetNewName )( 
            IRsBSERename * This,
            /* [retval][out] */ BSTR *pbstrName);
        
        END_INTERFACE
    } IRsBSERenameVtbl;

    interface IRsBSERename
    {
        CONST_VTBL struct IRsBSERenameVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsBSERename_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsBSERename_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsBSERename_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsBSERename_GetOriginalName(This,pbstrName)	\
    (This)->lpVtbl -> GetOriginalName(This,pbstrName)

#define IRsBSERename_GetNewName(This,pbstrName)	\
    (This)->lpVtbl -> GetNewName(This,pbstrName)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsBSERename_GetOriginalName_Proxy( 
    IRsBSERename * This,
    /* [retval][out] */ BSTR *pbstrName);


void __RPC_STUB IRsBSERename_GetOriginalName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsBSERename_GetNewName_Proxy( 
    IRsBSERename * This,
    /* [retval][out] */ BSTR *pbstrName);


void __RPC_STUB IRsBSERename_GetNewName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsBSERename_INTERFACE_DEFINED__ */


#ifndef __IRsBSESetValue_INTERFACE_DEFINED__
#define __IRsBSESetValue_INTERFACE_DEFINED__

/* interface IRsBSESetValue */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsBSESetValue;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("88E3EE9A-E589-4295-BC1D-887F10C4DBC3")
    IRsBSESetValue : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetConId( 
            /* [retval][out] */ CONID *pConId) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AllowDeltaVal( 
            /* [in] */ RtBOOL bVal) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsBSESetValueVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsBSESetValue * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsBSESetValue * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsBSESetValue * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetConId )( 
            IRsBSESetValue * This,
            /* [retval][out] */ CONID *pConId);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AllowDeltaVal )( 
            IRsBSESetValue * This,
            /* [in] */ RtBOOL bVal);
        
        END_INTERFACE
    } IRsBSESetValueVtbl;

    interface IRsBSESetValue
    {
        CONST_VTBL struct IRsBSESetValueVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsBSESetValue_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsBSESetValue_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsBSESetValue_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsBSESetValue_GetConId(This,pConId)	\
    (This)->lpVtbl -> GetConId(This,pConId)

#define IRsBSESetValue_AllowDeltaVal(This,bVal)	\
    (This)->lpVtbl -> AllowDeltaVal(This,bVal)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsBSESetValue_GetConId_Proxy( 
    IRsBSESetValue * This,
    /* [retval][out] */ CONID *pConId);


void __RPC_STUB IRsBSESetValue_GetConId_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsBSESetValue_AllowDeltaVal_Proxy( 
    IRsBSESetValue * This,
    /* [in] */ RtBOOL bVal);


void __RPC_STUB IRsBSESetValue_AllowDeltaVal_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsBSESetValue_INTERFACE_DEFINED__ */


#ifndef __IRsBSEConChanged_INTERFACE_DEFINED__
#define __IRsBSEConChanged_INTERFACE_DEFINED__

/* interface IRsBSEConChanged */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsBSEConChanged;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("E8F83531-791B-4192-AB9F-C1DBB8E1A41B")
    IRsBSEConChanged : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRsBSEConChangedVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsBSEConChanged * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsBSEConChanged * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsBSEConChanged * This);
        
        END_INTERFACE
    } IRsBSEConChangedVtbl;

    interface IRsBSEConChanged
    {
        CONST_VTBL struct IRsBSEConChangedVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsBSEConChanged_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsBSEConChanged_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsBSEConChanged_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRsBSEConChanged_INTERFACE_DEFINED__ */


#ifndef __IRsBSECustom_INTERFACE_DEFINED__
#define __IRsBSECustom_INTERFACE_DEFINED__

/* interface IRsBSECustom */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsBSECustom;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("111C1155-C798-459A-B53A-02B83DE2992B")
    IRsBSECustom : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetCustomData( 
            /* [retval][out] */ VARIANT *pvEventData) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsBSECustomVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsBSECustom * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsBSECustom * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsBSECustom * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetCustomData )( 
            IRsBSECustom * This,
            /* [retval][out] */ VARIANT *pvEventData);
        
        END_INTERFACE
    } IRsBSECustomVtbl;

    interface IRsBSECustom
    {
        CONST_VTBL struct IRsBSECustomVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsBSECustom_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsBSECustom_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsBSECustom_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsBSECustom_GetCustomData(This,pvEventData)	\
    (This)->lpVtbl -> GetCustomData(This,pvEventData)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsBSECustom_GetCustomData_Proxy( 
    IRsBSECustom * This,
    /* [retval][out] */ VARIANT *pvEventData);


void __RPC_STUB IRsBSECustom_GetCustomData_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsBSECustom_INTERFACE_DEFINED__ */


#ifndef __IRsBSEConDepend_INTERFACE_DEFINED__
#define __IRsBSEConDepend_INTERFACE_DEFINED__

/* interface IRsBSEConDepend */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsBSEConDepend;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("7BF46173-F2C2-4A48-965C-1AA0BA034172")
    IRsBSEConDepend : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRsBSEConDependVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsBSEConDepend * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsBSEConDepend * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsBSEConDepend * This);
        
        END_INTERFACE
    } IRsBSEConDependVtbl;

    interface IRsBSEConDepend
    {
        CONST_VTBL struct IRsBSEConDependVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsBSEConDepend_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsBSEConDepend_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsBSEConDepend_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRsBSEConDepend_INTERFACE_DEFINED__ */


#ifndef __IRsEnumBSEvents_INTERFACE_DEFINED__
#define __IRsEnumBSEvents_INTERFACE_DEFINED__

/* interface IRsEnumBSEvents */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsEnumBSEvents;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("0AD02BD5-56B9-4f1c-B3CB-94E04E8AE7A8")
    IRsEnumBSEvents : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Next( 
            /* [in] */ ULONG cEvents,
            /* [out] */ IRsBSEvent **pArrayEvents,
            /* [out] */ ULONG *pcFetched) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Skip( 
            /* [in] */ ULONG cEvents) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Reset( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Clone( 
            /* [out] */ IRsEnumBSEvents **ppEnum) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsEnumBSEventsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsEnumBSEvents * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsEnumBSEvents * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsEnumBSEvents * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Next )( 
            IRsEnumBSEvents * This,
            /* [in] */ ULONG cEvents,
            /* [out] */ IRsBSEvent **pArrayEvents,
            /* [out] */ ULONG *pcFetched);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Skip )( 
            IRsEnumBSEvents * This,
            /* [in] */ ULONG cEvents);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Reset )( 
            IRsEnumBSEvents * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Clone )( 
            IRsEnumBSEvents * This,
            /* [out] */ IRsEnumBSEvents **ppEnum);
        
        END_INTERFACE
    } IRsEnumBSEventsVtbl;

    interface IRsEnumBSEvents
    {
        CONST_VTBL struct IRsEnumBSEventsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsEnumBSEvents_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsEnumBSEvents_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsEnumBSEvents_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsEnumBSEvents_Next(This,cEvents,pArrayEvents,pcFetched)	\
    (This)->lpVtbl -> Next(This,cEvents,pArrayEvents,pcFetched)

#define IRsEnumBSEvents_Skip(This,cEvents)	\
    (This)->lpVtbl -> Skip(This,cEvents)

#define IRsEnumBSEvents_Reset(This)	\
    (This)->lpVtbl -> Reset(This)

#define IRsEnumBSEvents_Clone(This,ppEnum)	\
    (This)->lpVtbl -> Clone(This,ppEnum)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsEnumBSEvents_Next_Proxy( 
    IRsEnumBSEvents * This,
    /* [in] */ ULONG cEvents,
    /* [out] */ IRsBSEvent **pArrayEvents,
    /* [out] */ ULONG *pcFetched);


void __RPC_STUB IRsEnumBSEvents_Next_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsEnumBSEvents_Skip_Proxy( 
    IRsEnumBSEvents * This,
    /* [in] */ ULONG cEvents);


void __RPC_STUB IRsEnumBSEvents_Skip_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsEnumBSEvents_Reset_Proxy( 
    IRsEnumBSEvents * This);


void __RPC_STUB IRsEnumBSEvents_Reset_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsEnumBSEvents_Clone_Proxy( 
    IRsEnumBSEvents * This,
    /* [out] */ IRsEnumBSEvents **ppEnum);


void __RPC_STUB IRsEnumBSEvents_Clone_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsEnumBSEvents_INTERFACE_DEFINED__ */


#ifndef __IRsBSEventBlock_INTERFACE_DEFINED__
#define __IRsBSEventBlock_INTERFACE_DEFINED__

/* interface IRsBSEventBlock */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsBSEventBlock;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("18E66F6F-0EB4-464D-B896-FCE85AD87C7A")
    IRsBSEventBlock : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddEvent( 
            /* [in] */ IRsBSEvent *pEvent) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE EnumEvents( 
            /* [retval][out] */ IRsEnumBSEvents **ppEnum) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsBSEventBlockVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsBSEventBlock * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsBSEventBlock * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsBSEventBlock * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddEvent )( 
            IRsBSEventBlock * This,
            /* [in] */ IRsBSEvent *pEvent);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *EnumEvents )( 
            IRsBSEventBlock * This,
            /* [retval][out] */ IRsEnumBSEvents **ppEnum);
        
        END_INTERFACE
    } IRsBSEventBlockVtbl;

    interface IRsBSEventBlock
    {
        CONST_VTBL struct IRsBSEventBlockVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsBSEventBlock_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsBSEventBlock_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsBSEventBlock_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsBSEventBlock_AddEvent(This,pEvent)	\
    (This)->lpVtbl -> AddEvent(This,pEvent)

#define IRsBSEventBlock_EnumEvents(This,ppEnum)	\
    (This)->lpVtbl -> EnumEvents(This,ppEnum)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsBSEventBlock_AddEvent_Proxy( 
    IRsBSEventBlock * This,
    /* [in] */ IRsBSEvent *pEvent);


void __RPC_STUB IRsBSEventBlock_AddEvent_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsBSEventBlock_EnumEvents_Proxy( 
    IRsBSEventBlock * This,
    /* [retval][out] */ IRsEnumBSEvents **ppEnum);


void __RPC_STUB IRsBSEventBlock_EnumEvents_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsBSEventBlock_INTERFACE_DEFINED__ */


#ifndef __IRsBSEBlockRepository_INTERFACE_DEFINED__
#define __IRsBSEBlockRepository_INTERFACE_DEFINED__

/* interface IRsBSEBlockRepository */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsBSEBlockRepository;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("0858818F-B89A-403D-88F1-AB6096C9D6D1")
    IRsBSEBlockRepository : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Add( 
            /* [in] */ IRsBSEventBlock *pEventBlock) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddLast( 
            /* [in] */ IRsBSEventBlock *pEventBlock) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Remove( 
            /* [retval][out] */ IRsBSEventBlock **ppEventBlock) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Clone( 
            /* [retval][out] */ IRsBSEBlockRepository **ppBlokRepository) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RemoveLast( 
            /* [retval][out] */ IRsBSEventBlock **ppEventBlock) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetCount( 
            /* [retval][out] */ RtUlong *pulCount) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsBSEBlockRepositoryVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsBSEBlockRepository * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsBSEBlockRepository * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsBSEBlockRepository * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Add )( 
            IRsBSEBlockRepository * This,
            /* [in] */ IRsBSEventBlock *pEventBlock);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddLast )( 
            IRsBSEBlockRepository * This,
            /* [in] */ IRsBSEventBlock *pEventBlock);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Remove )( 
            IRsBSEBlockRepository * This,
            /* [retval][out] */ IRsBSEventBlock **ppEventBlock);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Clone )( 
            IRsBSEBlockRepository * This,
            /* [retval][out] */ IRsBSEBlockRepository **ppBlokRepository);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RemoveLast )( 
            IRsBSEBlockRepository * This,
            /* [retval][out] */ IRsBSEventBlock **ppEventBlock);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetCount )( 
            IRsBSEBlockRepository * This,
            /* [retval][out] */ RtUlong *pulCount);
        
        END_INTERFACE
    } IRsBSEBlockRepositoryVtbl;

    interface IRsBSEBlockRepository
    {
        CONST_VTBL struct IRsBSEBlockRepositoryVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsBSEBlockRepository_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsBSEBlockRepository_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsBSEBlockRepository_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsBSEBlockRepository_Add(This,pEventBlock)	\
    (This)->lpVtbl -> Add(This,pEventBlock)

#define IRsBSEBlockRepository_AddLast(This,pEventBlock)	\
    (This)->lpVtbl -> AddLast(This,pEventBlock)

#define IRsBSEBlockRepository_Remove(This,ppEventBlock)	\
    (This)->lpVtbl -> Remove(This,ppEventBlock)

#define IRsBSEBlockRepository_Clone(This,ppBlokRepository)	\
    (This)->lpVtbl -> Clone(This,ppBlokRepository)

#define IRsBSEBlockRepository_RemoveLast(This,ppEventBlock)	\
    (This)->lpVtbl -> RemoveLast(This,ppEventBlock)

#define IRsBSEBlockRepository_GetCount(This,pulCount)	\
    (This)->lpVtbl -> GetCount(This,pulCount)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsBSEBlockRepository_Add_Proxy( 
    IRsBSEBlockRepository * This,
    /* [in] */ IRsBSEventBlock *pEventBlock);


void __RPC_STUB IRsBSEBlockRepository_Add_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsBSEBlockRepository_AddLast_Proxy( 
    IRsBSEBlockRepository * This,
    /* [in] */ IRsBSEventBlock *pEventBlock);


void __RPC_STUB IRsBSEBlockRepository_AddLast_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsBSEBlockRepository_Remove_Proxy( 
    IRsBSEBlockRepository * This,
    /* [retval][out] */ IRsBSEventBlock **ppEventBlock);


void __RPC_STUB IRsBSEBlockRepository_Remove_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsBSEBlockRepository_Clone_Proxy( 
    IRsBSEBlockRepository * This,
    /* [retval][out] */ IRsBSEBlockRepository **ppBlokRepository);


void __RPC_STUB IRsBSEBlockRepository_Clone_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsBSEBlockRepository_RemoveLast_Proxy( 
    IRsBSEBlockRepository * This,
    /* [retval][out] */ IRsBSEventBlock **ppEventBlock);


void __RPC_STUB IRsBSEBlockRepository_RemoveLast_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsBSEBlockRepository_GetCount_Proxy( 
    IRsBSEBlockRepository * This,
    /* [retval][out] */ RtUlong *pulCount);


void __RPC_STUB IRsBSEBlockRepository_GetCount_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsBSEBlockRepository_INTERFACE_DEFINED__ */


#ifndef __IRfBSEventFn_INTERFACE_DEFINED__
#define __IRfBSEventFn_INTERFACE_DEFINED__

/* interface IRfBSEventFn */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRfBSEventFn;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("284B7F26-F814-4A50-B35C-BFBCFE89C380")
    IRfBSEventFn : public IRsObject
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateBSEAddConObj( 
            /* [retval][out] */ IRsBSEAddCon **ppObj) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateBSERemConObj( 
            /* [retval][out] */ IRsBSERemCon **ppObj) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateBSEConnectObj( 
            /* [retval][out] */ IRsBSEConnect **ppObj) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateBSEDisconnectObj( 
            /* [retval][out] */ IRsBSEDisconnect **ppObj) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateBSEObject( 
            /* [in] */ RtNotifyEvent eEvent,
            /* [retval][out] */ IRsBSEvent **ppObjEvent) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateBSEBlockObj( 
            /* [retval][out] */ IRsBSEventBlock **ppObj) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateBSERepository( 
            /* [retval][out] */ IRsBSEBlockRepository **ppRepository) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateBSEIdRegister( 
            /* [retval][out] */ IRsBSEIdRegister **ppRegister) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRfBSEventFnVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRfBSEventFn * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRfBSEventFn * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRfBSEventFn * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassId )( 
            IRfBSEventFn * This,
            /* [retval][out] */ GUID *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassName )( 
            IRfBSEventFn * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateBSEAddConObj )( 
            IRfBSEventFn * This,
            /* [retval][out] */ IRsBSEAddCon **ppObj);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateBSERemConObj )( 
            IRfBSEventFn * This,
            /* [retval][out] */ IRsBSERemCon **ppObj);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateBSEConnectObj )( 
            IRfBSEventFn * This,
            /* [retval][out] */ IRsBSEConnect **ppObj);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateBSEDisconnectObj )( 
            IRfBSEventFn * This,
            /* [retval][out] */ IRsBSEDisconnect **ppObj);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateBSEObject )( 
            IRfBSEventFn * This,
            /* [in] */ RtNotifyEvent eEvent,
            /* [retval][out] */ IRsBSEvent **ppObjEvent);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateBSEBlockObj )( 
            IRfBSEventFn * This,
            /* [retval][out] */ IRsBSEventBlock **ppObj);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateBSERepository )( 
            IRfBSEventFn * This,
            /* [retval][out] */ IRsBSEBlockRepository **ppRepository);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateBSEIdRegister )( 
            IRfBSEventFn * This,
            /* [retval][out] */ IRsBSEIdRegister **ppRegister);
        
        END_INTERFACE
    } IRfBSEventFnVtbl;

    interface IRfBSEventFn
    {
        CONST_VTBL struct IRfBSEventFnVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRfBSEventFn_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRfBSEventFn_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRfBSEventFn_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRfBSEventFn_get_ClassId(This,pVal)	\
    (This)->lpVtbl -> get_ClassId(This,pVal)

#define IRfBSEventFn_get_ClassName(This,pVal)	\
    (This)->lpVtbl -> get_ClassName(This,pVal)


#define IRfBSEventFn_CreateBSEAddConObj(This,ppObj)	\
    (This)->lpVtbl -> CreateBSEAddConObj(This,ppObj)

#define IRfBSEventFn_CreateBSERemConObj(This,ppObj)	\
    (This)->lpVtbl -> CreateBSERemConObj(This,ppObj)

#define IRfBSEventFn_CreateBSEConnectObj(This,ppObj)	\
    (This)->lpVtbl -> CreateBSEConnectObj(This,ppObj)

#define IRfBSEventFn_CreateBSEDisconnectObj(This,ppObj)	\
    (This)->lpVtbl -> CreateBSEDisconnectObj(This,ppObj)

#define IRfBSEventFn_CreateBSEObject(This,eEvent,ppObjEvent)	\
    (This)->lpVtbl -> CreateBSEObject(This,eEvent,ppObjEvent)

#define IRfBSEventFn_CreateBSEBlockObj(This,ppObj)	\
    (This)->lpVtbl -> CreateBSEBlockObj(This,ppObj)

#define IRfBSEventFn_CreateBSERepository(This,ppRepository)	\
    (This)->lpVtbl -> CreateBSERepository(This,ppRepository)

#define IRfBSEventFn_CreateBSEIdRegister(This,ppRegister)	\
    (This)->lpVtbl -> CreateBSEIdRegister(This,ppRegister)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfBSEventFn_CreateBSEAddConObj_Proxy( 
    IRfBSEventFn * This,
    /* [retval][out] */ IRsBSEAddCon **ppObj);


void __RPC_STUB IRfBSEventFn_CreateBSEAddConObj_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfBSEventFn_CreateBSERemConObj_Proxy( 
    IRfBSEventFn * This,
    /* [retval][out] */ IRsBSERemCon **ppObj);


void __RPC_STUB IRfBSEventFn_CreateBSERemConObj_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfBSEventFn_CreateBSEConnectObj_Proxy( 
    IRfBSEventFn * This,
    /* [retval][out] */ IRsBSEConnect **ppObj);


void __RPC_STUB IRfBSEventFn_CreateBSEConnectObj_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfBSEventFn_CreateBSEDisconnectObj_Proxy( 
    IRfBSEventFn * This,
    /* [retval][out] */ IRsBSEDisconnect **ppObj);


void __RPC_STUB IRfBSEventFn_CreateBSEDisconnectObj_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfBSEventFn_CreateBSEObject_Proxy( 
    IRfBSEventFn * This,
    /* [in] */ RtNotifyEvent eEvent,
    /* [retval][out] */ IRsBSEvent **ppObjEvent);


void __RPC_STUB IRfBSEventFn_CreateBSEObject_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfBSEventFn_CreateBSEBlockObj_Proxy( 
    IRfBSEventFn * This,
    /* [retval][out] */ IRsBSEventBlock **ppObj);


void __RPC_STUB IRfBSEventFn_CreateBSEBlockObj_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfBSEventFn_CreateBSERepository_Proxy( 
    IRfBSEventFn * This,
    /* [retval][out] */ IRsBSEBlockRepository **ppRepository);


void __RPC_STUB IRfBSEventFn_CreateBSERepository_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfBSEventFn_CreateBSEIdRegister_Proxy( 
    IRfBSEventFn * This,
    /* [retval][out] */ IRsBSEIdRegister **ppRegister);


void __RPC_STUB IRfBSEventFn_CreateBSEIdRegister_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRfBSEventFn_INTERFACE_DEFINED__ */


#ifndef __IRfBSEventAggFn_INTERFACE_DEFINED__
#define __IRfBSEventAggFn_INTERFACE_DEFINED__

/* interface IRfBSEventAggFn */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRfBSEventAggFn;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("5EC61A61-047D-4ba3-9C99-09A00909FA48")
    IRfBSEventAggFn : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateBSEAddConAggObj( 
            /* [in] */ IUnknown *pUnkOuter,
            /* [retval][out] */ IUnknown **ppAggObj) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateBSERemConAggObj( 
            /* [in] */ IUnknown *pUnkOuter,
            /* [retval][out] */ IUnknown **ppAggObj) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateBSEConnectAggObj( 
            /* [in] */ IUnknown *pUnkOuter,
            /* [retval][out] */ IUnknown **ppAggObj) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateBSEDisconnectAggObj( 
            /* [in] */ IUnknown *pUnkOuter,
            /* [retval][out] */ IUnknown **ppAggObj) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateBSEAggObject( 
            /* [in] */ RtNotifyEvent eEvent,
            /* [in] */ IUnknown *pUnkOuter,
            /* [retval][out] */ IUnknown **ppAggObjEvent) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateBSEBlockAggObj( 
            /* [in] */ IUnknown *pUnkOuter,
            /* [retval][out] */ IUnknown **ppAggObj) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateBSERepositoryAggObj( 
            /* [in] */ IUnknown *pUnkOuter,
            /* [retval][out] */ IUnknown **ppRepository) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRfBSEventAggFnVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRfBSEventAggFn * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRfBSEventAggFn * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRfBSEventAggFn * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateBSEAddConAggObj )( 
            IRfBSEventAggFn * This,
            /* [in] */ IUnknown *pUnkOuter,
            /* [retval][out] */ IUnknown **ppAggObj);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateBSERemConAggObj )( 
            IRfBSEventAggFn * This,
            /* [in] */ IUnknown *pUnkOuter,
            /* [retval][out] */ IUnknown **ppAggObj);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateBSEConnectAggObj )( 
            IRfBSEventAggFn * This,
            /* [in] */ IUnknown *pUnkOuter,
            /* [retval][out] */ IUnknown **ppAggObj);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateBSEDisconnectAggObj )( 
            IRfBSEventAggFn * This,
            /* [in] */ IUnknown *pUnkOuter,
            /* [retval][out] */ IUnknown **ppAggObj);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateBSEAggObject )( 
            IRfBSEventAggFn * This,
            /* [in] */ RtNotifyEvent eEvent,
            /* [in] */ IUnknown *pUnkOuter,
            /* [retval][out] */ IUnknown **ppAggObjEvent);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateBSEBlockAggObj )( 
            IRfBSEventAggFn * This,
            /* [in] */ IUnknown *pUnkOuter,
            /* [retval][out] */ IUnknown **ppAggObj);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateBSERepositoryAggObj )( 
            IRfBSEventAggFn * This,
            /* [in] */ IUnknown *pUnkOuter,
            /* [retval][out] */ IUnknown **ppRepository);
        
        END_INTERFACE
    } IRfBSEventAggFnVtbl;

    interface IRfBSEventAggFn
    {
        CONST_VTBL struct IRfBSEventAggFnVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRfBSEventAggFn_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRfBSEventAggFn_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRfBSEventAggFn_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRfBSEventAggFn_CreateBSEAddConAggObj(This,pUnkOuter,ppAggObj)	\
    (This)->lpVtbl -> CreateBSEAddConAggObj(This,pUnkOuter,ppAggObj)

#define IRfBSEventAggFn_CreateBSERemConAggObj(This,pUnkOuter,ppAggObj)	\
    (This)->lpVtbl -> CreateBSERemConAggObj(This,pUnkOuter,ppAggObj)

#define IRfBSEventAggFn_CreateBSEConnectAggObj(This,pUnkOuter,ppAggObj)	\
    (This)->lpVtbl -> CreateBSEConnectAggObj(This,pUnkOuter,ppAggObj)

#define IRfBSEventAggFn_CreateBSEDisconnectAggObj(This,pUnkOuter,ppAggObj)	\
    (This)->lpVtbl -> CreateBSEDisconnectAggObj(This,pUnkOuter,ppAggObj)

#define IRfBSEventAggFn_CreateBSEAggObject(This,eEvent,pUnkOuter,ppAggObjEvent)	\
    (This)->lpVtbl -> CreateBSEAggObject(This,eEvent,pUnkOuter,ppAggObjEvent)

#define IRfBSEventAggFn_CreateBSEBlockAggObj(This,pUnkOuter,ppAggObj)	\
    (This)->lpVtbl -> CreateBSEBlockAggObj(This,pUnkOuter,ppAggObj)

#define IRfBSEventAggFn_CreateBSERepositoryAggObj(This,pUnkOuter,ppRepository)	\
    (This)->lpVtbl -> CreateBSERepositoryAggObj(This,pUnkOuter,ppRepository)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfBSEventAggFn_CreateBSEAddConAggObj_Proxy( 
    IRfBSEventAggFn * This,
    /* [in] */ IUnknown *pUnkOuter,
    /* [retval][out] */ IUnknown **ppAggObj);


void __RPC_STUB IRfBSEventAggFn_CreateBSEAddConAggObj_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfBSEventAggFn_CreateBSERemConAggObj_Proxy( 
    IRfBSEventAggFn * This,
    /* [in] */ IUnknown *pUnkOuter,
    /* [retval][out] */ IUnknown **ppAggObj);


void __RPC_STUB IRfBSEventAggFn_CreateBSERemConAggObj_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfBSEventAggFn_CreateBSEConnectAggObj_Proxy( 
    IRfBSEventAggFn * This,
    /* [in] */ IUnknown *pUnkOuter,
    /* [retval][out] */ IUnknown **ppAggObj);


void __RPC_STUB IRfBSEventAggFn_CreateBSEConnectAggObj_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfBSEventAggFn_CreateBSEDisconnectAggObj_Proxy( 
    IRfBSEventAggFn * This,
    /* [in] */ IUnknown *pUnkOuter,
    /* [retval][out] */ IUnknown **ppAggObj);


void __RPC_STUB IRfBSEventAggFn_CreateBSEDisconnectAggObj_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfBSEventAggFn_CreateBSEAggObject_Proxy( 
    IRfBSEventAggFn * This,
    /* [in] */ RtNotifyEvent eEvent,
    /* [in] */ IUnknown *pUnkOuter,
    /* [retval][out] */ IUnknown **ppAggObjEvent);


void __RPC_STUB IRfBSEventAggFn_CreateBSEAggObject_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfBSEventAggFn_CreateBSEBlockAggObj_Proxy( 
    IRfBSEventAggFn * This,
    /* [in] */ IUnknown *pUnkOuter,
    /* [retval][out] */ IUnknown **ppAggObj);


void __RPC_STUB IRfBSEventAggFn_CreateBSEBlockAggObj_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfBSEventAggFn_CreateBSERepositoryAggObj_Proxy( 
    IRfBSEventAggFn * This,
    /* [in] */ IUnknown *pUnkOuter,
    /* [retval][out] */ IUnknown **ppRepository);


void __RPC_STUB IRfBSEventAggFn_CreateBSERepositoryAggObj_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRfBSEventAggFn_INTERFACE_DEFINED__ */


#ifndef __IRsCmdRequest_INTERFACE_DEFINED__
#define __IRsCmdRequest_INTERFACE_DEFINED__

/* interface IRsCmdRequest */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsCmdRequest;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("2930B86F-F0D7-4C96-8B91-B793A2CC5F18")
    IRsCmdRequest : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE InitByString( 
            /* [in] */ LPCWSTR szCommand) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE InitByObject( 
            /* [in] */ IRsNode *pCmd) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Process( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetCommandObject( 
            /* [retval][out] */ IRsNode **ppCmd) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsCmdRequestVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsCmdRequest * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsCmdRequest * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsCmdRequest * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *InitByString )( 
            IRsCmdRequest * This,
            /* [in] */ LPCWSTR szCommand);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *InitByObject )( 
            IRsCmdRequest * This,
            /* [in] */ IRsNode *pCmd);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Process )( 
            IRsCmdRequest * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetCommandObject )( 
            IRsCmdRequest * This,
            /* [retval][out] */ IRsNode **ppCmd);
        
        END_INTERFACE
    } IRsCmdRequestVtbl;

    interface IRsCmdRequest
    {
        CONST_VTBL struct IRsCmdRequestVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsCmdRequest_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsCmdRequest_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsCmdRequest_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsCmdRequest_InitByString(This,szCommand)	\
    (This)->lpVtbl -> InitByString(This,szCommand)

#define IRsCmdRequest_InitByObject(This,pCmd)	\
    (This)->lpVtbl -> InitByObject(This,pCmd)

#define IRsCmdRequest_Process(This)	\
    (This)->lpVtbl -> Process(This)

#define IRsCmdRequest_GetCommandObject(This,ppCmd)	\
    (This)->lpVtbl -> GetCommandObject(This,ppCmd)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsCmdRequest_InitByString_Proxy( 
    IRsCmdRequest * This,
    /* [in] */ LPCWSTR szCommand);


void __RPC_STUB IRsCmdRequest_InitByString_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsCmdRequest_InitByObject_Proxy( 
    IRsCmdRequest * This,
    /* [in] */ IRsNode *pCmd);


void __RPC_STUB IRsCmdRequest_InitByObject_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsCmdRequest_Process_Proxy( 
    IRsCmdRequest * This);


void __RPC_STUB IRsCmdRequest_Process_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsCmdRequest_GetCommandObject_Proxy( 
    IRsCmdRequest * This,
    /* [retval][out] */ IRsNode **ppCmd);


void __RPC_STUB IRsCmdRequest_GetCommandObject_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsCmdRequest_INTERFACE_DEFINED__ */


#ifndef __IRsTool_INTERFACE_DEFINED__
#define __IRsTool_INTERFACE_DEFINED__

/* interface IRsTool */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsTool;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("01AC2C85-44DF-405E-B0C4-EC2D6B8061F9")
    IRsTool : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnPress( 
            /* [in] */ RtMouseEvent *pEvent,
            /* [in] */ IRsNode *pViewNode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnDrag( 
            /* [in] */ RtMouseEvent *pEvent) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnRelease( 
            /* [in] */ RtMouseEvent *pEvent) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsToolVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsTool * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsTool * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsTool * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OnPress )( 
            IRsTool * This,
            /* [in] */ RtMouseEvent *pEvent,
            /* [in] */ IRsNode *pViewNode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OnDrag )( 
            IRsTool * This,
            /* [in] */ RtMouseEvent *pEvent);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OnRelease )( 
            IRsTool * This,
            /* [in] */ RtMouseEvent *pEvent);
        
        END_INTERFACE
    } IRsToolVtbl;

    interface IRsTool
    {
        CONST_VTBL struct IRsToolVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsTool_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsTool_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsTool_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsTool_OnPress(This,pEvent,pViewNode)	\
    (This)->lpVtbl -> OnPress(This,pEvent,pViewNode)

#define IRsTool_OnDrag(This,pEvent)	\
    (This)->lpVtbl -> OnDrag(This,pEvent)

#define IRsTool_OnRelease(This,pEvent)	\
    (This)->lpVtbl -> OnRelease(This,pEvent)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsTool_OnPress_Proxy( 
    IRsTool * This,
    /* [in] */ RtMouseEvent *pEvent,
    /* [in] */ IRsNode *pViewNode);


void __RPC_STUB IRsTool_OnPress_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsTool_OnDrag_Proxy( 
    IRsTool * This,
    /* [in] */ RtMouseEvent *pEvent);


void __RPC_STUB IRsTool_OnDrag_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsTool_OnRelease_Proxy( 
    IRsTool * This,
    /* [in] */ RtMouseEvent *pEvent);


void __RPC_STUB IRsTool_OnRelease_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsTool_INTERFACE_DEFINED__ */


/* interface __MIDL_itf__Kernel_0875 */
/* [local] */ 

typedef 
enum tagRtToolMsg
    {	TMSG_MOVE	= 0,
	TMSG_PRESS	= 1,
	TMSG_RELEASE	= 2,
	TMSG_DRAG	= 3
    } 	RtToolMsg;



extern RPC_IF_HANDLE __MIDL_itf__Kernel_0875_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf__Kernel_0875_v0_0_s_ifspec;

#ifndef __IRsToolManagerHook_INTERFACE_DEFINED__
#define __IRsToolManagerHook_INTERFACE_DEFINED__

/* interface IRsToolManagerHook */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsToolManagerHook;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("303FFEB5-7C47-4D1A-81EB-C475D9A3C840")
    IRsToolManagerHook : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnInitialize( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnSelectTool( 
            /* [in] */ RtToolMsg eToolMsg,
            /* [in] */ RtMouseEvent *pMouseEvent,
            /* [retval][out] */ IRsTool **ppNewTool) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnDestroy( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsToolManagerHookVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsToolManagerHook * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsToolManagerHook * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsToolManagerHook * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OnInitialize )( 
            IRsToolManagerHook * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OnSelectTool )( 
            IRsToolManagerHook * This,
            /* [in] */ RtToolMsg eToolMsg,
            /* [in] */ RtMouseEvent *pMouseEvent,
            /* [retval][out] */ IRsTool **ppNewTool);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OnDestroy )( 
            IRsToolManagerHook * This);
        
        END_INTERFACE
    } IRsToolManagerHookVtbl;

    interface IRsToolManagerHook
    {
        CONST_VTBL struct IRsToolManagerHookVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsToolManagerHook_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsToolManagerHook_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsToolManagerHook_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsToolManagerHook_OnInitialize(This)	\
    (This)->lpVtbl -> OnInitialize(This)

#define IRsToolManagerHook_OnSelectTool(This,eToolMsg,pMouseEvent,ppNewTool)	\
    (This)->lpVtbl -> OnSelectTool(This,eToolMsg,pMouseEvent,ppNewTool)

#define IRsToolManagerHook_OnDestroy(This)	\
    (This)->lpVtbl -> OnDestroy(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsToolManagerHook_OnInitialize_Proxy( 
    IRsToolManagerHook * This);


void __RPC_STUB IRsToolManagerHook_OnInitialize_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsToolManagerHook_OnSelectTool_Proxy( 
    IRsToolManagerHook * This,
    /* [in] */ RtToolMsg eToolMsg,
    /* [in] */ RtMouseEvent *pMouseEvent,
    /* [retval][out] */ IRsTool **ppNewTool);


void __RPC_STUB IRsToolManagerHook_OnSelectTool_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsToolManagerHook_OnDestroy_Proxy( 
    IRsToolManagerHook * This);


void __RPC_STUB IRsToolManagerHook_OnDestroy_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsToolManagerHook_INTERFACE_DEFINED__ */


#ifndef __IRsToolManager_INTERFACE_DEFINED__
#define __IRsToolManager_INTERFACE_DEFINED__

/* interface IRsToolManager */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsToolManager;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("AE513100-9F2A-4D70-9284-E3F781949E59")
    IRsToolManager : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ExecuteTool( 
            /* [in] */ IRsTool *pTool,
            /* [in] */ RtMouseEvent *pMouseEvent,
            /* [in] */ IRsNode *pViewNode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetAttachedTool( 
            /* [in] */ RtMouseEvent *pMouseEvent,
            /* [in] */ IRsNode *pViewNode,
            /* [retval][out] */ IRsTool **ppTool) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AttachToWindow( 
            /* [in] */ IRsNode *pViewNode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE DetachFromWindow( 
            /* [in] */ IRsNode *pViewNode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnFocusLost( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnFocus( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ActivateToolPersistent( 
            /* [in] */ IRsTool *pTool) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE DeactivateToolPersistent( 
            /* [in] */ IRsTool *pTool) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ReactivateToolPersistent( 
            /* [in] */ IRsTool *pTool) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ActivateToolById( 
            /* [in] */ CLSID gToolId) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE DeactivateToolById( 
            /* [in] */ CLSID gToolId) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetActiveToolId( 
            /* [in] */ CLSID *pToolId) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetActiveTool( 
            /* [retval][out] */ IRsTool **ppTool) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Initialize( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Destroy( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnPress( 
            /* [in] */ RtMouseEvent *pEvent,
            /* [in] */ IRsNode *pViewNode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnDrag( 
            /* [in] */ RtMouseEvent *pEvent) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnRelease( 
            /* [in] */ RtMouseEvent *pEvent) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddHook( 
            /* [in] */ IRsToolManagerHook *pHook) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RemoveHook( 
            /* [in] */ IRsToolManagerHook *pHook) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE MoveToTop( 
            /* [in] */ IRsTool *pTool) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetToolsCount( 
            /* [in] */ RtUlong *pdwCnt) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetToolId( 
            /* [in] */ RtUlong dwId,
            /* [in] */ GUID *pGuid) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE DeactivateToolGroup( 
            /* [in] */ GUID *pgId) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsToolManagerVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsToolManager * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsToolManager * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsToolManager * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ExecuteTool )( 
            IRsToolManager * This,
            /* [in] */ IRsTool *pTool,
            /* [in] */ RtMouseEvent *pMouseEvent,
            /* [in] */ IRsNode *pViewNode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetAttachedTool )( 
            IRsToolManager * This,
            /* [in] */ RtMouseEvent *pMouseEvent,
            /* [in] */ IRsNode *pViewNode,
            /* [retval][out] */ IRsTool **ppTool);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AttachToWindow )( 
            IRsToolManager * This,
            /* [in] */ IRsNode *pViewNode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *DetachFromWindow )( 
            IRsToolManager * This,
            /* [in] */ IRsNode *pViewNode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OnFocusLost )( 
            IRsToolManager * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OnFocus )( 
            IRsToolManager * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ActivateToolPersistent )( 
            IRsToolManager * This,
            /* [in] */ IRsTool *pTool);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *DeactivateToolPersistent )( 
            IRsToolManager * This,
            /* [in] */ IRsTool *pTool);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ReactivateToolPersistent )( 
            IRsToolManager * This,
            /* [in] */ IRsTool *pTool);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ActivateToolById )( 
            IRsToolManager * This,
            /* [in] */ CLSID gToolId);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *DeactivateToolById )( 
            IRsToolManager * This,
            /* [in] */ CLSID gToolId);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetActiveToolId )( 
            IRsToolManager * This,
            /* [in] */ CLSID *pToolId);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetActiveTool )( 
            IRsToolManager * This,
            /* [retval][out] */ IRsTool **ppTool);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Initialize )( 
            IRsToolManager * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Destroy )( 
            IRsToolManager * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OnPress )( 
            IRsToolManager * This,
            /* [in] */ RtMouseEvent *pEvent,
            /* [in] */ IRsNode *pViewNode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OnDrag )( 
            IRsToolManager * This,
            /* [in] */ RtMouseEvent *pEvent);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OnRelease )( 
            IRsToolManager * This,
            /* [in] */ RtMouseEvent *pEvent);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddHook )( 
            IRsToolManager * This,
            /* [in] */ IRsToolManagerHook *pHook);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RemoveHook )( 
            IRsToolManager * This,
            /* [in] */ IRsToolManagerHook *pHook);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *MoveToTop )( 
            IRsToolManager * This,
            /* [in] */ IRsTool *pTool);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetToolsCount )( 
            IRsToolManager * This,
            /* [in] */ RtUlong *pdwCnt);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetToolId )( 
            IRsToolManager * This,
            /* [in] */ RtUlong dwId,
            /* [in] */ GUID *pGuid);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *DeactivateToolGroup )( 
            IRsToolManager * This,
            /* [in] */ GUID *pgId);
        
        END_INTERFACE
    } IRsToolManagerVtbl;

    interface IRsToolManager
    {
        CONST_VTBL struct IRsToolManagerVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsToolManager_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsToolManager_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsToolManager_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsToolManager_ExecuteTool(This,pTool,pMouseEvent,pViewNode)	\
    (This)->lpVtbl -> ExecuteTool(This,pTool,pMouseEvent,pViewNode)

#define IRsToolManager_GetAttachedTool(This,pMouseEvent,pViewNode,ppTool)	\
    (This)->lpVtbl -> GetAttachedTool(This,pMouseEvent,pViewNode,ppTool)

#define IRsToolManager_AttachToWindow(This,pViewNode)	\
    (This)->lpVtbl -> AttachToWindow(This,pViewNode)

#define IRsToolManager_DetachFromWindow(This,pViewNode)	\
    (This)->lpVtbl -> DetachFromWindow(This,pViewNode)

#define IRsToolManager_OnFocusLost(This)	\
    (This)->lpVtbl -> OnFocusLost(This)

#define IRsToolManager_OnFocus(This)	\
    (This)->lpVtbl -> OnFocus(This)

#define IRsToolManager_ActivateToolPersistent(This,pTool)	\
    (This)->lpVtbl -> ActivateToolPersistent(This,pTool)

#define IRsToolManager_DeactivateToolPersistent(This,pTool)	\
    (This)->lpVtbl -> DeactivateToolPersistent(This,pTool)

#define IRsToolManager_ReactivateToolPersistent(This,pTool)	\
    (This)->lpVtbl -> ReactivateToolPersistent(This,pTool)

#define IRsToolManager_ActivateToolById(This,gToolId)	\
    (This)->lpVtbl -> ActivateToolById(This,gToolId)

#define IRsToolManager_DeactivateToolById(This,gToolId)	\
    (This)->lpVtbl -> DeactivateToolById(This,gToolId)

#define IRsToolManager_GetActiveToolId(This,pToolId)	\
    (This)->lpVtbl -> GetActiveToolId(This,pToolId)

#define IRsToolManager_GetActiveTool(This,ppTool)	\
    (This)->lpVtbl -> GetActiveTool(This,ppTool)

#define IRsToolManager_Initialize(This)	\
    (This)->lpVtbl -> Initialize(This)

#define IRsToolManager_Destroy(This)	\
    (This)->lpVtbl -> Destroy(This)

#define IRsToolManager_OnPress(This,pEvent,pViewNode)	\
    (This)->lpVtbl -> OnPress(This,pEvent,pViewNode)

#define IRsToolManager_OnDrag(This,pEvent)	\
    (This)->lpVtbl -> OnDrag(This,pEvent)

#define IRsToolManager_OnRelease(This,pEvent)	\
    (This)->lpVtbl -> OnRelease(This,pEvent)

#define IRsToolManager_AddHook(This,pHook)	\
    (This)->lpVtbl -> AddHook(This,pHook)

#define IRsToolManager_RemoveHook(This,pHook)	\
    (This)->lpVtbl -> RemoveHook(This,pHook)

#define IRsToolManager_MoveToTop(This,pTool)	\
    (This)->lpVtbl -> MoveToTop(This,pTool)

#define IRsToolManager_GetToolsCount(This,pdwCnt)	\
    (This)->lpVtbl -> GetToolsCount(This,pdwCnt)

#define IRsToolManager_GetToolId(This,dwId,pGuid)	\
    (This)->lpVtbl -> GetToolId(This,dwId,pGuid)

#define IRsToolManager_DeactivateToolGroup(This,pgId)	\
    (This)->lpVtbl -> DeactivateToolGroup(This,pgId)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsToolManager_ExecuteTool_Proxy( 
    IRsToolManager * This,
    /* [in] */ IRsTool *pTool,
    /* [in] */ RtMouseEvent *pMouseEvent,
    /* [in] */ IRsNode *pViewNode);


void __RPC_STUB IRsToolManager_ExecuteTool_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsToolManager_GetAttachedTool_Proxy( 
    IRsToolManager * This,
    /* [in] */ RtMouseEvent *pMouseEvent,
    /* [in] */ IRsNode *pViewNode,
    /* [retval][out] */ IRsTool **ppTool);


void __RPC_STUB IRsToolManager_GetAttachedTool_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsToolManager_AttachToWindow_Proxy( 
    IRsToolManager * This,
    /* [in] */ IRsNode *pViewNode);


void __RPC_STUB IRsToolManager_AttachToWindow_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsToolManager_DetachFromWindow_Proxy( 
    IRsToolManager * This,
    /* [in] */ IRsNode *pViewNode);


void __RPC_STUB IRsToolManager_DetachFromWindow_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsToolManager_OnFocusLost_Proxy( 
    IRsToolManager * This);


void __RPC_STUB IRsToolManager_OnFocusLost_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsToolManager_OnFocus_Proxy( 
    IRsToolManager * This);


void __RPC_STUB IRsToolManager_OnFocus_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsToolManager_ActivateToolPersistent_Proxy( 
    IRsToolManager * This,
    /* [in] */ IRsTool *pTool);


void __RPC_STUB IRsToolManager_ActivateToolPersistent_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsToolManager_DeactivateToolPersistent_Proxy( 
    IRsToolManager * This,
    /* [in] */ IRsTool *pTool);


void __RPC_STUB IRsToolManager_DeactivateToolPersistent_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsToolManager_ReactivateToolPersistent_Proxy( 
    IRsToolManager * This,
    /* [in] */ IRsTool *pTool);


void __RPC_STUB IRsToolManager_ReactivateToolPersistent_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsToolManager_ActivateToolById_Proxy( 
    IRsToolManager * This,
    /* [in] */ CLSID gToolId);


void __RPC_STUB IRsToolManager_ActivateToolById_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsToolManager_DeactivateToolById_Proxy( 
    IRsToolManager * This,
    /* [in] */ CLSID gToolId);


void __RPC_STUB IRsToolManager_DeactivateToolById_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsToolManager_GetActiveToolId_Proxy( 
    IRsToolManager * This,
    /* [in] */ CLSID *pToolId);


void __RPC_STUB IRsToolManager_GetActiveToolId_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsToolManager_GetActiveTool_Proxy( 
    IRsToolManager * This,
    /* [retval][out] */ IRsTool **ppTool);


void __RPC_STUB IRsToolManager_GetActiveTool_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsToolManager_Initialize_Proxy( 
    IRsToolManager * This);


void __RPC_STUB IRsToolManager_Initialize_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsToolManager_Destroy_Proxy( 
    IRsToolManager * This);


void __RPC_STUB IRsToolManager_Destroy_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsToolManager_OnPress_Proxy( 
    IRsToolManager * This,
    /* [in] */ RtMouseEvent *pEvent,
    /* [in] */ IRsNode *pViewNode);


void __RPC_STUB IRsToolManager_OnPress_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsToolManager_OnDrag_Proxy( 
    IRsToolManager * This,
    /* [in] */ RtMouseEvent *pEvent);


void __RPC_STUB IRsToolManager_OnDrag_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsToolManager_OnRelease_Proxy( 
    IRsToolManager * This,
    /* [in] */ RtMouseEvent *pEvent);


void __RPC_STUB IRsToolManager_OnRelease_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsToolManager_AddHook_Proxy( 
    IRsToolManager * This,
    /* [in] */ IRsToolManagerHook *pHook);


void __RPC_STUB IRsToolManager_AddHook_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsToolManager_RemoveHook_Proxy( 
    IRsToolManager * This,
    /* [in] */ IRsToolManagerHook *pHook);


void __RPC_STUB IRsToolManager_RemoveHook_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsToolManager_MoveToTop_Proxy( 
    IRsToolManager * This,
    /* [in] */ IRsTool *pTool);


void __RPC_STUB IRsToolManager_MoveToTop_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsToolManager_GetToolsCount_Proxy( 
    IRsToolManager * This,
    /* [in] */ RtUlong *pdwCnt);


void __RPC_STUB IRsToolManager_GetToolsCount_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsToolManager_GetToolId_Proxy( 
    IRsToolManager * This,
    /* [in] */ RtUlong dwId,
    /* [in] */ GUID *pGuid);


void __RPC_STUB IRsToolManager_GetToolId_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsToolManager_DeactivateToolGroup_Proxy( 
    IRsToolManager * This,
    /* [in] */ GUID *pgId);


void __RPC_STUB IRsToolManager_DeactivateToolGroup_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsToolManager_INTERFACE_DEFINED__ */


/* interface __MIDL_itf__Kernel_0877 */
/* [local] */ 


enum RtToolPriority
    {	TOOLMNG_TOOLPRIORITY_LOWEST	= 0,
	TOOLMNG_TOOLPRIORITY_INACTIVE	= 2147483647
    } ;
typedef 
enum tagRtToolMsgId
    {	TMSGID_TOOLMNG_ADDED	= 0,
	TMSGID_TOOLMNG_REMOVED	= 1,
	TMSGID_TOOL_PROCESSED	= 2,
	TMSGID_MSG_FETCHED	= 3
    } 	RtToolMsgId;



extern RPC_IF_HANDLE __MIDL_itf__Kernel_0877_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf__Kernel_0877_v0_0_s_ifspec;

#ifndef __IRsToolManagerListener_INTERFACE_DEFINED__
#define __IRsToolManagerListener_INTERFACE_DEFINED__

/* interface IRsToolManagerListener */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsToolManagerListener;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("A0D61726-0691-4e4f-9127-990E1EE90E91")
    IRsToolManagerListener : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ProcessToolMngMessage( 
            /* [in] */ RtToolMsgId msgId,
            /* [in] */ VARIANT *vParam) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsToolManagerListenerVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsToolManagerListener * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsToolManagerListener * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsToolManagerListener * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ProcessToolMngMessage )( 
            IRsToolManagerListener * This,
            /* [in] */ RtToolMsgId msgId,
            /* [in] */ VARIANT *vParam);
        
        END_INTERFACE
    } IRsToolManagerListenerVtbl;

    interface IRsToolManagerListener
    {
        CONST_VTBL struct IRsToolManagerListenerVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsToolManagerListener_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsToolManagerListener_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsToolManagerListener_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsToolManagerListener_ProcessToolMngMessage(This,msgId,vParam)	\
    (This)->lpVtbl -> ProcessToolMngMessage(This,msgId,vParam)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsToolManagerListener_ProcessToolMngMessage_Proxy( 
    IRsToolManagerListener * This,
    /* [in] */ RtToolMsgId msgId,
    /* [in] */ VARIANT *vParam);


void __RPC_STUB IRsToolManagerListener_ProcessToolMngMessage_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsToolManagerListener_INTERFACE_DEFINED__ */


#ifndef __IRsEnumToolManagers_INTERFACE_DEFINED__
#define __IRsEnumToolManagers_INTERFACE_DEFINED__

/* interface IRsEnumToolManagers */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsEnumToolManagers;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("D99DAA86-62C5-49AA-BF0E-FCD764FD8963")
    IRsEnumToolManagers : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE Add( 
            /* [in] */ IRsToolManager *pMgr,
            /* [in] */ IRsNode *pViewNode) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetCount( 
            /* [in] */ RtUlong *pCount) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetViewNode( 
            /* [in] */ RtUlong uIndex,
            /* [in] */ IRsNode **pViewNode) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetToolManager( 
            /* [in] */ RtUlong uIndex,
            /* [in] */ IRsToolManager **pToolMgr) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsEnumToolManagersVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsEnumToolManagers * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsEnumToolManagers * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsEnumToolManagers * This);
        
        HRESULT ( STDMETHODCALLTYPE *Add )( 
            IRsEnumToolManagers * This,
            /* [in] */ IRsToolManager *pMgr,
            /* [in] */ IRsNode *pViewNode);
        
        HRESULT ( STDMETHODCALLTYPE *GetCount )( 
            IRsEnumToolManagers * This,
            /* [in] */ RtUlong *pCount);
        
        HRESULT ( STDMETHODCALLTYPE *GetViewNode )( 
            IRsEnumToolManagers * This,
            /* [in] */ RtUlong uIndex,
            /* [in] */ IRsNode **pViewNode);
        
        HRESULT ( STDMETHODCALLTYPE *GetToolManager )( 
            IRsEnumToolManagers * This,
            /* [in] */ RtUlong uIndex,
            /* [in] */ IRsToolManager **pToolMgr);
        
        END_INTERFACE
    } IRsEnumToolManagersVtbl;

    interface IRsEnumToolManagers
    {
        CONST_VTBL struct IRsEnumToolManagersVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsEnumToolManagers_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsEnumToolManagers_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsEnumToolManagers_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsEnumToolManagers_Add(This,pMgr,pViewNode)	\
    (This)->lpVtbl -> Add(This,pMgr,pViewNode)

#define IRsEnumToolManagers_GetCount(This,pCount)	\
    (This)->lpVtbl -> GetCount(This,pCount)

#define IRsEnumToolManagers_GetViewNode(This,uIndex,pViewNode)	\
    (This)->lpVtbl -> GetViewNode(This,uIndex,pViewNode)

#define IRsEnumToolManagers_GetToolManager(This,uIndex,pToolMgr)	\
    (This)->lpVtbl -> GetToolManager(This,uIndex,pToolMgr)

#endif /* COBJMACROS */


#endif 	/* C style interface */



HRESULT STDMETHODCALLTYPE IRsEnumToolManagers_Add_Proxy( 
    IRsEnumToolManagers * This,
    /* [in] */ IRsToolManager *pMgr,
    /* [in] */ IRsNode *pViewNode);


void __RPC_STUB IRsEnumToolManagers_Add_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IRsEnumToolManagers_GetCount_Proxy( 
    IRsEnumToolManagers * This,
    /* [in] */ RtUlong *pCount);


void __RPC_STUB IRsEnumToolManagers_GetCount_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IRsEnumToolManagers_GetViewNode_Proxy( 
    IRsEnumToolManagers * This,
    /* [in] */ RtUlong uIndex,
    /* [in] */ IRsNode **pViewNode);


void __RPC_STUB IRsEnumToolManagers_GetViewNode_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IRsEnumToolManagers_GetToolManager_Proxy( 
    IRsEnumToolManagers * This,
    /* [in] */ RtUlong uIndex,
    /* [in] */ IRsToolManager **pToolMgr);


void __RPC_STUB IRsEnumToolManagers_GetToolManager_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsEnumToolManagers_INTERFACE_DEFINED__ */


/* interface __MIDL_itf__Kernel_0879 */
/* [local] */ 

struct RtToolEvent
    {
    RtMouseEvent tMouseEvent;
    IRsNode *pViewNode;
    IRsToolManager *pBaseToolManager;
    } ;


extern RPC_IF_HANDLE __MIDL_itf__Kernel_0879_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf__Kernel_0879_v0_0_s_ifspec;

#ifndef __IRsSysToolManager_INTERFACE_DEFINED__
#define __IRsSysToolManager_INTERFACE_DEFINED__

/* interface IRsSysToolManager */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsSysToolManager;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("E6BA5089-1706-4066-8BD6-3FC928D3230A")
    IRsSysToolManager : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Initialize( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Destroy( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ProcessToolCommandQueue( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ProcessUIToolCommandQueue( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AttachToolMng( 
            /* [in] */ IRsNode *pView,
            /* [in] */ IRsToolManager *pNewToolMng) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE DetachToolMngFromWindow( 
            /* [in] */ IRsNode *pView,
            /* [in] */ IRsToolManager *pToolMng) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE DetachToolMng( 
            /* [in] */ IRsToolManager *pToolMng) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetAssignedToolMng( 
            /* [in] */ IRsNode *pViewNode,
            /* [retval][out] */ IRsToolManager **ppToolMng) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetDefaultToolMng( 
            /* [retval][out] */ IRsToolManager **ppToolMng) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetActiveTool( 
            /* [retval][out] */ IRsTool **ppActiveTool) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetActiveViewNode( 
            /* [retval][out] */ IRsNode **ppActiveViewNode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnLButtonDown( 
            /* [in] */ RtMouseEvent *pEvent,
            /* [in] */ IRsNode *pViewNode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnLButtonUp( 
            /* [in] */ RtMouseEvent *pEvent,
            /* [in] */ IRsNode *pViewNode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnRButtonDown( 
            /* [in] */ RtMouseEvent *pEvent,
            /* [in] */ IRsNode *pViewNode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnRButtonUp( 
            /* [in] */ RtMouseEvent *pEvent,
            /* [in] */ IRsNode *pViewNode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnMButtonDown( 
            /* [in] */ RtMouseEvent *pEvent,
            /* [in] */ IRsNode *pViewNode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnMButtonUp( 
            /* [in] */ RtMouseEvent *pEvent,
            /* [in] */ IRsNode *pViewNode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnMouseMove( 
            /* [in] */ RtMouseEvent *pEvent,
            /* [in] */ IRsNode *pViewNode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnMouseWheel( 
            /* [in] */ RtMouseEvent *pEvent,
            /* [in] */ IRsNode *pViewNode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnMouseLeave( 
            /* [in] */ RtMouseEvent *pEvent,
            /* [in] */ IRsNode *pViewNode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnPress( 
            /* [in] */ RtMouseEvent *pEvent,
            /* [in] */ IRsNode *pViewNode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnDrag( 
            /* [in] */ RtMouseEvent *pEvent,
            /* [in] */ IRsNode *pViewNode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnRelease( 
            /* [in] */ RtMouseEvent *pEvent,
            /* [in] */ IRsNode *pViewNode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SynchronizeToolEvents( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RegisterToolManagerListener( 
            /* [in] */ IRsToolManagerListener *pListener) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE UnregisterToolManagerListener( 
            /* [in] */ IRsToolManagerListener *pListener) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SendToolMngEvent( 
            /* [in] */ RtToolMsgId msgId,
            /* [in] */ VARIANT *vParam) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetLastEvent( 
            /* [out] */ RtMouseEvent *pToolEvent,
            /* [out] */ IRsNode **ppNode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE EnumToolManagers( 
            /* [in] */ IRsEnumToolManagers **ppEnum) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE MoveToTop( 
            /* [in] */ IRsTool *pTool) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsSysToolManagerVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsSysToolManager * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsSysToolManager * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsSysToolManager * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Initialize )( 
            IRsSysToolManager * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Destroy )( 
            IRsSysToolManager * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ProcessToolCommandQueue )( 
            IRsSysToolManager * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ProcessUIToolCommandQueue )( 
            IRsSysToolManager * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AttachToolMng )( 
            IRsSysToolManager * This,
            /* [in] */ IRsNode *pView,
            /* [in] */ IRsToolManager *pNewToolMng);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *DetachToolMngFromWindow )( 
            IRsSysToolManager * This,
            /* [in] */ IRsNode *pView,
            /* [in] */ IRsToolManager *pToolMng);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *DetachToolMng )( 
            IRsSysToolManager * This,
            /* [in] */ IRsToolManager *pToolMng);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetAssignedToolMng )( 
            IRsSysToolManager * This,
            /* [in] */ IRsNode *pViewNode,
            /* [retval][out] */ IRsToolManager **ppToolMng);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetDefaultToolMng )( 
            IRsSysToolManager * This,
            /* [retval][out] */ IRsToolManager **ppToolMng);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetActiveTool )( 
            IRsSysToolManager * This,
            /* [retval][out] */ IRsTool **ppActiveTool);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetActiveViewNode )( 
            IRsSysToolManager * This,
            /* [retval][out] */ IRsNode **ppActiveViewNode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OnLButtonDown )( 
            IRsSysToolManager * This,
            /* [in] */ RtMouseEvent *pEvent,
            /* [in] */ IRsNode *pViewNode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OnLButtonUp )( 
            IRsSysToolManager * This,
            /* [in] */ RtMouseEvent *pEvent,
            /* [in] */ IRsNode *pViewNode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OnRButtonDown )( 
            IRsSysToolManager * This,
            /* [in] */ RtMouseEvent *pEvent,
            /* [in] */ IRsNode *pViewNode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OnRButtonUp )( 
            IRsSysToolManager * This,
            /* [in] */ RtMouseEvent *pEvent,
            /* [in] */ IRsNode *pViewNode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OnMButtonDown )( 
            IRsSysToolManager * This,
            /* [in] */ RtMouseEvent *pEvent,
            /* [in] */ IRsNode *pViewNode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OnMButtonUp )( 
            IRsSysToolManager * This,
            /* [in] */ RtMouseEvent *pEvent,
            /* [in] */ IRsNode *pViewNode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OnMouseMove )( 
            IRsSysToolManager * This,
            /* [in] */ RtMouseEvent *pEvent,
            /* [in] */ IRsNode *pViewNode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OnMouseWheel )( 
            IRsSysToolManager * This,
            /* [in] */ RtMouseEvent *pEvent,
            /* [in] */ IRsNode *pViewNode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OnMouseLeave )( 
            IRsSysToolManager * This,
            /* [in] */ RtMouseEvent *pEvent,
            /* [in] */ IRsNode *pViewNode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OnPress )( 
            IRsSysToolManager * This,
            /* [in] */ RtMouseEvent *pEvent,
            /* [in] */ IRsNode *pViewNode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OnDrag )( 
            IRsSysToolManager * This,
            /* [in] */ RtMouseEvent *pEvent,
            /* [in] */ IRsNode *pViewNode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OnRelease )( 
            IRsSysToolManager * This,
            /* [in] */ RtMouseEvent *pEvent,
            /* [in] */ IRsNode *pViewNode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SynchronizeToolEvents )( 
            IRsSysToolManager * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RegisterToolManagerListener )( 
            IRsSysToolManager * This,
            /* [in] */ IRsToolManagerListener *pListener);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *UnregisterToolManagerListener )( 
            IRsSysToolManager * This,
            /* [in] */ IRsToolManagerListener *pListener);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SendToolMngEvent )( 
            IRsSysToolManager * This,
            /* [in] */ RtToolMsgId msgId,
            /* [in] */ VARIANT *vParam);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetLastEvent )( 
            IRsSysToolManager * This,
            /* [out] */ RtMouseEvent *pToolEvent,
            /* [out] */ IRsNode **ppNode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *EnumToolManagers )( 
            IRsSysToolManager * This,
            /* [in] */ IRsEnumToolManagers **ppEnum);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *MoveToTop )( 
            IRsSysToolManager * This,
            /* [in] */ IRsTool *pTool);
        
        END_INTERFACE
    } IRsSysToolManagerVtbl;

    interface IRsSysToolManager
    {
        CONST_VTBL struct IRsSysToolManagerVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsSysToolManager_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsSysToolManager_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsSysToolManager_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsSysToolManager_Initialize(This)	\
    (This)->lpVtbl -> Initialize(This)

#define IRsSysToolManager_Destroy(This)	\
    (This)->lpVtbl -> Destroy(This)

#define IRsSysToolManager_ProcessToolCommandQueue(This)	\
    (This)->lpVtbl -> ProcessToolCommandQueue(This)

#define IRsSysToolManager_ProcessUIToolCommandQueue(This)	\
    (This)->lpVtbl -> ProcessUIToolCommandQueue(This)

#define IRsSysToolManager_AttachToolMng(This,pView,pNewToolMng)	\
    (This)->lpVtbl -> AttachToolMng(This,pView,pNewToolMng)

#define IRsSysToolManager_DetachToolMngFromWindow(This,pView,pToolMng)	\
    (This)->lpVtbl -> DetachToolMngFromWindow(This,pView,pToolMng)

#define IRsSysToolManager_DetachToolMng(This,pToolMng)	\
    (This)->lpVtbl -> DetachToolMng(This,pToolMng)

#define IRsSysToolManager_GetAssignedToolMng(This,pViewNode,ppToolMng)	\
    (This)->lpVtbl -> GetAssignedToolMng(This,pViewNode,ppToolMng)

#define IRsSysToolManager_GetDefaultToolMng(This,ppToolMng)	\
    (This)->lpVtbl -> GetDefaultToolMng(This,ppToolMng)

#define IRsSysToolManager_GetActiveTool(This,ppActiveTool)	\
    (This)->lpVtbl -> GetActiveTool(This,ppActiveTool)

#define IRsSysToolManager_GetActiveViewNode(This,ppActiveViewNode)	\
    (This)->lpVtbl -> GetActiveViewNode(This,ppActiveViewNode)

#define IRsSysToolManager_OnLButtonDown(This,pEvent,pViewNode)	\
    (This)->lpVtbl -> OnLButtonDown(This,pEvent,pViewNode)

#define IRsSysToolManager_OnLButtonUp(This,pEvent,pViewNode)	\
    (This)->lpVtbl -> OnLButtonUp(This,pEvent,pViewNode)

#define IRsSysToolManager_OnRButtonDown(This,pEvent,pViewNode)	\
    (This)->lpVtbl -> OnRButtonDown(This,pEvent,pViewNode)

#define IRsSysToolManager_OnRButtonUp(This,pEvent,pViewNode)	\
    (This)->lpVtbl -> OnRButtonUp(This,pEvent,pViewNode)

#define IRsSysToolManager_OnMButtonDown(This,pEvent,pViewNode)	\
    (This)->lpVtbl -> OnMButtonDown(This,pEvent,pViewNode)

#define IRsSysToolManager_OnMButtonUp(This,pEvent,pViewNode)	\
    (This)->lpVtbl -> OnMButtonUp(This,pEvent,pViewNode)

#define IRsSysToolManager_OnMouseMove(This,pEvent,pViewNode)	\
    (This)->lpVtbl -> OnMouseMove(This,pEvent,pViewNode)

#define IRsSysToolManager_OnMouseWheel(This,pEvent,pViewNode)	\
    (This)->lpVtbl -> OnMouseWheel(This,pEvent,pViewNode)

#define IRsSysToolManager_OnMouseLeave(This,pEvent,pViewNode)	\
    (This)->lpVtbl -> OnMouseLeave(This,pEvent,pViewNode)

#define IRsSysToolManager_OnPress(This,pEvent,pViewNode)	\
    (This)->lpVtbl -> OnPress(This,pEvent,pViewNode)

#define IRsSysToolManager_OnDrag(This,pEvent,pViewNode)	\
    (This)->lpVtbl -> OnDrag(This,pEvent,pViewNode)

#define IRsSysToolManager_OnRelease(This,pEvent,pViewNode)	\
    (This)->lpVtbl -> OnRelease(This,pEvent,pViewNode)

#define IRsSysToolManager_SynchronizeToolEvents(This)	\
    (This)->lpVtbl -> SynchronizeToolEvents(This)

#define IRsSysToolManager_RegisterToolManagerListener(This,pListener)	\
    (This)->lpVtbl -> RegisterToolManagerListener(This,pListener)

#define IRsSysToolManager_UnregisterToolManagerListener(This,pListener)	\
    (This)->lpVtbl -> UnregisterToolManagerListener(This,pListener)

#define IRsSysToolManager_SendToolMngEvent(This,msgId,vParam)	\
    (This)->lpVtbl -> SendToolMngEvent(This,msgId,vParam)

#define IRsSysToolManager_GetLastEvent(This,pToolEvent,ppNode)	\
    (This)->lpVtbl -> GetLastEvent(This,pToolEvent,ppNode)

#define IRsSysToolManager_EnumToolManagers(This,ppEnum)	\
    (This)->lpVtbl -> EnumToolManagers(This,ppEnum)

#define IRsSysToolManager_MoveToTop(This,pTool)	\
    (This)->lpVtbl -> MoveToTop(This,pTool)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsSysToolManager_Initialize_Proxy( 
    IRsSysToolManager * This);


void __RPC_STUB IRsSysToolManager_Initialize_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsSysToolManager_Destroy_Proxy( 
    IRsSysToolManager * This);


void __RPC_STUB IRsSysToolManager_Destroy_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsSysToolManager_ProcessToolCommandQueue_Proxy( 
    IRsSysToolManager * This);


void __RPC_STUB IRsSysToolManager_ProcessToolCommandQueue_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsSysToolManager_ProcessUIToolCommandQueue_Proxy( 
    IRsSysToolManager * This);


void __RPC_STUB IRsSysToolManager_ProcessUIToolCommandQueue_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsSysToolManager_AttachToolMng_Proxy( 
    IRsSysToolManager * This,
    /* [in] */ IRsNode *pView,
    /* [in] */ IRsToolManager *pNewToolMng);


void __RPC_STUB IRsSysToolManager_AttachToolMng_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsSysToolManager_DetachToolMngFromWindow_Proxy( 
    IRsSysToolManager * This,
    /* [in] */ IRsNode *pView,
    /* [in] */ IRsToolManager *pToolMng);


void __RPC_STUB IRsSysToolManager_DetachToolMngFromWindow_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsSysToolManager_DetachToolMng_Proxy( 
    IRsSysToolManager * This,
    /* [in] */ IRsToolManager *pToolMng);


void __RPC_STUB IRsSysToolManager_DetachToolMng_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsSysToolManager_GetAssignedToolMng_Proxy( 
    IRsSysToolManager * This,
    /* [in] */ IRsNode *pViewNode,
    /* [retval][out] */ IRsToolManager **ppToolMng);


void __RPC_STUB IRsSysToolManager_GetAssignedToolMng_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsSysToolManager_GetDefaultToolMng_Proxy( 
    IRsSysToolManager * This,
    /* [retval][out] */ IRsToolManager **ppToolMng);


void __RPC_STUB IRsSysToolManager_GetDefaultToolMng_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsSysToolManager_GetActiveTool_Proxy( 
    IRsSysToolManager * This,
    /* [retval][out] */ IRsTool **ppActiveTool);


void __RPC_STUB IRsSysToolManager_GetActiveTool_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsSysToolManager_GetActiveViewNode_Proxy( 
    IRsSysToolManager * This,
    /* [retval][out] */ IRsNode **ppActiveViewNode);


void __RPC_STUB IRsSysToolManager_GetActiveViewNode_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsSysToolManager_OnLButtonDown_Proxy( 
    IRsSysToolManager * This,
    /* [in] */ RtMouseEvent *pEvent,
    /* [in] */ IRsNode *pViewNode);


void __RPC_STUB IRsSysToolManager_OnLButtonDown_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsSysToolManager_OnLButtonUp_Proxy( 
    IRsSysToolManager * This,
    /* [in] */ RtMouseEvent *pEvent,
    /* [in] */ IRsNode *pViewNode);


void __RPC_STUB IRsSysToolManager_OnLButtonUp_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsSysToolManager_OnRButtonDown_Proxy( 
    IRsSysToolManager * This,
    /* [in] */ RtMouseEvent *pEvent,
    /* [in] */ IRsNode *pViewNode);


void __RPC_STUB IRsSysToolManager_OnRButtonDown_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsSysToolManager_OnRButtonUp_Proxy( 
    IRsSysToolManager * This,
    /* [in] */ RtMouseEvent *pEvent,
    /* [in] */ IRsNode *pViewNode);


void __RPC_STUB IRsSysToolManager_OnRButtonUp_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsSysToolManager_OnMButtonDown_Proxy( 
    IRsSysToolManager * This,
    /* [in] */ RtMouseEvent *pEvent,
    /* [in] */ IRsNode *pViewNode);


void __RPC_STUB IRsSysToolManager_OnMButtonDown_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsSysToolManager_OnMButtonUp_Proxy( 
    IRsSysToolManager * This,
    /* [in] */ RtMouseEvent *pEvent,
    /* [in] */ IRsNode *pViewNode);


void __RPC_STUB IRsSysToolManager_OnMButtonUp_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsSysToolManager_OnMouseMove_Proxy( 
    IRsSysToolManager * This,
    /* [in] */ RtMouseEvent *pEvent,
    /* [in] */ IRsNode *pViewNode);


void __RPC_STUB IRsSysToolManager_OnMouseMove_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsSysToolManager_OnMouseWheel_Proxy( 
    IRsSysToolManager * This,
    /* [in] */ RtMouseEvent *pEvent,
    /* [in] */ IRsNode *pViewNode);


void __RPC_STUB IRsSysToolManager_OnMouseWheel_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsSysToolManager_OnMouseLeave_Proxy( 
    IRsSysToolManager * This,
    /* [in] */ RtMouseEvent *pEvent,
    /* [in] */ IRsNode *pViewNode);


void __RPC_STUB IRsSysToolManager_OnMouseLeave_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsSysToolManager_OnPress_Proxy( 
    IRsSysToolManager * This,
    /* [in] */ RtMouseEvent *pEvent,
    /* [in] */ IRsNode *pViewNode);


void __RPC_STUB IRsSysToolManager_OnPress_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsSysToolManager_OnDrag_Proxy( 
    IRsSysToolManager * This,
    /* [in] */ RtMouseEvent *pEvent,
    /* [in] */ IRsNode *pViewNode);


void __RPC_STUB IRsSysToolManager_OnDrag_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsSysToolManager_OnRelease_Proxy( 
    IRsSysToolManager * This,
    /* [in] */ RtMouseEvent *pEvent,
    /* [in] */ IRsNode *pViewNode);


void __RPC_STUB IRsSysToolManager_OnRelease_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsSysToolManager_SynchronizeToolEvents_Proxy( 
    IRsSysToolManager * This);


void __RPC_STUB IRsSysToolManager_SynchronizeToolEvents_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsSysToolManager_RegisterToolManagerListener_Proxy( 
    IRsSysToolManager * This,
    /* [in] */ IRsToolManagerListener *pListener);


void __RPC_STUB IRsSysToolManager_RegisterToolManagerListener_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsSysToolManager_UnregisterToolManagerListener_Proxy( 
    IRsSysToolManager * This,
    /* [in] */ IRsToolManagerListener *pListener);


void __RPC_STUB IRsSysToolManager_UnregisterToolManagerListener_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsSysToolManager_SendToolMngEvent_Proxy( 
    IRsSysToolManager * This,
    /* [in] */ RtToolMsgId msgId,
    /* [in] */ VARIANT *vParam);


void __RPC_STUB IRsSysToolManager_SendToolMngEvent_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsSysToolManager_GetLastEvent_Proxy( 
    IRsSysToolManager * This,
    /* [out] */ RtMouseEvent *pToolEvent,
    /* [out] */ IRsNode **ppNode);


void __RPC_STUB IRsSysToolManager_GetLastEvent_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsSysToolManager_EnumToolManagers_Proxy( 
    IRsSysToolManager * This,
    /* [in] */ IRsEnumToolManagers **ppEnum);


void __RPC_STUB IRsSysToolManager_EnumToolManagers_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsSysToolManager_MoveToTop_Proxy( 
    IRsSysToolManager * This,
    /* [in] */ IRsTool *pTool);


void __RPC_STUB IRsSysToolManager_MoveToTop_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsSysToolManager_INTERFACE_DEFINED__ */


#ifndef __IRsSysFactory_INTERFACE_DEFINED__
#define __IRsSysFactory_INTERFACE_DEFINED__

/* interface IRsSysFactory */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsSysFactory;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("94C292C9-632E-4486-B5F3-B4B2170796E0")
    IRsSysFactory : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateNode( 
            /* [in] */ const IID *piid,
            /* [retval][out] */ IRsNode **ppNode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateCommand( 
            /* [in] */ const IID *piid,
            /* [retval][out] */ IRsCommand **ppCmd) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateDataObj( 
            /* [in] */ const IID *piid,
            /* [retval][out] */ IRsDataObject **ppDataObj) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateLangObj( 
            /* [in] */ const IID *piid,
            /* [retval][out] */ IRsLangObject **ppLangObj) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateCmdDesc( 
            /* [retval][out] */ IRsCmdDesc **ppDesc) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateNodeDesc( 
            /* [retval][out] */ IRsNodeDesc **ppDesc) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Update( 
            /* [in] */ IRsUnknownPackage *pPackage) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateDataObjDesc( 
            /* [retval][out] */ IRsDataObjDesc **ppDesc) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateLangObjDesc( 
            /* [retval][out] */ IRsLangObjDesc **ppDesc) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateConnectorDesc( 
            /* [in] */ const RtConDesc *pDesc,
            /* [retval][out] */ IRsConDescriptor **ppConDesc) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RegisterConnectorDesc( 
            /* [in] */ IRsConDescriptor *pNewDesc,
            /* [out] */ IRsConDescriptor **ppRegDesc) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE FindNodeDesc( 
            /* [in] */ const IID *piid,
            /* [retval][out] */ IRsNodeDesc **ppNodeDesc) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE FindCmdDesc( 
            /* [in] */ const IID *piid,
            /* [retval][out] */ IRsCmdDesc **ppCmdDesc) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE FindConnectorDesc( 
            /* [in] */ const CONID *piid,
            /* [retval][out] */ IRsConDescriptor **ppConDesc) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateBaseToolMng( 
            /* [in] */ IUnknown *pUnkOuter,
            /* [retval][out] */ IUnknown **ppBaseToolMng) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE FindObjectIID( 
            /* [in] */ LPCWSTR szClassName,
            /* [retval][out] */ IID *piid) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RegisterConnectors( 
            /* [in] */ IRsUnknownPackage *pUnkPck) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RegisterNodes( 
            /* [in] */ IRsUnknownPackage *pUnkPck) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RegisterDataObjects( 
            /* [in] */ IRsUnknownPackage *pUnkPck) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RegisterCommands( 
            /* [in] */ IRsUnknownPackage *pUnkPck) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE FindParentPackage( 
            /* [in] */ IRsObject *pObj,
            /* [retval][out] */ IRsUnknownPackage **ppUnkPck) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RegisterLangObjects( 
            /* [in] */ IRsUnknownPackage *pUnkPck) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Destroy( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateNodeWithDebugInfo( 
            /* [in] */ const IID *piid,
            /* [in] */ BSTR bsFile,
            /* [in] */ int iLine,
            /* [retval][out] */ IRsNode **ppNode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE FindObjectClassName( 
            /* [in] */ const IID *piid,
            /* [in] */ BSTR *pbsClassName) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateCOMObjectInstance( 
            /* [in] */ const IID *piid,
            /* [retval][out] */ IUnknown **ppObj) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsSysFactoryVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsSysFactory * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsSysFactory * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsSysFactory * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateNode )( 
            IRsSysFactory * This,
            /* [in] */ const IID *piid,
            /* [retval][out] */ IRsNode **ppNode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateCommand )( 
            IRsSysFactory * This,
            /* [in] */ const IID *piid,
            /* [retval][out] */ IRsCommand **ppCmd);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateDataObj )( 
            IRsSysFactory * This,
            /* [in] */ const IID *piid,
            /* [retval][out] */ IRsDataObject **ppDataObj);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateLangObj )( 
            IRsSysFactory * This,
            /* [in] */ const IID *piid,
            /* [retval][out] */ IRsLangObject **ppLangObj);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateCmdDesc )( 
            IRsSysFactory * This,
            /* [retval][out] */ IRsCmdDesc **ppDesc);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateNodeDesc )( 
            IRsSysFactory * This,
            /* [retval][out] */ IRsNodeDesc **ppDesc);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Update )( 
            IRsSysFactory * This,
            /* [in] */ IRsUnknownPackage *pPackage);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateDataObjDesc )( 
            IRsSysFactory * This,
            /* [retval][out] */ IRsDataObjDesc **ppDesc);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateLangObjDesc )( 
            IRsSysFactory * This,
            /* [retval][out] */ IRsLangObjDesc **ppDesc);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateConnectorDesc )( 
            IRsSysFactory * This,
            /* [in] */ const RtConDesc *pDesc,
            /* [retval][out] */ IRsConDescriptor **ppConDesc);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RegisterConnectorDesc )( 
            IRsSysFactory * This,
            /* [in] */ IRsConDescriptor *pNewDesc,
            /* [out] */ IRsConDescriptor **ppRegDesc);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *FindNodeDesc )( 
            IRsSysFactory * This,
            /* [in] */ const IID *piid,
            /* [retval][out] */ IRsNodeDesc **ppNodeDesc);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *FindCmdDesc )( 
            IRsSysFactory * This,
            /* [in] */ const IID *piid,
            /* [retval][out] */ IRsCmdDesc **ppCmdDesc);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *FindConnectorDesc )( 
            IRsSysFactory * This,
            /* [in] */ const CONID *piid,
            /* [retval][out] */ IRsConDescriptor **ppConDesc);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateBaseToolMng )( 
            IRsSysFactory * This,
            /* [in] */ IUnknown *pUnkOuter,
            /* [retval][out] */ IUnknown **ppBaseToolMng);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *FindObjectIID )( 
            IRsSysFactory * This,
            /* [in] */ LPCWSTR szClassName,
            /* [retval][out] */ IID *piid);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RegisterConnectors )( 
            IRsSysFactory * This,
            /* [in] */ IRsUnknownPackage *pUnkPck);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RegisterNodes )( 
            IRsSysFactory * This,
            /* [in] */ IRsUnknownPackage *pUnkPck);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RegisterDataObjects )( 
            IRsSysFactory * This,
            /* [in] */ IRsUnknownPackage *pUnkPck);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RegisterCommands )( 
            IRsSysFactory * This,
            /* [in] */ IRsUnknownPackage *pUnkPck);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *FindParentPackage )( 
            IRsSysFactory * This,
            /* [in] */ IRsObject *pObj,
            /* [retval][out] */ IRsUnknownPackage **ppUnkPck);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RegisterLangObjects )( 
            IRsSysFactory * This,
            /* [in] */ IRsUnknownPackage *pUnkPck);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Destroy )( 
            IRsSysFactory * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateNodeWithDebugInfo )( 
            IRsSysFactory * This,
            /* [in] */ const IID *piid,
            /* [in] */ BSTR bsFile,
            /* [in] */ int iLine,
            /* [retval][out] */ IRsNode **ppNode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *FindObjectClassName )( 
            IRsSysFactory * This,
            /* [in] */ const IID *piid,
            /* [in] */ BSTR *pbsClassName);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateCOMObjectInstance )( 
            IRsSysFactory * This,
            /* [in] */ const IID *piid,
            /* [retval][out] */ IUnknown **ppObj);
        
        END_INTERFACE
    } IRsSysFactoryVtbl;

    interface IRsSysFactory
    {
        CONST_VTBL struct IRsSysFactoryVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsSysFactory_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsSysFactory_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsSysFactory_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsSysFactory_CreateNode(This,piid,ppNode)	\
    (This)->lpVtbl -> CreateNode(This,piid,ppNode)

#define IRsSysFactory_CreateCommand(This,piid,ppCmd)	\
    (This)->lpVtbl -> CreateCommand(This,piid,ppCmd)

#define IRsSysFactory_CreateDataObj(This,piid,ppDataObj)	\
    (This)->lpVtbl -> CreateDataObj(This,piid,ppDataObj)

#define IRsSysFactory_CreateLangObj(This,piid,ppLangObj)	\
    (This)->lpVtbl -> CreateLangObj(This,piid,ppLangObj)

#define IRsSysFactory_CreateCmdDesc(This,ppDesc)	\
    (This)->lpVtbl -> CreateCmdDesc(This,ppDesc)

#define IRsSysFactory_CreateNodeDesc(This,ppDesc)	\
    (This)->lpVtbl -> CreateNodeDesc(This,ppDesc)

#define IRsSysFactory_Update(This,pPackage)	\
    (This)->lpVtbl -> Update(This,pPackage)

#define IRsSysFactory_CreateDataObjDesc(This,ppDesc)	\
    (This)->lpVtbl -> CreateDataObjDesc(This,ppDesc)

#define IRsSysFactory_CreateLangObjDesc(This,ppDesc)	\
    (This)->lpVtbl -> CreateLangObjDesc(This,ppDesc)

#define IRsSysFactory_CreateConnectorDesc(This,pDesc,ppConDesc)	\
    (This)->lpVtbl -> CreateConnectorDesc(This,pDesc,ppConDesc)

#define IRsSysFactory_RegisterConnectorDesc(This,pNewDesc,ppRegDesc)	\
    (This)->lpVtbl -> RegisterConnectorDesc(This,pNewDesc,ppRegDesc)

#define IRsSysFactory_FindNodeDesc(This,piid,ppNodeDesc)	\
    (This)->lpVtbl -> FindNodeDesc(This,piid,ppNodeDesc)

#define IRsSysFactory_FindCmdDesc(This,piid,ppCmdDesc)	\
    (This)->lpVtbl -> FindCmdDesc(This,piid,ppCmdDesc)

#define IRsSysFactory_FindConnectorDesc(This,piid,ppConDesc)	\
    (This)->lpVtbl -> FindConnectorDesc(This,piid,ppConDesc)

#define IRsSysFactory_CreateBaseToolMng(This,pUnkOuter,ppBaseToolMng)	\
    (This)->lpVtbl -> CreateBaseToolMng(This,pUnkOuter,ppBaseToolMng)

#define IRsSysFactory_FindObjectIID(This,szClassName,piid)	\
    (This)->lpVtbl -> FindObjectIID(This,szClassName,piid)

#define IRsSysFactory_RegisterConnectors(This,pUnkPck)	\
    (This)->lpVtbl -> RegisterConnectors(This,pUnkPck)

#define IRsSysFactory_RegisterNodes(This,pUnkPck)	\
    (This)->lpVtbl -> RegisterNodes(This,pUnkPck)

#define IRsSysFactory_RegisterDataObjects(This,pUnkPck)	\
    (This)->lpVtbl -> RegisterDataObjects(This,pUnkPck)

#define IRsSysFactory_RegisterCommands(This,pUnkPck)	\
    (This)->lpVtbl -> RegisterCommands(This,pUnkPck)

#define IRsSysFactory_FindParentPackage(This,pObj,ppUnkPck)	\
    (This)->lpVtbl -> FindParentPackage(This,pObj,ppUnkPck)

#define IRsSysFactory_RegisterLangObjects(This,pUnkPck)	\
    (This)->lpVtbl -> RegisterLangObjects(This,pUnkPck)

#define IRsSysFactory_Destroy(This)	\
    (This)->lpVtbl -> Destroy(This)

#define IRsSysFactory_CreateNodeWithDebugInfo(This,piid,bsFile,iLine,ppNode)	\
    (This)->lpVtbl -> CreateNodeWithDebugInfo(This,piid,bsFile,iLine,ppNode)

#define IRsSysFactory_FindObjectClassName(This,piid,pbsClassName)	\
    (This)->lpVtbl -> FindObjectClassName(This,piid,pbsClassName)

#define IRsSysFactory_CreateCOMObjectInstance(This,piid,ppObj)	\
    (This)->lpVtbl -> CreateCOMObjectInstance(This,piid,ppObj)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsSysFactory_CreateNode_Proxy( 
    IRsSysFactory * This,
    /* [in] */ const IID *piid,
    /* [retval][out] */ IRsNode **ppNode);


void __RPC_STUB IRsSysFactory_CreateNode_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsSysFactory_CreateCommand_Proxy( 
    IRsSysFactory * This,
    /* [in] */ const IID *piid,
    /* [retval][out] */ IRsCommand **ppCmd);


void __RPC_STUB IRsSysFactory_CreateCommand_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsSysFactory_CreateDataObj_Proxy( 
    IRsSysFactory * This,
    /* [in] */ const IID *piid,
    /* [retval][out] */ IRsDataObject **ppDataObj);


void __RPC_STUB IRsSysFactory_CreateDataObj_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsSysFactory_CreateLangObj_Proxy( 
    IRsSysFactory * This,
    /* [in] */ const IID *piid,
    /* [retval][out] */ IRsLangObject **ppLangObj);


void __RPC_STUB IRsSysFactory_CreateLangObj_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsSysFactory_CreateCmdDesc_Proxy( 
    IRsSysFactory * This,
    /* [retval][out] */ IRsCmdDesc **ppDesc);


void __RPC_STUB IRsSysFactory_CreateCmdDesc_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsSysFactory_CreateNodeDesc_Proxy( 
    IRsSysFactory * This,
    /* [retval][out] */ IRsNodeDesc **ppDesc);


void __RPC_STUB IRsSysFactory_CreateNodeDesc_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsSysFactory_Update_Proxy( 
    IRsSysFactory * This,
    /* [in] */ IRsUnknownPackage *pPackage);


void __RPC_STUB IRsSysFactory_Update_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsSysFactory_CreateDataObjDesc_Proxy( 
    IRsSysFactory * This,
    /* [retval][out] */ IRsDataObjDesc **ppDesc);


void __RPC_STUB IRsSysFactory_CreateDataObjDesc_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsSysFactory_CreateLangObjDesc_Proxy( 
    IRsSysFactory * This,
    /* [retval][out] */ IRsLangObjDesc **ppDesc);


void __RPC_STUB IRsSysFactory_CreateLangObjDesc_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsSysFactory_CreateConnectorDesc_Proxy( 
    IRsSysFactory * This,
    /* [in] */ const RtConDesc *pDesc,
    /* [retval][out] */ IRsConDescriptor **ppConDesc);


void __RPC_STUB IRsSysFactory_CreateConnectorDesc_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsSysFactory_RegisterConnectorDesc_Proxy( 
    IRsSysFactory * This,
    /* [in] */ IRsConDescriptor *pNewDesc,
    /* [out] */ IRsConDescriptor **ppRegDesc);


void __RPC_STUB IRsSysFactory_RegisterConnectorDesc_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsSysFactory_FindNodeDesc_Proxy( 
    IRsSysFactory * This,
    /* [in] */ const IID *piid,
    /* [retval][out] */ IRsNodeDesc **ppNodeDesc);


void __RPC_STUB IRsSysFactory_FindNodeDesc_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsSysFactory_FindCmdDesc_Proxy( 
    IRsSysFactory * This,
    /* [in] */ const IID *piid,
    /* [retval][out] */ IRsCmdDesc **ppCmdDesc);


void __RPC_STUB IRsSysFactory_FindCmdDesc_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsSysFactory_FindConnectorDesc_Proxy( 
    IRsSysFactory * This,
    /* [in] */ const CONID *piid,
    /* [retval][out] */ IRsConDescriptor **ppConDesc);


void __RPC_STUB IRsSysFactory_FindConnectorDesc_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsSysFactory_CreateBaseToolMng_Proxy( 
    IRsSysFactory * This,
    /* [in] */ IUnknown *pUnkOuter,
    /* [retval][out] */ IUnknown **ppBaseToolMng);


void __RPC_STUB IRsSysFactory_CreateBaseToolMng_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsSysFactory_FindObjectIID_Proxy( 
    IRsSysFactory * This,
    /* [in] */ LPCWSTR szClassName,
    /* [retval][out] */ IID *piid);


void __RPC_STUB IRsSysFactory_FindObjectIID_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsSysFactory_RegisterConnectors_Proxy( 
    IRsSysFactory * This,
    /* [in] */ IRsUnknownPackage *pUnkPck);


void __RPC_STUB IRsSysFactory_RegisterConnectors_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsSysFactory_RegisterNodes_Proxy( 
    IRsSysFactory * This,
    /* [in] */ IRsUnknownPackage *pUnkPck);


void __RPC_STUB IRsSysFactory_RegisterNodes_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsSysFactory_RegisterDataObjects_Proxy( 
    IRsSysFactory * This,
    /* [in] */ IRsUnknownPackage *pUnkPck);


void __RPC_STUB IRsSysFactory_RegisterDataObjects_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsSysFactory_RegisterCommands_Proxy( 
    IRsSysFactory * This,
    /* [in] */ IRsUnknownPackage *pUnkPck);


void __RPC_STUB IRsSysFactory_RegisterCommands_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsSysFactory_FindParentPackage_Proxy( 
    IRsSysFactory * This,
    /* [in] */ IRsObject *pObj,
    /* [retval][out] */ IRsUnknownPackage **ppUnkPck);


void __RPC_STUB IRsSysFactory_FindParentPackage_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsSysFactory_RegisterLangObjects_Proxy( 
    IRsSysFactory * This,
    /* [in] */ IRsUnknownPackage *pUnkPck);


void __RPC_STUB IRsSysFactory_RegisterLangObjects_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsSysFactory_Destroy_Proxy( 
    IRsSysFactory * This);


void __RPC_STUB IRsSysFactory_Destroy_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsSysFactory_CreateNodeWithDebugInfo_Proxy( 
    IRsSysFactory * This,
    /* [in] */ const IID *piid,
    /* [in] */ BSTR bsFile,
    /* [in] */ int iLine,
    /* [retval][out] */ IRsNode **ppNode);


void __RPC_STUB IRsSysFactory_CreateNodeWithDebugInfo_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsSysFactory_FindObjectClassName_Proxy( 
    IRsSysFactory * This,
    /* [in] */ const IID *piid,
    /* [in] */ BSTR *pbsClassName);


void __RPC_STUB IRsSysFactory_FindObjectClassName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsSysFactory_CreateCOMObjectInstance_Proxy( 
    IRsSysFactory * This,
    /* [in] */ const IID *piid,
    /* [retval][out] */ IUnknown **ppObj);


void __RPC_STUB IRsSysFactory_CreateCOMObjectInstance_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsSysFactory_INTERFACE_DEFINED__ */


#ifndef __IRsHistory_INTERFACE_DEFINED__
#define __IRsHistory_INTERFACE_DEFINED__

/* interface IRsHistory */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsHistory;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("69EC6A80-7524-4672-AF98-3147528D1D4D")
    IRsHistory : public IRsObject
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Add( 
            /* [in] */ IRsCommand *pCmd) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Collapse( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE EnumCmds( 
            /* [out] */ RtUlong *pCNumCmds,
            /* [retval][out] */ IRsEnumCmds **ppEnum) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DepthLevel( 
            /* [retval][out] */ RtUlong *pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_DepthLevel( 
            /* [in] */ RtUlong newVal) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsHistoryVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsHistory * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsHistory * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsHistory * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassId )( 
            IRsHistory * This,
            /* [retval][out] */ GUID *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassName )( 
            IRsHistory * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Add )( 
            IRsHistory * This,
            /* [in] */ IRsCommand *pCmd);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Collapse )( 
            IRsHistory * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *EnumCmds )( 
            IRsHistory * This,
            /* [out] */ RtUlong *pCNumCmds,
            /* [retval][out] */ IRsEnumCmds **ppEnum);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DepthLevel )( 
            IRsHistory * This,
            /* [retval][out] */ RtUlong *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DepthLevel )( 
            IRsHistory * This,
            /* [in] */ RtUlong newVal);
        
        END_INTERFACE
    } IRsHistoryVtbl;

    interface IRsHistory
    {
        CONST_VTBL struct IRsHistoryVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsHistory_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsHistory_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsHistory_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsHistory_get_ClassId(This,pVal)	\
    (This)->lpVtbl -> get_ClassId(This,pVal)

#define IRsHistory_get_ClassName(This,pVal)	\
    (This)->lpVtbl -> get_ClassName(This,pVal)


#define IRsHistory_Add(This,pCmd)	\
    (This)->lpVtbl -> Add(This,pCmd)

#define IRsHistory_Collapse(This)	\
    (This)->lpVtbl -> Collapse(This)

#define IRsHistory_EnumCmds(This,pCNumCmds,ppEnum)	\
    (This)->lpVtbl -> EnumCmds(This,pCNumCmds,ppEnum)

#define IRsHistory_get_DepthLevel(This,pVal)	\
    (This)->lpVtbl -> get_DepthLevel(This,pVal)

#define IRsHistory_put_DepthLevel(This,newVal)	\
    (This)->lpVtbl -> put_DepthLevel(This,newVal)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsHistory_Add_Proxy( 
    IRsHistory * This,
    /* [in] */ IRsCommand *pCmd);


void __RPC_STUB IRsHistory_Add_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsHistory_Collapse_Proxy( 
    IRsHistory * This);


void __RPC_STUB IRsHistory_Collapse_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsHistory_EnumCmds_Proxy( 
    IRsHistory * This,
    /* [out] */ RtUlong *pCNumCmds,
    /* [retval][out] */ IRsEnumCmds **ppEnum);


void __RPC_STUB IRsHistory_EnumCmds_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRsHistory_get_DepthLevel_Proxy( 
    IRsHistory * This,
    /* [retval][out] */ RtUlong *pVal);


void __RPC_STUB IRsHistory_get_DepthLevel_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRsHistory_put_DepthLevel_Proxy( 
    IRsHistory * This,
    /* [in] */ RtUlong newVal);


void __RPC_STUB IRsHistory_put_DepthLevel_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsHistory_INTERFACE_DEFINED__ */


/* interface __MIDL_itf__Kernel_0882 */
/* [local] */ 

typedef 
enum _tagRtStackInfo
    {	RS_UNDOSTACK_ALL	= 1,
	RS_UNDOSTACK_ONLYUNDO	= 2,
	RS_UNDOSTACK_ONLYREDO	= 3
    } 	RtStackInfo;

typedef 
enum _tagRtExecutionStatus
    {	RS_ES_NONE	= 1,
	RS_ES_EXECUTE	= 2,
	RS_ES_UNDO	= 3,
	RS_ES_REDO	= 4
    } 	RtExecutionStatus;



extern RPC_IF_HANDLE __MIDL_itf__Kernel_0882_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf__Kernel_0882_v0_0_s_ifspec;

#ifndef __IRsCommandMng_INTERFACE_DEFINED__
#define __IRsCommandMng_INTERFACE_DEFINED__

/* interface IRsCommandMng */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsCommandMng;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("F1D51C3D-6759-4064-9753-E0AD2E07B3E2")
    IRsCommandMng : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Execute( 
            /* [in] */ IRsCommand *pCmd) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Undo( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Redo( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Clear( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE EnumStackCommands( 
            /* [in] */ RtStackInfo eRequest,
            /* [retval][out] */ IRsEnumCmds **ppEnum) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ExecutingCmd( 
            /* [retval][out] */ IRsCommand **pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Hook( 
            /* [in] */ IRsNotify *pListener) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Unhook( 
            /* [in] */ IRsNotify *pListener) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DepthLevel( 
            /* [retval][out] */ RtUlong *pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_DepthLevel( 
            /* [in] */ RtUlong newVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ExecutionStatus( 
            /* [retval][out] */ RtExecutionStatus *pVal) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsCommandMngVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsCommandMng * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsCommandMng * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsCommandMng * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Execute )( 
            IRsCommandMng * This,
            /* [in] */ IRsCommand *pCmd);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Undo )( 
            IRsCommandMng * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Redo )( 
            IRsCommandMng * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Clear )( 
            IRsCommandMng * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *EnumStackCommands )( 
            IRsCommandMng * This,
            /* [in] */ RtStackInfo eRequest,
            /* [retval][out] */ IRsEnumCmds **ppEnum);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ExecutingCmd )( 
            IRsCommandMng * This,
            /* [retval][out] */ IRsCommand **pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Hook )( 
            IRsCommandMng * This,
            /* [in] */ IRsNotify *pListener);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Unhook )( 
            IRsCommandMng * This,
            /* [in] */ IRsNotify *pListener);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DepthLevel )( 
            IRsCommandMng * This,
            /* [retval][out] */ RtUlong *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DepthLevel )( 
            IRsCommandMng * This,
            /* [in] */ RtUlong newVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ExecutionStatus )( 
            IRsCommandMng * This,
            /* [retval][out] */ RtExecutionStatus *pVal);
        
        END_INTERFACE
    } IRsCommandMngVtbl;

    interface IRsCommandMng
    {
        CONST_VTBL struct IRsCommandMngVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsCommandMng_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsCommandMng_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsCommandMng_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsCommandMng_Execute(This,pCmd)	\
    (This)->lpVtbl -> Execute(This,pCmd)

#define IRsCommandMng_Undo(This)	\
    (This)->lpVtbl -> Undo(This)

#define IRsCommandMng_Redo(This)	\
    (This)->lpVtbl -> Redo(This)

#define IRsCommandMng_Clear(This)	\
    (This)->lpVtbl -> Clear(This)

#define IRsCommandMng_EnumStackCommands(This,eRequest,ppEnum)	\
    (This)->lpVtbl -> EnumStackCommands(This,eRequest,ppEnum)

#define IRsCommandMng_get_ExecutingCmd(This,pVal)	\
    (This)->lpVtbl -> get_ExecutingCmd(This,pVal)

#define IRsCommandMng_Hook(This,pListener)	\
    (This)->lpVtbl -> Hook(This,pListener)

#define IRsCommandMng_Unhook(This,pListener)	\
    (This)->lpVtbl -> Unhook(This,pListener)

#define IRsCommandMng_get_DepthLevel(This,pVal)	\
    (This)->lpVtbl -> get_DepthLevel(This,pVal)

#define IRsCommandMng_put_DepthLevel(This,newVal)	\
    (This)->lpVtbl -> put_DepthLevel(This,newVal)

#define IRsCommandMng_get_ExecutionStatus(This,pVal)	\
    (This)->lpVtbl -> get_ExecutionStatus(This,pVal)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsCommandMng_Execute_Proxy( 
    IRsCommandMng * This,
    /* [in] */ IRsCommand *pCmd);


void __RPC_STUB IRsCommandMng_Execute_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsCommandMng_Undo_Proxy( 
    IRsCommandMng * This);


void __RPC_STUB IRsCommandMng_Undo_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsCommandMng_Redo_Proxy( 
    IRsCommandMng * This);


void __RPC_STUB IRsCommandMng_Redo_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsCommandMng_Clear_Proxy( 
    IRsCommandMng * This);


void __RPC_STUB IRsCommandMng_Clear_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsCommandMng_EnumStackCommands_Proxy( 
    IRsCommandMng * This,
    /* [in] */ RtStackInfo eRequest,
    /* [retval][out] */ IRsEnumCmds **ppEnum);


void __RPC_STUB IRsCommandMng_EnumStackCommands_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRsCommandMng_get_ExecutingCmd_Proxy( 
    IRsCommandMng * This,
    /* [retval][out] */ IRsCommand **pVal);


void __RPC_STUB IRsCommandMng_get_ExecutingCmd_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsCommandMng_Hook_Proxy( 
    IRsCommandMng * This,
    /* [in] */ IRsNotify *pListener);


void __RPC_STUB IRsCommandMng_Hook_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsCommandMng_Unhook_Proxy( 
    IRsCommandMng * This,
    /* [in] */ IRsNotify *pListener);


void __RPC_STUB IRsCommandMng_Unhook_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRsCommandMng_get_DepthLevel_Proxy( 
    IRsCommandMng * This,
    /* [retval][out] */ RtUlong *pVal);


void __RPC_STUB IRsCommandMng_get_DepthLevel_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRsCommandMng_put_DepthLevel_Proxy( 
    IRsCommandMng * This,
    /* [in] */ RtUlong newVal);


void __RPC_STUB IRsCommandMng_put_DepthLevel_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRsCommandMng_get_ExecutionStatus_Proxy( 
    IRsCommandMng * This,
    /* [retval][out] */ RtExecutionStatus *pVal);


void __RPC_STUB IRsCommandMng_get_ExecutionStatus_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsCommandMng_INTERFACE_DEFINED__ */


#ifndef __IRsScriptDriver_INTERFACE_DEFINED__
#define __IRsScriptDriver_INTERFACE_DEFINED__

/* interface IRsScriptDriver */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsScriptDriver;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("E57EB0C8-3565-4e81-A94A-0A3E7E12CC28")
    IRsScriptDriver : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE Initialize( 
            /* [in] */ const IID *clsidEngine,
            /* [in] */ RtScriptDrv scriptDrv) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Clone( 
            /* [in] */ IRsScriptDriver **ppNewObj) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Connect( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Close( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetScriptEngine( 
            /* [in] */ IActiveScript **pScript) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetScriptDispatch( 
            /* [in] */ BSTR bsObj,
            /* [in] */ IDispatch **pScriptDisp) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ParseScriptFile( 
            /* [in] */ LPCWSTR szFileName) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ParseScriptCommand( 
            /* [in] */ LPCWSTR szCommand) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE AddNamedItem( 
            /* [in] */ BSTR szName,
            /* [in] */ IUnknown *pUnk) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE RegisterNamedItem( 
            /* [in] */ BSTR szName,
            /* [in] */ IUnknown *pUnk) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ParseOnlyScript( 
            /* [in] */ BSTR szNameSpace,
            /* [in] */ BSTR szCommand,
            /* [in] */ RtScriptErrorInfo *pErrInfo) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ExecuteScriptParamCommand( 
            /* [in] */ BSTR szNameSpace,
            /* [in] */ BSTR szStarter,
            /* [in] */ VARIANT *pParamObj,
            /* [in] */ RtScriptErrorInfo *pErrInfo) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE CheckScriptCommand( 
            /* [in] */ BSTR szCommand,
            /* [in] */ RtScriptErrorInfo *pErrInfo) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE FormatErrorMsg( 
            /* [in] */ RtScriptErrorInfo errInfo,
            /* [in] */ BSTR bsSourceScriptText,
            /* [in] */ BSTR *bsErrMsg) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Invoke( 
            /* [in] */ LPWSTR szMethod) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Disconnect( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetErrorInfo( 
            /* [in] */ DWORD dwThreadId,
            /* [in] */ RtScriptErrorInfo *pErrInfo) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE RegisterSheduledNamedItems( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsScriptDriverVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsScriptDriver * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsScriptDriver * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsScriptDriver * This);
        
        HRESULT ( STDMETHODCALLTYPE *Initialize )( 
            IRsScriptDriver * This,
            /* [in] */ const IID *clsidEngine,
            /* [in] */ RtScriptDrv scriptDrv);
        
        HRESULT ( STDMETHODCALLTYPE *Clone )( 
            IRsScriptDriver * This,
            /* [in] */ IRsScriptDriver **ppNewObj);
        
        HRESULT ( STDMETHODCALLTYPE *Connect )( 
            IRsScriptDriver * This);
        
        HRESULT ( STDMETHODCALLTYPE *Reset )( 
            IRsScriptDriver * This);
        
        HRESULT ( STDMETHODCALLTYPE *Close )( 
            IRsScriptDriver * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetScriptEngine )( 
            IRsScriptDriver * This,
            /* [in] */ IActiveScript **pScript);
        
        HRESULT ( STDMETHODCALLTYPE *GetScriptDispatch )( 
            IRsScriptDriver * This,
            /* [in] */ BSTR bsObj,
            /* [in] */ IDispatch **pScriptDisp);
        
        HRESULT ( STDMETHODCALLTYPE *ParseScriptFile )( 
            IRsScriptDriver * This,
            /* [in] */ LPCWSTR szFileName);
        
        HRESULT ( STDMETHODCALLTYPE *ParseScriptCommand )( 
            IRsScriptDriver * This,
            /* [in] */ LPCWSTR szCommand);
        
        HRESULT ( STDMETHODCALLTYPE *AddNamedItem )( 
            IRsScriptDriver * This,
            /* [in] */ BSTR szName,
            /* [in] */ IUnknown *pUnk);
        
        HRESULT ( STDMETHODCALLTYPE *RegisterNamedItem )( 
            IRsScriptDriver * This,
            /* [in] */ BSTR szName,
            /* [in] */ IUnknown *pUnk);
        
        HRESULT ( STDMETHODCALLTYPE *ParseOnlyScript )( 
            IRsScriptDriver * This,
            /* [in] */ BSTR szNameSpace,
            /* [in] */ BSTR szCommand,
            /* [in] */ RtScriptErrorInfo *pErrInfo);
        
        HRESULT ( STDMETHODCALLTYPE *ExecuteScriptParamCommand )( 
            IRsScriptDriver * This,
            /* [in] */ BSTR szNameSpace,
            /* [in] */ BSTR szStarter,
            /* [in] */ VARIANT *pParamObj,
            /* [in] */ RtScriptErrorInfo *pErrInfo);
        
        HRESULT ( STDMETHODCALLTYPE *CheckScriptCommand )( 
            IRsScriptDriver * This,
            /* [in] */ BSTR szCommand,
            /* [in] */ RtScriptErrorInfo *pErrInfo);
        
        HRESULT ( STDMETHODCALLTYPE *FormatErrorMsg )( 
            IRsScriptDriver * This,
            /* [in] */ RtScriptErrorInfo errInfo,
            /* [in] */ BSTR bsSourceScriptText,
            /* [in] */ BSTR *bsErrMsg);
        
        HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IRsScriptDriver * This,
            /* [in] */ LPWSTR szMethod);
        
        HRESULT ( STDMETHODCALLTYPE *Disconnect )( 
            IRsScriptDriver * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetErrorInfo )( 
            IRsScriptDriver * This,
            /* [in] */ DWORD dwThreadId,
            /* [in] */ RtScriptErrorInfo *pErrInfo);
        
        HRESULT ( STDMETHODCALLTYPE *RegisterSheduledNamedItems )( 
            IRsScriptDriver * This);
        
        END_INTERFACE
    } IRsScriptDriverVtbl;

    interface IRsScriptDriver
    {
        CONST_VTBL struct IRsScriptDriverVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsScriptDriver_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsScriptDriver_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsScriptDriver_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsScriptDriver_Initialize(This,clsidEngine,scriptDrv)	\
    (This)->lpVtbl -> Initialize(This,clsidEngine,scriptDrv)

#define IRsScriptDriver_Clone(This,ppNewObj)	\
    (This)->lpVtbl -> Clone(This,ppNewObj)

#define IRsScriptDriver_Connect(This)	\
    (This)->lpVtbl -> Connect(This)

#define IRsScriptDriver_Reset(This)	\
    (This)->lpVtbl -> Reset(This)

#define IRsScriptDriver_Close(This)	\
    (This)->lpVtbl -> Close(This)

#define IRsScriptDriver_GetScriptEngine(This,pScript)	\
    (This)->lpVtbl -> GetScriptEngine(This,pScript)

#define IRsScriptDriver_GetScriptDispatch(This,bsObj,pScriptDisp)	\
    (This)->lpVtbl -> GetScriptDispatch(This,bsObj,pScriptDisp)

#define IRsScriptDriver_ParseScriptFile(This,szFileName)	\
    (This)->lpVtbl -> ParseScriptFile(This,szFileName)

#define IRsScriptDriver_ParseScriptCommand(This,szCommand)	\
    (This)->lpVtbl -> ParseScriptCommand(This,szCommand)

#define IRsScriptDriver_AddNamedItem(This,szName,pUnk)	\
    (This)->lpVtbl -> AddNamedItem(This,szName,pUnk)

#define IRsScriptDriver_RegisterNamedItem(This,szName,pUnk)	\
    (This)->lpVtbl -> RegisterNamedItem(This,szName,pUnk)

#define IRsScriptDriver_ParseOnlyScript(This,szNameSpace,szCommand,pErrInfo)	\
    (This)->lpVtbl -> ParseOnlyScript(This,szNameSpace,szCommand,pErrInfo)

#define IRsScriptDriver_ExecuteScriptParamCommand(This,szNameSpace,szStarter,pParamObj,pErrInfo)	\
    (This)->lpVtbl -> ExecuteScriptParamCommand(This,szNameSpace,szStarter,pParamObj,pErrInfo)

#define IRsScriptDriver_CheckScriptCommand(This,szCommand,pErrInfo)	\
    (This)->lpVtbl -> CheckScriptCommand(This,szCommand,pErrInfo)

#define IRsScriptDriver_FormatErrorMsg(This,errInfo,bsSourceScriptText,bsErrMsg)	\
    (This)->lpVtbl -> FormatErrorMsg(This,errInfo,bsSourceScriptText,bsErrMsg)

#define IRsScriptDriver_Invoke(This,szMethod)	\
    (This)->lpVtbl -> Invoke(This,szMethod)

#define IRsScriptDriver_Disconnect(This)	\
    (This)->lpVtbl -> Disconnect(This)

#define IRsScriptDriver_GetErrorInfo(This,dwThreadId,pErrInfo)	\
    (This)->lpVtbl -> GetErrorInfo(This,dwThreadId,pErrInfo)

#define IRsScriptDriver_RegisterSheduledNamedItems(This)	\
    (This)->lpVtbl -> RegisterSheduledNamedItems(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



HRESULT STDMETHODCALLTYPE IRsScriptDriver_Initialize_Proxy( 
    IRsScriptDriver * This,
    /* [in] */ const IID *clsidEngine,
    /* [in] */ RtScriptDrv scriptDrv);


void __RPC_STUB IRsScriptDriver_Initialize_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IRsScriptDriver_Clone_Proxy( 
    IRsScriptDriver * This,
    /* [in] */ IRsScriptDriver **ppNewObj);


void __RPC_STUB IRsScriptDriver_Clone_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IRsScriptDriver_Connect_Proxy( 
    IRsScriptDriver * This);


void __RPC_STUB IRsScriptDriver_Connect_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IRsScriptDriver_Reset_Proxy( 
    IRsScriptDriver * This);


void __RPC_STUB IRsScriptDriver_Reset_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IRsScriptDriver_Close_Proxy( 
    IRsScriptDriver * This);


void __RPC_STUB IRsScriptDriver_Close_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IRsScriptDriver_GetScriptEngine_Proxy( 
    IRsScriptDriver * This,
    /* [in] */ IActiveScript **pScript);


void __RPC_STUB IRsScriptDriver_GetScriptEngine_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IRsScriptDriver_GetScriptDispatch_Proxy( 
    IRsScriptDriver * This,
    /* [in] */ BSTR bsObj,
    /* [in] */ IDispatch **pScriptDisp);


void __RPC_STUB IRsScriptDriver_GetScriptDispatch_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IRsScriptDriver_ParseScriptFile_Proxy( 
    IRsScriptDriver * This,
    /* [in] */ LPCWSTR szFileName);


void __RPC_STUB IRsScriptDriver_ParseScriptFile_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IRsScriptDriver_ParseScriptCommand_Proxy( 
    IRsScriptDriver * This,
    /* [in] */ LPCWSTR szCommand);


void __RPC_STUB IRsScriptDriver_ParseScriptCommand_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IRsScriptDriver_AddNamedItem_Proxy( 
    IRsScriptDriver * This,
    /* [in] */ BSTR szName,
    /* [in] */ IUnknown *pUnk);


void __RPC_STUB IRsScriptDriver_AddNamedItem_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IRsScriptDriver_RegisterNamedItem_Proxy( 
    IRsScriptDriver * This,
    /* [in] */ BSTR szName,
    /* [in] */ IUnknown *pUnk);


void __RPC_STUB IRsScriptDriver_RegisterNamedItem_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IRsScriptDriver_ParseOnlyScript_Proxy( 
    IRsScriptDriver * This,
    /* [in] */ BSTR szNameSpace,
    /* [in] */ BSTR szCommand,
    /* [in] */ RtScriptErrorInfo *pErrInfo);


void __RPC_STUB IRsScriptDriver_ParseOnlyScript_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IRsScriptDriver_ExecuteScriptParamCommand_Proxy( 
    IRsScriptDriver * This,
    /* [in] */ BSTR szNameSpace,
    /* [in] */ BSTR szStarter,
    /* [in] */ VARIANT *pParamObj,
    /* [in] */ RtScriptErrorInfo *pErrInfo);


void __RPC_STUB IRsScriptDriver_ExecuteScriptParamCommand_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IRsScriptDriver_CheckScriptCommand_Proxy( 
    IRsScriptDriver * This,
    /* [in] */ BSTR szCommand,
    /* [in] */ RtScriptErrorInfo *pErrInfo);


void __RPC_STUB IRsScriptDriver_CheckScriptCommand_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IRsScriptDriver_FormatErrorMsg_Proxy( 
    IRsScriptDriver * This,
    /* [in] */ RtScriptErrorInfo errInfo,
    /* [in] */ BSTR bsSourceScriptText,
    /* [in] */ BSTR *bsErrMsg);


void __RPC_STUB IRsScriptDriver_FormatErrorMsg_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IRsScriptDriver_Invoke_Proxy( 
    IRsScriptDriver * This,
    /* [in] */ LPWSTR szMethod);


void __RPC_STUB IRsScriptDriver_Invoke_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IRsScriptDriver_Disconnect_Proxy( 
    IRsScriptDriver * This);


void __RPC_STUB IRsScriptDriver_Disconnect_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IRsScriptDriver_GetErrorInfo_Proxy( 
    IRsScriptDriver * This,
    /* [in] */ DWORD dwThreadId,
    /* [in] */ RtScriptErrorInfo *pErrInfo);


void __RPC_STUB IRsScriptDriver_GetErrorInfo_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IRsScriptDriver_RegisterSheduledNamedItems_Proxy( 
    IRsScriptDriver * This);


void __RPC_STUB IRsScriptDriver_RegisterSheduledNamedItems_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsScriptDriver_INTERFACE_DEFINED__ */


#ifndef __IRsEncapsIt_INTERFACE_DEFINED__
#define __IRsEncapsIt_INTERFACE_DEFINED__

/* interface IRsEncapsIt */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsEncapsIt;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("FAA37B07-DB60-4C3A-A8B0-278D2453022B")
    IRsEncapsIt : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Initialize( 
            /* [in] */ IRnEncapsulator *pNode,
            /* [in] */ RtTraversalType type,
            /* [in] */ GUID filter) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Next( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE IsFinished( 
            /* [retval][out] */ RtBool *bFinished) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetItem( 
            /* [retval][out] */ IRsNode **ppItem) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetRoot( 
            /* [retval][out] */ IRnEncapsulator **ppRoot) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetCurDepth( 
            /* [retval][out] */ RtUlong *pDepth) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsEncapsItVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsEncapsIt * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsEncapsIt * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsEncapsIt * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Initialize )( 
            IRsEncapsIt * This,
            /* [in] */ IRnEncapsulator *pNode,
            /* [in] */ RtTraversalType type,
            /* [in] */ GUID filter);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Next )( 
            IRsEncapsIt * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *IsFinished )( 
            IRsEncapsIt * This,
            /* [retval][out] */ RtBool *bFinished);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetItem )( 
            IRsEncapsIt * This,
            /* [retval][out] */ IRsNode **ppItem);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetRoot )( 
            IRsEncapsIt * This,
            /* [retval][out] */ IRnEncapsulator **ppRoot);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetCurDepth )( 
            IRsEncapsIt * This,
            /* [retval][out] */ RtUlong *pDepth);
        
        END_INTERFACE
    } IRsEncapsItVtbl;

    interface IRsEncapsIt
    {
        CONST_VTBL struct IRsEncapsItVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsEncapsIt_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsEncapsIt_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsEncapsIt_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsEncapsIt_Initialize(This,pNode,type,filter)	\
    (This)->lpVtbl -> Initialize(This,pNode,type,filter)

#define IRsEncapsIt_Next(This)	\
    (This)->lpVtbl -> Next(This)

#define IRsEncapsIt_IsFinished(This,bFinished)	\
    (This)->lpVtbl -> IsFinished(This,bFinished)

#define IRsEncapsIt_GetItem(This,ppItem)	\
    (This)->lpVtbl -> GetItem(This,ppItem)

#define IRsEncapsIt_GetRoot(This,ppRoot)	\
    (This)->lpVtbl -> GetRoot(This,ppRoot)

#define IRsEncapsIt_GetCurDepth(This,pDepth)	\
    (This)->lpVtbl -> GetCurDepth(This,pDepth)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsEncapsIt_Initialize_Proxy( 
    IRsEncapsIt * This,
    /* [in] */ IRnEncapsulator *pNode,
    /* [in] */ RtTraversalType type,
    /* [in] */ GUID filter);


void __RPC_STUB IRsEncapsIt_Initialize_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsEncapsIt_Next_Proxy( 
    IRsEncapsIt * This);


void __RPC_STUB IRsEncapsIt_Next_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsEncapsIt_IsFinished_Proxy( 
    IRsEncapsIt * This,
    /* [retval][out] */ RtBool *bFinished);


void __RPC_STUB IRsEncapsIt_IsFinished_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsEncapsIt_GetItem_Proxy( 
    IRsEncapsIt * This,
    /* [retval][out] */ IRsNode **ppItem);


void __RPC_STUB IRsEncapsIt_GetItem_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsEncapsIt_GetRoot_Proxy( 
    IRsEncapsIt * This,
    /* [retval][out] */ IRnEncapsulator **ppRoot);


void __RPC_STUB IRsEncapsIt_GetRoot_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsEncapsIt_GetCurDepth_Proxy( 
    IRsEncapsIt * This,
    /* [retval][out] */ RtUlong *pDepth);


void __RPC_STUB IRsEncapsIt_GetCurDepth_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsEncapsIt_INTERFACE_DEFINED__ */


#ifndef __IRnTimer_INTERFACE_DEFINED__
#define __IRnTimer_INTERFACE_DEFINED__

/* interface IRnTimer */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnTimer;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("E85EAAC0-2030-48CE-A35A-842264F2F3C2")
    IRnTimer : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetTimer( 
            /* [in] */ RtUlong dwPeriod) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE TerminateTimer( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Tick( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ProcessTick( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ResetTimer( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRnTimerVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnTimer * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnTimer * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnTimer * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetTimer )( 
            IRnTimer * This,
            /* [in] */ RtUlong dwPeriod);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *TerminateTimer )( 
            IRnTimer * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Tick )( 
            IRnTimer * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ProcessTick )( 
            IRnTimer * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ResetTimer )( 
            IRnTimer * This);
        
        END_INTERFACE
    } IRnTimerVtbl;

    interface IRnTimer
    {
        CONST_VTBL struct IRnTimerVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnTimer_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnTimer_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnTimer_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRnTimer_SetTimer(This,dwPeriod)	\
    (This)->lpVtbl -> SetTimer(This,dwPeriod)

#define IRnTimer_TerminateTimer(This)	\
    (This)->lpVtbl -> TerminateTimer(This)

#define IRnTimer_Tick(This)	\
    (This)->lpVtbl -> Tick(This)

#define IRnTimer_ProcessTick(This)	\
    (This)->lpVtbl -> ProcessTick(This)

#define IRnTimer_ResetTimer(This)	\
    (This)->lpVtbl -> ResetTimer(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnTimer_SetTimer_Proxy( 
    IRnTimer * This,
    /* [in] */ RtUlong dwPeriod);


void __RPC_STUB IRnTimer_SetTimer_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnTimer_TerminateTimer_Proxy( 
    IRnTimer * This);


void __RPC_STUB IRnTimer_TerminateTimer_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnTimer_Tick_Proxy( 
    IRnTimer * This);


void __RPC_STUB IRnTimer_Tick_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnTimer_ProcessTick_Proxy( 
    IRnTimer * This);


void __RPC_STUB IRnTimer_ProcessTick_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnTimer_ResetTimer_Proxy( 
    IRnTimer * This);


void __RPC_STUB IRnTimer_ResetTimer_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRnTimer_INTERFACE_DEFINED__ */


#ifndef __IRnOutputServer_INTERFACE_DEFINED__
#define __IRnOutputServer_INTERFACE_DEFINED__

/* interface IRnOutputServer */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnOutputServer;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("33E29A20-97F4-4308-9756-E927AC15FC53")
    IRnOutputServer : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRnOutputServerVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnOutputServer * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnOutputServer * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnOutputServer * This);
        
        END_INTERFACE
    } IRnOutputServerVtbl;

    interface IRnOutputServer
    {
        CONST_VTBL struct IRnOutputServerVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnOutputServer_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnOutputServer_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnOutputServer_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRnOutputServer_INTERFACE_DEFINED__ */


#ifndef __IRnKernel_INTERFACE_DEFINED__
#define __IRnKernel_INTERFACE_DEFINED__

/* interface IRnKernel */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnKernel;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("07F9E93B-49EC-4da3-B3A5-89AB111230AB")
    IRnKernel : public IRsObject
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OutputString( 
            /* [in] */ BSTR szString) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE InvalidateSubGraph( 
            /* [in] */ IRnEncapsulator *pRoot) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRnKernelVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnKernel * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnKernel * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnKernel * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassId )( 
            IRnKernel * This,
            /* [retval][out] */ GUID *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassName )( 
            IRnKernel * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OutputString )( 
            IRnKernel * This,
            /* [in] */ BSTR szString);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *InvalidateSubGraph )( 
            IRnKernel * This,
            /* [in] */ IRnEncapsulator *pRoot);
        
        END_INTERFACE
    } IRnKernelVtbl;

    interface IRnKernel
    {
        CONST_VTBL struct IRnKernelVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnKernel_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnKernel_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnKernel_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRnKernel_get_ClassId(This,pVal)	\
    (This)->lpVtbl -> get_ClassId(This,pVal)

#define IRnKernel_get_ClassName(This,pVal)	\
    (This)->lpVtbl -> get_ClassName(This,pVal)


#define IRnKernel_OutputString(This,szString)	\
    (This)->lpVtbl -> OutputString(This,szString)

#define IRnKernel_InvalidateSubGraph(This,pRoot)	\
    (This)->lpVtbl -> InvalidateSubGraph(This,pRoot)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnKernel_OutputString_Proxy( 
    IRnKernel * This,
    /* [in] */ BSTR szString);


void __RPC_STUB IRnKernel_OutputString_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnKernel_InvalidateSubGraph_Proxy( 
    IRnKernel * This,
    /* [in] */ IRnEncapsulator *pRoot);


void __RPC_STUB IRnKernel_InvalidateSubGraph_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRnKernel_INTERFACE_DEFINED__ */


#ifndef __IRfKernelSet_INTERFACE_DEFINED__
#define __IRfKernelSet_INTERFACE_DEFINED__

/* interface IRfKernelSet */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRfKernelSet;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("21D1A896-9617-44FB-A5D8-882DCCF47362")
    IRfKernelSet : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetOutputServer( 
            /* [retval][out] */ IRnOutputServer **ppNode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CopyNode( 
            /* [in] */ IRsNode *pNode,
            /* [retval][out] */ IRsNode **ppNewNode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetMainDir( 
            /* [retval][out] */ BSTR *pbMainDirectory) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetCmdScriptForm( 
            /* [in] */ IRsCommand *pCmd,
            /* [in] */ RtScriptDrv scriptDrv,
            /* [in] */ RtBool bAllowMultiLine,
            /* [in] */ RtShort nLineLength,
            /* [in] */ RtBool bAllowRetVal,
            /* [out] */ BSTR *pbsCommandLine,
            /* [out] */ BSTR *pbsRetValName,
            /* [out] */ BSTR *pbsRetValValue) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CopyNodeContent( 
            /* [in] */ IRnEncapsulator *pDstEncaps,
            /* [in] */ IRnEncapsulator *pSrcEncaps,
            /* [in] */ RtBool bCopySrcCons) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRfKernelSetVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRfKernelSet * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRfKernelSet * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRfKernelSet * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetOutputServer )( 
            IRfKernelSet * This,
            /* [retval][out] */ IRnOutputServer **ppNode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CopyNode )( 
            IRfKernelSet * This,
            /* [in] */ IRsNode *pNode,
            /* [retval][out] */ IRsNode **ppNewNode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetMainDir )( 
            IRfKernelSet * This,
            /* [retval][out] */ BSTR *pbMainDirectory);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetCmdScriptForm )( 
            IRfKernelSet * This,
            /* [in] */ IRsCommand *pCmd,
            /* [in] */ RtScriptDrv scriptDrv,
            /* [in] */ RtBool bAllowMultiLine,
            /* [in] */ RtShort nLineLength,
            /* [in] */ RtBool bAllowRetVal,
            /* [out] */ BSTR *pbsCommandLine,
            /* [out] */ BSTR *pbsRetValName,
            /* [out] */ BSTR *pbsRetValValue);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CopyNodeContent )( 
            IRfKernelSet * This,
            /* [in] */ IRnEncapsulator *pDstEncaps,
            /* [in] */ IRnEncapsulator *pSrcEncaps,
            /* [in] */ RtBool bCopySrcCons);
        
        END_INTERFACE
    } IRfKernelSetVtbl;

    interface IRfKernelSet
    {
        CONST_VTBL struct IRfKernelSetVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRfKernelSet_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRfKernelSet_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRfKernelSet_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRfKernelSet_GetOutputServer(This,ppNode)	\
    (This)->lpVtbl -> GetOutputServer(This,ppNode)

#define IRfKernelSet_CopyNode(This,pNode,ppNewNode)	\
    (This)->lpVtbl -> CopyNode(This,pNode,ppNewNode)

#define IRfKernelSet_GetMainDir(This,pbMainDirectory)	\
    (This)->lpVtbl -> GetMainDir(This,pbMainDirectory)

#define IRfKernelSet_GetCmdScriptForm(This,pCmd,scriptDrv,bAllowMultiLine,nLineLength,bAllowRetVal,pbsCommandLine,pbsRetValName,pbsRetValValue)	\
    (This)->lpVtbl -> GetCmdScriptForm(This,pCmd,scriptDrv,bAllowMultiLine,nLineLength,bAllowRetVal,pbsCommandLine,pbsRetValName,pbsRetValValue)

#define IRfKernelSet_CopyNodeContent(This,pDstEncaps,pSrcEncaps,bCopySrcCons)	\
    (This)->lpVtbl -> CopyNodeContent(This,pDstEncaps,pSrcEncaps,bCopySrcCons)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfKernelSet_GetOutputServer_Proxy( 
    IRfKernelSet * This,
    /* [retval][out] */ IRnOutputServer **ppNode);


void __RPC_STUB IRfKernelSet_GetOutputServer_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfKernelSet_CopyNode_Proxy( 
    IRfKernelSet * This,
    /* [in] */ IRsNode *pNode,
    /* [retval][out] */ IRsNode **ppNewNode);


void __RPC_STUB IRfKernelSet_CopyNode_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfKernelSet_GetMainDir_Proxy( 
    IRfKernelSet * This,
    /* [retval][out] */ BSTR *pbMainDirectory);


void __RPC_STUB IRfKernelSet_GetMainDir_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfKernelSet_GetCmdScriptForm_Proxy( 
    IRfKernelSet * This,
    /* [in] */ IRsCommand *pCmd,
    /* [in] */ RtScriptDrv scriptDrv,
    /* [in] */ RtBool bAllowMultiLine,
    /* [in] */ RtShort nLineLength,
    /* [in] */ RtBool bAllowRetVal,
    /* [out] */ BSTR *pbsCommandLine,
    /* [out] */ BSTR *pbsRetValName,
    /* [out] */ BSTR *pbsRetValValue);


void __RPC_STUB IRfKernelSet_GetCmdScriptForm_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfKernelSet_CopyNodeContent_Proxy( 
    IRfKernelSet * This,
    /* [in] */ IRnEncapsulator *pDstEncaps,
    /* [in] */ IRnEncapsulator *pSrcEncaps,
    /* [in] */ RtBool bCopySrcCons);


void __RPC_STUB IRfKernelSet_CopyNodeContent_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRfKernelSet_INTERFACE_DEFINED__ */


#ifndef __IRfEncapsulatorSet_INTERFACE_DEFINED__
#define __IRfEncapsulatorSet_INTERFACE_DEFINED__

/* interface IRfEncapsulatorSet */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRfEncapsulatorSet;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3F0C2C24-E6B9-4eb6-9900-D5B4FB66FE71")
    IRfEncapsulatorSet : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Attach( 
            /* [in] */ IRsNode *pNode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetOwner( 
            /* [retval][out] */ IRnEncapsulator **ppEncaps) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RemoveFromSpace( 
            /* [in] */ IRsNode *pNode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ExportConnector( 
            /* [in] */ IRsConnector *pCon,
            /* [in] */ RtBool bConnect,
            /* [in] */ RtBool bSetValue,
            /* [in] */ RtBool bOutside,
            /* [retval][out] */ IRsConnector **ppExpCon) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE IsInSubSpace( 
            /* [in] */ IRsNode *pNode,
            /* [out] */ RtLong *pDepth) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE MoveSubSpaceContent( 
            /* [in] */ IRnEncapsulator *pSourceEncaps) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ClearContent( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE EncapsulateObjects( 
            /* [in] */ BSTR bstrName,
            /* [in] */ IRsObjectList *pObjList,
            /* [out] */ IRsNode **ppNewEncaps,
            /* [out] */ IRnEncapsulator **ppRootEncaps) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ExportDirectConnections( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE DeleteDirectConnections( 
            /* [in] */ IRsNode *pDstNode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Unencapsulate( 
            /* [in] */ IRsNode *pEncapsNode) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRfEncapsulatorSetVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRfEncapsulatorSet * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRfEncapsulatorSet * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRfEncapsulatorSet * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Attach )( 
            IRfEncapsulatorSet * This,
            /* [in] */ IRsNode *pNode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetOwner )( 
            IRfEncapsulatorSet * This,
            /* [retval][out] */ IRnEncapsulator **ppEncaps);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RemoveFromSpace )( 
            IRfEncapsulatorSet * This,
            /* [in] */ IRsNode *pNode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ExportConnector )( 
            IRfEncapsulatorSet * This,
            /* [in] */ IRsConnector *pCon,
            /* [in] */ RtBool bConnect,
            /* [in] */ RtBool bSetValue,
            /* [in] */ RtBool bOutside,
            /* [retval][out] */ IRsConnector **ppExpCon);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *IsInSubSpace )( 
            IRfEncapsulatorSet * This,
            /* [in] */ IRsNode *pNode,
            /* [out] */ RtLong *pDepth);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *MoveSubSpaceContent )( 
            IRfEncapsulatorSet * This,
            /* [in] */ IRnEncapsulator *pSourceEncaps);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ClearContent )( 
            IRfEncapsulatorSet * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *EncapsulateObjects )( 
            IRfEncapsulatorSet * This,
            /* [in] */ BSTR bstrName,
            /* [in] */ IRsObjectList *pObjList,
            /* [out] */ IRsNode **ppNewEncaps,
            /* [out] */ IRnEncapsulator **ppRootEncaps);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ExportDirectConnections )( 
            IRfEncapsulatorSet * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *DeleteDirectConnections )( 
            IRfEncapsulatorSet * This,
            /* [in] */ IRsNode *pDstNode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Unencapsulate )( 
            IRfEncapsulatorSet * This,
            /* [in] */ IRsNode *pEncapsNode);
        
        END_INTERFACE
    } IRfEncapsulatorSetVtbl;

    interface IRfEncapsulatorSet
    {
        CONST_VTBL struct IRfEncapsulatorSetVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRfEncapsulatorSet_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRfEncapsulatorSet_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRfEncapsulatorSet_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRfEncapsulatorSet_Attach(This,pNode)	\
    (This)->lpVtbl -> Attach(This,pNode)

#define IRfEncapsulatorSet_GetOwner(This,ppEncaps)	\
    (This)->lpVtbl -> GetOwner(This,ppEncaps)

#define IRfEncapsulatorSet_RemoveFromSpace(This,pNode)	\
    (This)->lpVtbl -> RemoveFromSpace(This,pNode)

#define IRfEncapsulatorSet_ExportConnector(This,pCon,bConnect,bSetValue,bOutside,ppExpCon)	\
    (This)->lpVtbl -> ExportConnector(This,pCon,bConnect,bSetValue,bOutside,ppExpCon)

#define IRfEncapsulatorSet_IsInSubSpace(This,pNode,pDepth)	\
    (This)->lpVtbl -> IsInSubSpace(This,pNode,pDepth)

#define IRfEncapsulatorSet_MoveSubSpaceContent(This,pSourceEncaps)	\
    (This)->lpVtbl -> MoveSubSpaceContent(This,pSourceEncaps)

#define IRfEncapsulatorSet_ClearContent(This)	\
    (This)->lpVtbl -> ClearContent(This)

#define IRfEncapsulatorSet_EncapsulateObjects(This,bstrName,pObjList,ppNewEncaps,ppRootEncaps)	\
    (This)->lpVtbl -> EncapsulateObjects(This,bstrName,pObjList,ppNewEncaps,ppRootEncaps)

#define IRfEncapsulatorSet_ExportDirectConnections(This)	\
    (This)->lpVtbl -> ExportDirectConnections(This)

#define IRfEncapsulatorSet_DeleteDirectConnections(This,pDstNode)	\
    (This)->lpVtbl -> DeleteDirectConnections(This,pDstNode)

#define IRfEncapsulatorSet_Unencapsulate(This,pEncapsNode)	\
    (This)->lpVtbl -> Unencapsulate(This,pEncapsNode)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfEncapsulatorSet_Attach_Proxy( 
    IRfEncapsulatorSet * This,
    /* [in] */ IRsNode *pNode);


void __RPC_STUB IRfEncapsulatorSet_Attach_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfEncapsulatorSet_GetOwner_Proxy( 
    IRfEncapsulatorSet * This,
    /* [retval][out] */ IRnEncapsulator **ppEncaps);


void __RPC_STUB IRfEncapsulatorSet_GetOwner_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfEncapsulatorSet_RemoveFromSpace_Proxy( 
    IRfEncapsulatorSet * This,
    /* [in] */ IRsNode *pNode);


void __RPC_STUB IRfEncapsulatorSet_RemoveFromSpace_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfEncapsulatorSet_ExportConnector_Proxy( 
    IRfEncapsulatorSet * This,
    /* [in] */ IRsConnector *pCon,
    /* [in] */ RtBool bConnect,
    /* [in] */ RtBool bSetValue,
    /* [in] */ RtBool bOutside,
    /* [retval][out] */ IRsConnector **ppExpCon);


void __RPC_STUB IRfEncapsulatorSet_ExportConnector_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfEncapsulatorSet_IsInSubSpace_Proxy( 
    IRfEncapsulatorSet * This,
    /* [in] */ IRsNode *pNode,
    /* [out] */ RtLong *pDepth);


void __RPC_STUB IRfEncapsulatorSet_IsInSubSpace_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfEncapsulatorSet_MoveSubSpaceContent_Proxy( 
    IRfEncapsulatorSet * This,
    /* [in] */ IRnEncapsulator *pSourceEncaps);


void __RPC_STUB IRfEncapsulatorSet_MoveSubSpaceContent_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfEncapsulatorSet_ClearContent_Proxy( 
    IRfEncapsulatorSet * This);


void __RPC_STUB IRfEncapsulatorSet_ClearContent_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfEncapsulatorSet_EncapsulateObjects_Proxy( 
    IRfEncapsulatorSet * This,
    /* [in] */ BSTR bstrName,
    /* [in] */ IRsObjectList *pObjList,
    /* [out] */ IRsNode **ppNewEncaps,
    /* [out] */ IRnEncapsulator **ppRootEncaps);


void __RPC_STUB IRfEncapsulatorSet_EncapsulateObjects_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfEncapsulatorSet_ExportDirectConnections_Proxy( 
    IRfEncapsulatorSet * This);


void __RPC_STUB IRfEncapsulatorSet_ExportDirectConnections_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfEncapsulatorSet_DeleteDirectConnections_Proxy( 
    IRfEncapsulatorSet * This,
    /* [in] */ IRsNode *pDstNode);


void __RPC_STUB IRfEncapsulatorSet_DeleteDirectConnections_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfEncapsulatorSet_Unencapsulate_Proxy( 
    IRfEncapsulatorSet * This,
    /* [in] */ IRsNode *pEncapsNode);


void __RPC_STUB IRfEncapsulatorSet_Unencapsulate_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRfEncapsulatorSet_INTERFACE_DEFINED__ */


/* interface __MIDL_itf__Kernel_0890 */
/* [local] */ 

typedef GUID RtSCId;

typedef GUID RtSId;



extern RPC_IF_HANDLE __MIDL_itf__Kernel_0890_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf__Kernel_0890_v0_0_s_ifspec;

#ifndef __IRsGenScanner_INTERFACE_DEFINED__
#define __IRsGenScanner_INTERFACE_DEFINED__

/* interface IRsGenScanner */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsGenScanner;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("AAFC1E68-D3EC-4061-A764-B2BD2AB6015F")
    IRsGenScanner : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE LockEventScanner( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RelaseEventScanner( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE IsLocked( 
            /* [retval][out] */ RtBool *pbIsLocked) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsGenScannerVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsGenScanner * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsGenScanner * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsGenScanner * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *LockEventScanner )( 
            IRsGenScanner * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RelaseEventScanner )( 
            IRsGenScanner * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *IsLocked )( 
            IRsGenScanner * This,
            /* [retval][out] */ RtBool *pbIsLocked);
        
        END_INTERFACE
    } IRsGenScannerVtbl;

    interface IRsGenScanner
    {
        CONST_VTBL struct IRsGenScannerVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsGenScanner_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsGenScanner_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsGenScanner_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsGenScanner_LockEventScanner(This)	\
    (This)->lpVtbl -> LockEventScanner(This)

#define IRsGenScanner_RelaseEventScanner(This)	\
    (This)->lpVtbl -> RelaseEventScanner(This)

#define IRsGenScanner_IsLocked(This,pbIsLocked)	\
    (This)->lpVtbl -> IsLocked(This,pbIsLocked)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsGenScanner_LockEventScanner_Proxy( 
    IRsGenScanner * This);


void __RPC_STUB IRsGenScanner_LockEventScanner_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsGenScanner_RelaseEventScanner_Proxy( 
    IRsGenScanner * This);


void __RPC_STUB IRsGenScanner_RelaseEventScanner_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsGenScanner_IsLocked_Proxy( 
    IRsGenScanner * This,
    /* [retval][out] */ RtBool *pbIsLocked);


void __RPC_STUB IRsGenScanner_IsLocked_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsGenScanner_INTERFACE_DEFINED__ */


#ifndef __IRsScannerCategory_INTERFACE_DEFINED__
#define __IRsScannerCategory_INTERFACE_DEFINED__

/* interface IRsScannerCategory */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsScannerCategory;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("18CDC601-4283-452a-8247-0EF2492EC867")
    IRsScannerCategory : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetID( 
            /* [retval][out] */ RtSCId *pId) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddScanner( 
            /* [in] */ IRsGenScanner *pScanner) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RemoveScanner( 
            /* [in] */ IRsGenScanner *pScanner) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE BlockScanners( 
            /* [in] */ RtBool bBlock) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsScannerCategoryVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsScannerCategory * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsScannerCategory * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsScannerCategory * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetID )( 
            IRsScannerCategory * This,
            /* [retval][out] */ RtSCId *pId);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddScanner )( 
            IRsScannerCategory * This,
            /* [in] */ IRsGenScanner *pScanner);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RemoveScanner )( 
            IRsScannerCategory * This,
            /* [in] */ IRsGenScanner *pScanner);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *BlockScanners )( 
            IRsScannerCategory * This,
            /* [in] */ RtBool bBlock);
        
        END_INTERFACE
    } IRsScannerCategoryVtbl;

    interface IRsScannerCategory
    {
        CONST_VTBL struct IRsScannerCategoryVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsScannerCategory_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsScannerCategory_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsScannerCategory_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsScannerCategory_GetID(This,pId)	\
    (This)->lpVtbl -> GetID(This,pId)

#define IRsScannerCategory_AddScanner(This,pScanner)	\
    (This)->lpVtbl -> AddScanner(This,pScanner)

#define IRsScannerCategory_RemoveScanner(This,pScanner)	\
    (This)->lpVtbl -> RemoveScanner(This,pScanner)

#define IRsScannerCategory_BlockScanners(This,bBlock)	\
    (This)->lpVtbl -> BlockScanners(This,bBlock)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsScannerCategory_GetID_Proxy( 
    IRsScannerCategory * This,
    /* [retval][out] */ RtSCId *pId);


void __RPC_STUB IRsScannerCategory_GetID_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsScannerCategory_AddScanner_Proxy( 
    IRsScannerCategory * This,
    /* [in] */ IRsGenScanner *pScanner);


void __RPC_STUB IRsScannerCategory_AddScanner_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsScannerCategory_RemoveScanner_Proxy( 
    IRsScannerCategory * This,
    /* [in] */ IRsGenScanner *pScanner);


void __RPC_STUB IRsScannerCategory_RemoveScanner_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsScannerCategory_BlockScanners_Proxy( 
    IRsScannerCategory * This,
    /* [in] */ RtBool bBlock);


void __RPC_STUB IRsScannerCategory_BlockScanners_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsScannerCategory_INTERFACE_DEFINED__ */


#ifndef __IRsSysScanner_INTERFACE_DEFINED__
#define __IRsSysScanner_INTERFACE_DEFINED__

/* interface IRsSysScanner */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsSysScanner;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("87995920-3A26-4ba9-ADF1-8C1DA31040DF")
    IRsSysScanner : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateGenScanner( 
            /* [in] */ IUnknown *pOuter,
            /* [retval][out] */ IUnknown **ppScanner) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateScannerCategory( 
            /* [in] */ RtSCId scId,
            /* [retval][out] */ IRsScannerCategory **ppCategory) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddScannerCategory( 
            /* [in] */ IRsScannerCategory *pCategory) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RemoveScannerCategory( 
            /* [in] */ RtSCId scId,
            /* [retval][out] */ IRsScannerCategory **ppCategory) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetScannerCategory( 
            /* [in] */ RtSCId scId,
            /* [retval][out] */ IRsScannerCategory **ppCategory) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE BlockScannerCategory( 
            /* [in] */ RtSCId scId,
            /* [in] */ RtBool bBlock) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsSysScannerVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsSysScanner * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsSysScanner * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsSysScanner * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateGenScanner )( 
            IRsSysScanner * This,
            /* [in] */ IUnknown *pOuter,
            /* [retval][out] */ IUnknown **ppScanner);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateScannerCategory )( 
            IRsSysScanner * This,
            /* [in] */ RtSCId scId,
            /* [retval][out] */ IRsScannerCategory **ppCategory);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddScannerCategory )( 
            IRsSysScanner * This,
            /* [in] */ IRsScannerCategory *pCategory);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RemoveScannerCategory )( 
            IRsSysScanner * This,
            /* [in] */ RtSCId scId,
            /* [retval][out] */ IRsScannerCategory **ppCategory);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetScannerCategory )( 
            IRsSysScanner * This,
            /* [in] */ RtSCId scId,
            /* [retval][out] */ IRsScannerCategory **ppCategory);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *BlockScannerCategory )( 
            IRsSysScanner * This,
            /* [in] */ RtSCId scId,
            /* [in] */ RtBool bBlock);
        
        END_INTERFACE
    } IRsSysScannerVtbl;

    interface IRsSysScanner
    {
        CONST_VTBL struct IRsSysScannerVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsSysScanner_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsSysScanner_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsSysScanner_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsSysScanner_CreateGenScanner(This,pOuter,ppScanner)	\
    (This)->lpVtbl -> CreateGenScanner(This,pOuter,ppScanner)

#define IRsSysScanner_CreateScannerCategory(This,scId,ppCategory)	\
    (This)->lpVtbl -> CreateScannerCategory(This,scId,ppCategory)

#define IRsSysScanner_AddScannerCategory(This,pCategory)	\
    (This)->lpVtbl -> AddScannerCategory(This,pCategory)

#define IRsSysScanner_RemoveScannerCategory(This,scId,ppCategory)	\
    (This)->lpVtbl -> RemoveScannerCategory(This,scId,ppCategory)

#define IRsSysScanner_GetScannerCategory(This,scId,ppCategory)	\
    (This)->lpVtbl -> GetScannerCategory(This,scId,ppCategory)

#define IRsSysScanner_BlockScannerCategory(This,scId,bBlock)	\
    (This)->lpVtbl -> BlockScannerCategory(This,scId,bBlock)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsSysScanner_CreateGenScanner_Proxy( 
    IRsSysScanner * This,
    /* [in] */ IUnknown *pOuter,
    /* [retval][out] */ IUnknown **ppScanner);


void __RPC_STUB IRsSysScanner_CreateGenScanner_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsSysScanner_CreateScannerCategory_Proxy( 
    IRsSysScanner * This,
    /* [in] */ RtSCId scId,
    /* [retval][out] */ IRsScannerCategory **ppCategory);


void __RPC_STUB IRsSysScanner_CreateScannerCategory_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsSysScanner_AddScannerCategory_Proxy( 
    IRsSysScanner * This,
    /* [in] */ IRsScannerCategory *pCategory);


void __RPC_STUB IRsSysScanner_AddScannerCategory_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsSysScanner_RemoveScannerCategory_Proxy( 
    IRsSysScanner * This,
    /* [in] */ RtSCId scId,
    /* [retval][out] */ IRsScannerCategory **ppCategory);


void __RPC_STUB IRsSysScanner_RemoveScannerCategory_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsSysScanner_GetScannerCategory_Proxy( 
    IRsSysScanner * This,
    /* [in] */ RtSCId scId,
    /* [retval][out] */ IRsScannerCategory **ppCategory);


void __RPC_STUB IRsSysScanner_GetScannerCategory_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsSysScanner_BlockScannerCategory_Proxy( 
    IRsSysScanner * This,
    /* [in] */ RtSCId scId,
    /* [in] */ RtBool bBlock);


void __RPC_STUB IRsSysScanner_BlockScannerCategory_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsSysScanner_INTERFACE_DEFINED__ */


#ifndef __IRsEventLogSession_INTERFACE_DEFINED__
#define __IRsEventLogSession_INTERFACE_DEFINED__

/* interface IRsEventLogSession */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsEventLogSession;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("D046A2A4-6B62-44BC-9406-37B1EBB87773")
    IRsEventLogSession : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE StartLog( 
            /* [in] */ IRsNode *pLogSpace) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE FinishLog( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Undo( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Redo( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsEventLogSessionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsEventLogSession * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsEventLogSession * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsEventLogSession * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *StartLog )( 
            IRsEventLogSession * This,
            /* [in] */ IRsNode *pLogSpace);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *FinishLog )( 
            IRsEventLogSession * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Undo )( 
            IRsEventLogSession * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Redo )( 
            IRsEventLogSession * This);
        
        END_INTERFACE
    } IRsEventLogSessionVtbl;

    interface IRsEventLogSession
    {
        CONST_VTBL struct IRsEventLogSessionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsEventLogSession_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsEventLogSession_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsEventLogSession_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsEventLogSession_StartLog(This,pLogSpace)	\
    (This)->lpVtbl -> StartLog(This,pLogSpace)

#define IRsEventLogSession_FinishLog(This)	\
    (This)->lpVtbl -> FinishLog(This)

#define IRsEventLogSession_Undo(This)	\
    (This)->lpVtbl -> Undo(This)

#define IRsEventLogSession_Redo(This)	\
    (This)->lpVtbl -> Redo(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsEventLogSession_StartLog_Proxy( 
    IRsEventLogSession * This,
    /* [in] */ IRsNode *pLogSpace);


void __RPC_STUB IRsEventLogSession_StartLog_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsEventLogSession_FinishLog_Proxy( 
    IRsEventLogSession * This);


void __RPC_STUB IRsEventLogSession_FinishLog_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsEventLogSession_Undo_Proxy( 
    IRsEventLogSession * This);


void __RPC_STUB IRsEventLogSession_Undo_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsEventLogSession_Redo_Proxy( 
    IRsEventLogSession * This);


void __RPC_STUB IRsEventLogSession_Redo_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsEventLogSession_INTERFACE_DEFINED__ */


#ifndef __IRsActivityMng_INTERFACE_DEFINED__
#define __IRsActivityMng_INTERFACE_DEFINED__

/* interface IRsActivityMng */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsActivityMng;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("63655640-FCC2-4CA5-82EB-1B712DD9A026")
    IRsActivityMng : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Run( 
            /* [in] */ BSTR bszActvName,
            /* [in] */ RtActvParam *pInitParam,
            /* [in] */ RtActivityRunMode runMode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Kill( 
            /* [in] */ BSTR bszActvName) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE MoveControlFlow( 
            /* [in] */ RtActivityId actvID,
            /* [in] */ IRsConnector *pTransitionCon) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE BeginAction( 
            /* [in] */ RtActivityId actvId) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE FinishAction( 
            /* [in] */ RtActivityId actvID,
            /* [in] */ IRsNode *pTransition) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE KillAll( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Archive( 
            /* [in] */ BSTR bszActvName,
            /* [in] */ RtActivityId actvID) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE IsArchived( 
            /* [in] */ BSTR bszActvName,
            /* [retval][out] */ RtBool *pVal) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsActivityMngVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsActivityMng * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsActivityMng * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsActivityMng * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Run )( 
            IRsActivityMng * This,
            /* [in] */ BSTR bszActvName,
            /* [in] */ RtActvParam *pInitParam,
            /* [in] */ RtActivityRunMode runMode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Kill )( 
            IRsActivityMng * This,
            /* [in] */ BSTR bszActvName);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *MoveControlFlow )( 
            IRsActivityMng * This,
            /* [in] */ RtActivityId actvID,
            /* [in] */ IRsConnector *pTransitionCon);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *BeginAction )( 
            IRsActivityMng * This,
            /* [in] */ RtActivityId actvId);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *FinishAction )( 
            IRsActivityMng * This,
            /* [in] */ RtActivityId actvID,
            /* [in] */ IRsNode *pTransition);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *KillAll )( 
            IRsActivityMng * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Archive )( 
            IRsActivityMng * This,
            /* [in] */ BSTR bszActvName,
            /* [in] */ RtActivityId actvID);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *IsArchived )( 
            IRsActivityMng * This,
            /* [in] */ BSTR bszActvName,
            /* [retval][out] */ RtBool *pVal);
        
        END_INTERFACE
    } IRsActivityMngVtbl;

    interface IRsActivityMng
    {
        CONST_VTBL struct IRsActivityMngVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsActivityMng_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsActivityMng_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsActivityMng_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsActivityMng_Run(This,bszActvName,pInitParam,runMode)	\
    (This)->lpVtbl -> Run(This,bszActvName,pInitParam,runMode)

#define IRsActivityMng_Kill(This,bszActvName)	\
    (This)->lpVtbl -> Kill(This,bszActvName)

#define IRsActivityMng_MoveControlFlow(This,actvID,pTransitionCon)	\
    (This)->lpVtbl -> MoveControlFlow(This,actvID,pTransitionCon)

#define IRsActivityMng_BeginAction(This,actvId)	\
    (This)->lpVtbl -> BeginAction(This,actvId)

#define IRsActivityMng_FinishAction(This,actvID,pTransition)	\
    (This)->lpVtbl -> FinishAction(This,actvID,pTransition)

#define IRsActivityMng_KillAll(This)	\
    (This)->lpVtbl -> KillAll(This)

#define IRsActivityMng_Archive(This,bszActvName,actvID)	\
    (This)->lpVtbl -> Archive(This,bszActvName,actvID)

#define IRsActivityMng_IsArchived(This,bszActvName,pVal)	\
    (This)->lpVtbl -> IsArchived(This,bszActvName,pVal)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsActivityMng_Run_Proxy( 
    IRsActivityMng * This,
    /* [in] */ BSTR bszActvName,
    /* [in] */ RtActvParam *pInitParam,
    /* [in] */ RtActivityRunMode runMode);


void __RPC_STUB IRsActivityMng_Run_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsActivityMng_Kill_Proxy( 
    IRsActivityMng * This,
    /* [in] */ BSTR bszActvName);


void __RPC_STUB IRsActivityMng_Kill_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsActivityMng_MoveControlFlow_Proxy( 
    IRsActivityMng * This,
    /* [in] */ RtActivityId actvID,
    /* [in] */ IRsConnector *pTransitionCon);


void __RPC_STUB IRsActivityMng_MoveControlFlow_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsActivityMng_BeginAction_Proxy( 
    IRsActivityMng * This,
    /* [in] */ RtActivityId actvId);


void __RPC_STUB IRsActivityMng_BeginAction_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsActivityMng_FinishAction_Proxy( 
    IRsActivityMng * This,
    /* [in] */ RtActivityId actvID,
    /* [in] */ IRsNode *pTransition);


void __RPC_STUB IRsActivityMng_FinishAction_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsActivityMng_KillAll_Proxy( 
    IRsActivityMng * This);


void __RPC_STUB IRsActivityMng_KillAll_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsActivityMng_Archive_Proxy( 
    IRsActivityMng * This,
    /* [in] */ BSTR bszActvName,
    /* [in] */ RtActivityId actvID);


void __RPC_STUB IRsActivityMng_Archive_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsActivityMng_IsArchived_Proxy( 
    IRsActivityMng * This,
    /* [in] */ BSTR bszActvName,
    /* [retval][out] */ RtBool *pVal);


void __RPC_STUB IRsActivityMng_IsArchived_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsActivityMng_INTERFACE_DEFINED__ */


#ifndef __IRsSysCore_INTERFACE_DEFINED__
#define __IRsSysCore_INTERFACE_DEFINED__

/* interface IRsSysCore */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsSysCore;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("A22AEF0D-5828-4D1E-BAB7-D708A4B9F749")
    IRsSysCore : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SendCommandLine( 
            /* [in] */ LPCWSTR szCommand) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SendCommand( 
            /* [in] */ IRsNode *pCmdNode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RunCommand( 
            /* [in] */ IRsNode *pCmdNode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE InitializeScriptDriver( 
            /* [in] */ RtScriptDrv scriptDrv) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetScriptDriver( 
            /* [in] */ RtScriptDrv scriptDrv,
            /* [retval][out] */ IRsScriptDriver **ppScriptDriver) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CloseScriptDriver( 
            /* [in] */ RtScriptDrv scriptDrv) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddPackageNamedItems( 
            /* [in] */ IRsUnknownPackage *pPackage) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateNodeScriptDriver( 
            /* [in] */ RtScriptDrv scriptDrv,
            /* [retval][out] */ IRsScriptDriver **ppScriptDriver) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetNodeScriptDriver( 
            /* [in] */ RtScriptDrv scriptDrv,
            /* [retval][out] */ IRsScriptDriver **ppScriptDriver) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CloseNodeScriptDriver( 
            /* [in] */ RtScriptDrv scriptDrv) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ParseCommand( 
            /* [in] */ LPCWSTR szCmd) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ParseScriptFile( 
            /* [in] */ LPCWSTR szFile) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ExecuteCommand( 
            /* [in] */ IRsCommand *pCommand) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Initialize( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Run( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Terminate( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetToolMng( 
            /* [in] */ IRsSysToolManager **ppToolMng) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetCommandMng( 
            /* [retval][out] */ IRsCommandMng **ppMng) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetHistory( 
            /* [retval][out] */ IRsHistory **ppHistory) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetCachingMode( 
            /* [in] */ RtCachingMode eMode,
            /* [in] */ RtBool bRebuild) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetCachingMode( 
            /* [out] */ RtCachingMode *peMode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE FlushCommands( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetActivityMng( 
            /* [retval][out] */ IRsActivityMng **ppActivityMng) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE PostMasterThreadMessage( 
            /* [in] */ UINT MsgIN,
            /* [in] */ WPARAM wParam,
            /* [in] */ LPARAM lParam) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetMasterThreadId( 
            /* [retval][out] */ DWORD *pdwId) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsSysCoreVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsSysCore * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsSysCore * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsSysCore * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SendCommandLine )( 
            IRsSysCore * This,
            /* [in] */ LPCWSTR szCommand);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SendCommand )( 
            IRsSysCore * This,
            /* [in] */ IRsNode *pCmdNode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RunCommand )( 
            IRsSysCore * This,
            /* [in] */ IRsNode *pCmdNode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *InitializeScriptDriver )( 
            IRsSysCore * This,
            /* [in] */ RtScriptDrv scriptDrv);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetScriptDriver )( 
            IRsSysCore * This,
            /* [in] */ RtScriptDrv scriptDrv,
            /* [retval][out] */ IRsScriptDriver **ppScriptDriver);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CloseScriptDriver )( 
            IRsSysCore * This,
            /* [in] */ RtScriptDrv scriptDrv);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddPackageNamedItems )( 
            IRsSysCore * This,
            /* [in] */ IRsUnknownPackage *pPackage);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateNodeScriptDriver )( 
            IRsSysCore * This,
            /* [in] */ RtScriptDrv scriptDrv,
            /* [retval][out] */ IRsScriptDriver **ppScriptDriver);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetNodeScriptDriver )( 
            IRsSysCore * This,
            /* [in] */ RtScriptDrv scriptDrv,
            /* [retval][out] */ IRsScriptDriver **ppScriptDriver);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CloseNodeScriptDriver )( 
            IRsSysCore * This,
            /* [in] */ RtScriptDrv scriptDrv);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ParseCommand )( 
            IRsSysCore * This,
            /* [in] */ LPCWSTR szCmd);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ParseScriptFile )( 
            IRsSysCore * This,
            /* [in] */ LPCWSTR szFile);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ExecuteCommand )( 
            IRsSysCore * This,
            /* [in] */ IRsCommand *pCommand);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Initialize )( 
            IRsSysCore * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Run )( 
            IRsSysCore * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Terminate )( 
            IRsSysCore * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetToolMng )( 
            IRsSysCore * This,
            /* [in] */ IRsSysToolManager **ppToolMng);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetCommandMng )( 
            IRsSysCore * This,
            /* [retval][out] */ IRsCommandMng **ppMng);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetHistory )( 
            IRsSysCore * This,
            /* [retval][out] */ IRsHistory **ppHistory);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetCachingMode )( 
            IRsSysCore * This,
            /* [in] */ RtCachingMode eMode,
            /* [in] */ RtBool bRebuild);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetCachingMode )( 
            IRsSysCore * This,
            /* [out] */ RtCachingMode *peMode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *FlushCommands )( 
            IRsSysCore * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetActivityMng )( 
            IRsSysCore * This,
            /* [retval][out] */ IRsActivityMng **ppActivityMng);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *PostMasterThreadMessage )( 
            IRsSysCore * This,
            /* [in] */ UINT MsgIN,
            /* [in] */ WPARAM wParam,
            /* [in] */ LPARAM lParam);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetMasterThreadId )( 
            IRsSysCore * This,
            /* [retval][out] */ DWORD *pdwId);
        
        END_INTERFACE
    } IRsSysCoreVtbl;

    interface IRsSysCore
    {
        CONST_VTBL struct IRsSysCoreVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsSysCore_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsSysCore_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsSysCore_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsSysCore_SendCommandLine(This,szCommand)	\
    (This)->lpVtbl -> SendCommandLine(This,szCommand)

#define IRsSysCore_SendCommand(This,pCmdNode)	\
    (This)->lpVtbl -> SendCommand(This,pCmdNode)

#define IRsSysCore_RunCommand(This,pCmdNode)	\
    (This)->lpVtbl -> RunCommand(This,pCmdNode)

#define IRsSysCore_InitializeScriptDriver(This,scriptDrv)	\
    (This)->lpVtbl -> InitializeScriptDriver(This,scriptDrv)

#define IRsSysCore_GetScriptDriver(This,scriptDrv,ppScriptDriver)	\
    (This)->lpVtbl -> GetScriptDriver(This,scriptDrv,ppScriptDriver)

#define IRsSysCore_CloseScriptDriver(This,scriptDrv)	\
    (This)->lpVtbl -> CloseScriptDriver(This,scriptDrv)

#define IRsSysCore_AddPackageNamedItems(This,pPackage)	\
    (This)->lpVtbl -> AddPackageNamedItems(This,pPackage)

#define IRsSysCore_CreateNodeScriptDriver(This,scriptDrv,ppScriptDriver)	\
    (This)->lpVtbl -> CreateNodeScriptDriver(This,scriptDrv,ppScriptDriver)

#define IRsSysCore_GetNodeScriptDriver(This,scriptDrv,ppScriptDriver)	\
    (This)->lpVtbl -> GetNodeScriptDriver(This,scriptDrv,ppScriptDriver)

#define IRsSysCore_CloseNodeScriptDriver(This,scriptDrv)	\
    (This)->lpVtbl -> CloseNodeScriptDriver(This,scriptDrv)

#define IRsSysCore_ParseCommand(This,szCmd)	\
    (This)->lpVtbl -> ParseCommand(This,szCmd)

#define IRsSysCore_ParseScriptFile(This,szFile)	\
    (This)->lpVtbl -> ParseScriptFile(This,szFile)

#define IRsSysCore_ExecuteCommand(This,pCommand)	\
    (This)->lpVtbl -> ExecuteCommand(This,pCommand)

#define IRsSysCore_Initialize(This)	\
    (This)->lpVtbl -> Initialize(This)

#define IRsSysCore_Run(This)	\
    (This)->lpVtbl -> Run(This)

#define IRsSysCore_Terminate(This)	\
    (This)->lpVtbl -> Terminate(This)

#define IRsSysCore_GetToolMng(This,ppToolMng)	\
    (This)->lpVtbl -> GetToolMng(This,ppToolMng)

#define IRsSysCore_GetCommandMng(This,ppMng)	\
    (This)->lpVtbl -> GetCommandMng(This,ppMng)

#define IRsSysCore_GetHistory(This,ppHistory)	\
    (This)->lpVtbl -> GetHistory(This,ppHistory)

#define IRsSysCore_SetCachingMode(This,eMode,bRebuild)	\
    (This)->lpVtbl -> SetCachingMode(This,eMode,bRebuild)

#define IRsSysCore_GetCachingMode(This,peMode)	\
    (This)->lpVtbl -> GetCachingMode(This,peMode)

#define IRsSysCore_FlushCommands(This)	\
    (This)->lpVtbl -> FlushCommands(This)

#define IRsSysCore_GetActivityMng(This,ppActivityMng)	\
    (This)->lpVtbl -> GetActivityMng(This,ppActivityMng)

#define IRsSysCore_PostMasterThreadMessage(This,MsgIN,wParam,lParam)	\
    (This)->lpVtbl -> PostMasterThreadMessage(This,MsgIN,wParam,lParam)

#define IRsSysCore_GetMasterThreadId(This,pdwId)	\
    (This)->lpVtbl -> GetMasterThreadId(This,pdwId)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsSysCore_SendCommandLine_Proxy( 
    IRsSysCore * This,
    /* [in] */ LPCWSTR szCommand);


void __RPC_STUB IRsSysCore_SendCommandLine_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsSysCore_SendCommand_Proxy( 
    IRsSysCore * This,
    /* [in] */ IRsNode *pCmdNode);


void __RPC_STUB IRsSysCore_SendCommand_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsSysCore_RunCommand_Proxy( 
    IRsSysCore * This,
    /* [in] */ IRsNode *pCmdNode);


void __RPC_STUB IRsSysCore_RunCommand_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsSysCore_InitializeScriptDriver_Proxy( 
    IRsSysCore * This,
    /* [in] */ RtScriptDrv scriptDrv);


void __RPC_STUB IRsSysCore_InitializeScriptDriver_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsSysCore_GetScriptDriver_Proxy( 
    IRsSysCore * This,
    /* [in] */ RtScriptDrv scriptDrv,
    /* [retval][out] */ IRsScriptDriver **ppScriptDriver);


void __RPC_STUB IRsSysCore_GetScriptDriver_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsSysCore_CloseScriptDriver_Proxy( 
    IRsSysCore * This,
    /* [in] */ RtScriptDrv scriptDrv);


void __RPC_STUB IRsSysCore_CloseScriptDriver_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsSysCore_AddPackageNamedItems_Proxy( 
    IRsSysCore * This,
    /* [in] */ IRsUnknownPackage *pPackage);


void __RPC_STUB IRsSysCore_AddPackageNamedItems_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsSysCore_CreateNodeScriptDriver_Proxy( 
    IRsSysCore * This,
    /* [in] */ RtScriptDrv scriptDrv,
    /* [retval][out] */ IRsScriptDriver **ppScriptDriver);


void __RPC_STUB IRsSysCore_CreateNodeScriptDriver_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsSysCore_GetNodeScriptDriver_Proxy( 
    IRsSysCore * This,
    /* [in] */ RtScriptDrv scriptDrv,
    /* [retval][out] */ IRsScriptDriver **ppScriptDriver);


void __RPC_STUB IRsSysCore_GetNodeScriptDriver_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsSysCore_CloseNodeScriptDriver_Proxy( 
    IRsSysCore * This,
    /* [in] */ RtScriptDrv scriptDrv);


void __RPC_STUB IRsSysCore_CloseNodeScriptDriver_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsSysCore_ParseCommand_Proxy( 
    IRsSysCore * This,
    /* [in] */ LPCWSTR szCmd);


void __RPC_STUB IRsSysCore_ParseCommand_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsSysCore_ParseScriptFile_Proxy( 
    IRsSysCore * This,
    /* [in] */ LPCWSTR szFile);


void __RPC_STUB IRsSysCore_ParseScriptFile_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsSysCore_ExecuteCommand_Proxy( 
    IRsSysCore * This,
    /* [in] */ IRsCommand *pCommand);


void __RPC_STUB IRsSysCore_ExecuteCommand_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsSysCore_Initialize_Proxy( 
    IRsSysCore * This);


void __RPC_STUB IRsSysCore_Initialize_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsSysCore_Run_Proxy( 
    IRsSysCore * This);


void __RPC_STUB IRsSysCore_Run_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsSysCore_Terminate_Proxy( 
    IRsSysCore * This);


void __RPC_STUB IRsSysCore_Terminate_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsSysCore_GetToolMng_Proxy( 
    IRsSysCore * This,
    /* [in] */ IRsSysToolManager **ppToolMng);


void __RPC_STUB IRsSysCore_GetToolMng_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsSysCore_GetCommandMng_Proxy( 
    IRsSysCore * This,
    /* [retval][out] */ IRsCommandMng **ppMng);


void __RPC_STUB IRsSysCore_GetCommandMng_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsSysCore_GetHistory_Proxy( 
    IRsSysCore * This,
    /* [retval][out] */ IRsHistory **ppHistory);


void __RPC_STUB IRsSysCore_GetHistory_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsSysCore_SetCachingMode_Proxy( 
    IRsSysCore * This,
    /* [in] */ RtCachingMode eMode,
    /* [in] */ RtBool bRebuild);


void __RPC_STUB IRsSysCore_SetCachingMode_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsSysCore_GetCachingMode_Proxy( 
    IRsSysCore * This,
    /* [out] */ RtCachingMode *peMode);


void __RPC_STUB IRsSysCore_GetCachingMode_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsSysCore_FlushCommands_Proxy( 
    IRsSysCore * This);


void __RPC_STUB IRsSysCore_FlushCommands_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsSysCore_GetActivityMng_Proxy( 
    IRsSysCore * This,
    /* [retval][out] */ IRsActivityMng **ppActivityMng);


void __RPC_STUB IRsSysCore_GetActivityMng_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsSysCore_PostMasterThreadMessage_Proxy( 
    IRsSysCore * This,
    /* [in] */ UINT MsgIN,
    /* [in] */ WPARAM wParam,
    /* [in] */ LPARAM lParam);


void __RPC_STUB IRsSysCore_PostMasterThreadMessage_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsSysCore_GetMasterThreadId_Proxy( 
    IRsSysCore * This,
    /* [retval][out] */ DWORD *pdwId);


void __RPC_STUB IRsSysCore_GetMasterThreadId_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsSysCore_INTERFACE_DEFINED__ */


#ifndef __IRsFileHeader_INTERFACE_DEFINED__
#define __IRsFileHeader_INTERFACE_DEFINED__

/* interface IRsFileHeader */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsFileHeader;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("63A2D357-C68C-485B-91EE-0CB22778BCF5")
    IRsFileHeader : public IRsObject
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Initialize( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddObjectPackage( 
            /* [in] */ IRsPersistStream *pObj) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsFileHeaderVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsFileHeader * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsFileHeader * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsFileHeader * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassId )( 
            IRsFileHeader * This,
            /* [retval][out] */ GUID *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassName )( 
            IRsFileHeader * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Initialize )( 
            IRsFileHeader * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddObjectPackage )( 
            IRsFileHeader * This,
            /* [in] */ IRsPersistStream *pObj);
        
        END_INTERFACE
    } IRsFileHeaderVtbl;

    interface IRsFileHeader
    {
        CONST_VTBL struct IRsFileHeaderVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsFileHeader_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsFileHeader_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsFileHeader_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsFileHeader_get_ClassId(This,pVal)	\
    (This)->lpVtbl -> get_ClassId(This,pVal)

#define IRsFileHeader_get_ClassName(This,pVal)	\
    (This)->lpVtbl -> get_ClassName(This,pVal)


#define IRsFileHeader_Initialize(This)	\
    (This)->lpVtbl -> Initialize(This)

#define IRsFileHeader_AddObjectPackage(This,pObj)	\
    (This)->lpVtbl -> AddObjectPackage(This,pObj)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsFileHeader_Initialize_Proxy( 
    IRsFileHeader * This);


void __RPC_STUB IRsFileHeader_Initialize_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsFileHeader_AddObjectPackage_Proxy( 
    IRsFileHeader * This,
    /* [in] */ IRsPersistStream *pObj);


void __RPC_STUB IRsFileHeader_AddObjectPackage_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsFileHeader_INTERFACE_DEFINED__ */


/* interface __MIDL_itf__Kernel_0897 */
/* [local] */ 

typedef DWORD RtSessionId;



extern RPC_IF_HANDLE __MIDL_itf__Kernel_0897_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf__Kernel_0897_v0_0_s_ifspec;

#ifndef __IRsSession_INTERFACE_DEFINED__
#define __IRsSession_INTERFACE_DEFINED__

/* interface IRsSession */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsSession;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("0F7DE0DF-8BA2-4546-B6C5-31C1E5E7C62E")
    IRsSession : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetSessionId( 
            /* [retval][out] */ RtSessionId *pSessionId) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetSessionType( 
            /* [retval][out] */ RtSessionType *pSessionType) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetSessionRootNodeList( 
            /* [retval][out] */ IRsObjectList **ppRootNodeList) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetStream( 
            /* [retval][out] */ IStream **ppStream) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateSession( 
            /* [in] */ RtSessionType eSessionType,
            /* [in] */ IRsObjectList *pRootNodeList,
            /* [in] */ IStream *pStream) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateCopySession( 
            /* [in] */ IRsNode *pRootNode,
            /* [in] */ IStream *pStream) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsSessionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsSession * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsSession * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsSession * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetSessionId )( 
            IRsSession * This,
            /* [retval][out] */ RtSessionId *pSessionId);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetSessionType )( 
            IRsSession * This,
            /* [retval][out] */ RtSessionType *pSessionType);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetSessionRootNodeList )( 
            IRsSession * This,
            /* [retval][out] */ IRsObjectList **ppRootNodeList);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetStream )( 
            IRsSession * This,
            /* [retval][out] */ IStream **ppStream);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateSession )( 
            IRsSession * This,
            /* [in] */ RtSessionType eSessionType,
            /* [in] */ IRsObjectList *pRootNodeList,
            /* [in] */ IStream *pStream);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateCopySession )( 
            IRsSession * This,
            /* [in] */ IRsNode *pRootNode,
            /* [in] */ IStream *pStream);
        
        END_INTERFACE
    } IRsSessionVtbl;

    interface IRsSession
    {
        CONST_VTBL struct IRsSessionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsSession_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsSession_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsSession_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsSession_GetSessionId(This,pSessionId)	\
    (This)->lpVtbl -> GetSessionId(This,pSessionId)

#define IRsSession_GetSessionType(This,pSessionType)	\
    (This)->lpVtbl -> GetSessionType(This,pSessionType)

#define IRsSession_GetSessionRootNodeList(This,ppRootNodeList)	\
    (This)->lpVtbl -> GetSessionRootNodeList(This,ppRootNodeList)

#define IRsSession_GetStream(This,ppStream)	\
    (This)->lpVtbl -> GetStream(This,ppStream)

#define IRsSession_CreateSession(This,eSessionType,pRootNodeList,pStream)	\
    (This)->lpVtbl -> CreateSession(This,eSessionType,pRootNodeList,pStream)

#define IRsSession_CreateCopySession(This,pRootNode,pStream)	\
    (This)->lpVtbl -> CreateCopySession(This,pRootNode,pStream)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsSession_GetSessionId_Proxy( 
    IRsSession * This,
    /* [retval][out] */ RtSessionId *pSessionId);


void __RPC_STUB IRsSession_GetSessionId_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsSession_GetSessionType_Proxy( 
    IRsSession * This,
    /* [retval][out] */ RtSessionType *pSessionType);


void __RPC_STUB IRsSession_GetSessionType_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsSession_GetSessionRootNodeList_Proxy( 
    IRsSession * This,
    /* [retval][out] */ IRsObjectList **ppRootNodeList);


void __RPC_STUB IRsSession_GetSessionRootNodeList_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsSession_GetStream_Proxy( 
    IRsSession * This,
    /* [retval][out] */ IStream **ppStream);


void __RPC_STUB IRsSession_GetStream_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsSession_CreateSession_Proxy( 
    IRsSession * This,
    /* [in] */ RtSessionType eSessionType,
    /* [in] */ IRsObjectList *pRootNodeList,
    /* [in] */ IStream *pStream);


void __RPC_STUB IRsSession_CreateSession_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsSession_CreateCopySession_Proxy( 
    IRsSession * This,
    /* [in] */ IRsNode *pRootNode,
    /* [in] */ IStream *pStream);


void __RPC_STUB IRsSession_CreateCopySession_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsSession_INTERFACE_DEFINED__ */


#ifndef __IRsSysPersist_INTERFACE_DEFINED__
#define __IRsSysPersist_INTERFACE_DEFINED__

/* interface IRsSysPersist */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsSysPersist;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("04466CBC-0F87-437D-ABAB-1C8896CAA6BC")
    IRsSysPersist : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE IsSystemDirty( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE LoadSystem( 
            /* [in] */ IStream *pStm) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SaveSystem( 
            /* [in] */ IStream *pStm,
            /* [in] */ RtBool fClearDirty) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SaveCommand( 
            /* [in] */ IRsCommand *pCmd,
            /* [in] */ IStream *pStm,
            /* [in] */ RtBool fClearDirty) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE LoadCommand( 
            /* [in] */ IStream *pStm,
            /* [retval][out] */ IRsCommand **ppCmd) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RestoreHistory( 
            /* [in] */ IRsHistory *pHistory) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SaveNodeToStream( 
            /* [in] */ IRsNode *pNode,
            /* [in] */ IStream *pStm,
            /* [in] */ RtBool fClearDirty) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE LoadNodeFromStream( 
            /* [in] */ IStream *pStm,
            /* [retval][out] */ IRsNode **ppNode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SaveObject( 
            /* [in] */ IRsPersistStream *pObj,
            /* [in] */ IStream *pStream) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE LoadObject( 
            /* [in] */ IRsPersistStream *pObj,
            /* [in] */ IStream *pStream) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AttachPoolObj( 
            /* [in] */ IRsPoolObj *pObj,
            /* [retval][out] */ DWORD *pdwCookie) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE DetachPoolObj( 
            /* [in] */ DWORD dwCookie) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetPoolObj( 
            /* [in] */ DWORD dwCookie,
            /* [retval][out] */ IRsPoolObj **ppObj) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CopyNodeToStream( 
            /* [in] */ IRsNode *pNode,
            /* [in] */ IStream *pStream) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SaveObjFileHeaderInfo( 
            /* [in] */ IStream *pStream,
            /* [in] */ RtObjFileHeaderInfo *pHeaderInfo) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE LoadObjFileHeaderInfo( 
            /* [in] */ IStream *pStream,
            /* [in] */ RtObjFileHeaderInfo *pHeaderInfo) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE BeginSerializationSession( 
            /* [in] */ RtSessionType eType) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE EndSerializationSession( 
            /* [in] */ RtSessionType eType) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE WriteObjToSession( 
            /* [in] */ IRsSession *pSession,
            /* [in] */ IRsPersistStream *pObj) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE WriteNodeToSession( 
            /* [in] */ IRsSession *pSession,
            /* [in] */ IRsNode *pNodeObj) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ReadObjFromSession( 
            /* [in] */ IRsSession *pSession,
            /* [in] */ IRsPersistStream *pObj) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ReadNodeFromSession( 
            /* [in] */ IRsSession *pSession,
            /* [retval][out] */ IRsNode **ppNodeObj) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateSessionObj( 
            /* [retval][out] */ IRsSession **ppSession) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE BeginSession( 
            /* [in] */ IRsSession *pSession) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE EndSession( 
            /* [in] */ IRsSession *pSession) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetCurrentSession( 
            /* [retval][out] */ IRsSession **ppSession) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SaveObjectDelta( 
            /* [in] */ IRsPersistDeltaStream *pObjPersistDelta,
            /* [in] */ IRsObject *pOrigObj,
            /* [in] */ IStream *pStream) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE LoadObjectDelta( 
            /* [in] */ IRsPersistDeltaStream *pObjPersistDelta,
            /* [in] */ IRsObject *pOrigObj,
            /* [in] */ IStream *pStream) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsSysPersistVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsSysPersist * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsSysPersist * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsSysPersist * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *IsSystemDirty )( 
            IRsSysPersist * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *LoadSystem )( 
            IRsSysPersist * This,
            /* [in] */ IStream *pStm);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SaveSystem )( 
            IRsSysPersist * This,
            /* [in] */ IStream *pStm,
            /* [in] */ RtBool fClearDirty);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SaveCommand )( 
            IRsSysPersist * This,
            /* [in] */ IRsCommand *pCmd,
            /* [in] */ IStream *pStm,
            /* [in] */ RtBool fClearDirty);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *LoadCommand )( 
            IRsSysPersist * This,
            /* [in] */ IStream *pStm,
            /* [retval][out] */ IRsCommand **ppCmd);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RestoreHistory )( 
            IRsSysPersist * This,
            /* [in] */ IRsHistory *pHistory);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SaveNodeToStream )( 
            IRsSysPersist * This,
            /* [in] */ IRsNode *pNode,
            /* [in] */ IStream *pStm,
            /* [in] */ RtBool fClearDirty);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *LoadNodeFromStream )( 
            IRsSysPersist * This,
            /* [in] */ IStream *pStm,
            /* [retval][out] */ IRsNode **ppNode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SaveObject )( 
            IRsSysPersist * This,
            /* [in] */ IRsPersistStream *pObj,
            /* [in] */ IStream *pStream);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *LoadObject )( 
            IRsSysPersist * This,
            /* [in] */ IRsPersistStream *pObj,
            /* [in] */ IStream *pStream);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AttachPoolObj )( 
            IRsSysPersist * This,
            /* [in] */ IRsPoolObj *pObj,
            /* [retval][out] */ DWORD *pdwCookie);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *DetachPoolObj )( 
            IRsSysPersist * This,
            /* [in] */ DWORD dwCookie);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetPoolObj )( 
            IRsSysPersist * This,
            /* [in] */ DWORD dwCookie,
            /* [retval][out] */ IRsPoolObj **ppObj);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CopyNodeToStream )( 
            IRsSysPersist * This,
            /* [in] */ IRsNode *pNode,
            /* [in] */ IStream *pStream);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SaveObjFileHeaderInfo )( 
            IRsSysPersist * This,
            /* [in] */ IStream *pStream,
            /* [in] */ RtObjFileHeaderInfo *pHeaderInfo);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *LoadObjFileHeaderInfo )( 
            IRsSysPersist * This,
            /* [in] */ IStream *pStream,
            /* [in] */ RtObjFileHeaderInfo *pHeaderInfo);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *BeginSerializationSession )( 
            IRsSysPersist * This,
            /* [in] */ RtSessionType eType);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *EndSerializationSession )( 
            IRsSysPersist * This,
            /* [in] */ RtSessionType eType);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *WriteObjToSession )( 
            IRsSysPersist * This,
            /* [in] */ IRsSession *pSession,
            /* [in] */ IRsPersistStream *pObj);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *WriteNodeToSession )( 
            IRsSysPersist * This,
            /* [in] */ IRsSession *pSession,
            /* [in] */ IRsNode *pNodeObj);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ReadObjFromSession )( 
            IRsSysPersist * This,
            /* [in] */ IRsSession *pSession,
            /* [in] */ IRsPersistStream *pObj);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ReadNodeFromSession )( 
            IRsSysPersist * This,
            /* [in] */ IRsSession *pSession,
            /* [retval][out] */ IRsNode **ppNodeObj);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateSessionObj )( 
            IRsSysPersist * This,
            /* [retval][out] */ IRsSession **ppSession);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *BeginSession )( 
            IRsSysPersist * This,
            /* [in] */ IRsSession *pSession);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *EndSession )( 
            IRsSysPersist * This,
            /* [in] */ IRsSession *pSession);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetCurrentSession )( 
            IRsSysPersist * This,
            /* [retval][out] */ IRsSession **ppSession);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SaveObjectDelta )( 
            IRsSysPersist * This,
            /* [in] */ IRsPersistDeltaStream *pObjPersistDelta,
            /* [in] */ IRsObject *pOrigObj,
            /* [in] */ IStream *pStream);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *LoadObjectDelta )( 
            IRsSysPersist * This,
            /* [in] */ IRsPersistDeltaStream *pObjPersistDelta,
            /* [in] */ IRsObject *pOrigObj,
            /* [in] */ IStream *pStream);
        
        END_INTERFACE
    } IRsSysPersistVtbl;

    interface IRsSysPersist
    {
        CONST_VTBL struct IRsSysPersistVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsSysPersist_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsSysPersist_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsSysPersist_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsSysPersist_IsSystemDirty(This)	\
    (This)->lpVtbl -> IsSystemDirty(This)

#define IRsSysPersist_LoadSystem(This,pStm)	\
    (This)->lpVtbl -> LoadSystem(This,pStm)

#define IRsSysPersist_SaveSystem(This,pStm,fClearDirty)	\
    (This)->lpVtbl -> SaveSystem(This,pStm,fClearDirty)

#define IRsSysPersist_SaveCommand(This,pCmd,pStm,fClearDirty)	\
    (This)->lpVtbl -> SaveCommand(This,pCmd,pStm,fClearDirty)

#define IRsSysPersist_LoadCommand(This,pStm,ppCmd)	\
    (This)->lpVtbl -> LoadCommand(This,pStm,ppCmd)

#define IRsSysPersist_RestoreHistory(This,pHistory)	\
    (This)->lpVtbl -> RestoreHistory(This,pHistory)

#define IRsSysPersist_SaveNodeToStream(This,pNode,pStm,fClearDirty)	\
    (This)->lpVtbl -> SaveNodeToStream(This,pNode,pStm,fClearDirty)

#define IRsSysPersist_LoadNodeFromStream(This,pStm,ppNode)	\
    (This)->lpVtbl -> LoadNodeFromStream(This,pStm,ppNode)

#define IRsSysPersist_SaveObject(This,pObj,pStream)	\
    (This)->lpVtbl -> SaveObject(This,pObj,pStream)

#define IRsSysPersist_LoadObject(This,pObj,pStream)	\
    (This)->lpVtbl -> LoadObject(This,pObj,pStream)

#define IRsSysPersist_AttachPoolObj(This,pObj,pdwCookie)	\
    (This)->lpVtbl -> AttachPoolObj(This,pObj,pdwCookie)

#define IRsSysPersist_DetachPoolObj(This,dwCookie)	\
    (This)->lpVtbl -> DetachPoolObj(This,dwCookie)

#define IRsSysPersist_GetPoolObj(This,dwCookie,ppObj)	\
    (This)->lpVtbl -> GetPoolObj(This,dwCookie,ppObj)

#define IRsSysPersist_CopyNodeToStream(This,pNode,pStream)	\
    (This)->lpVtbl -> CopyNodeToStream(This,pNode,pStream)

#define IRsSysPersist_SaveObjFileHeaderInfo(This,pStream,pHeaderInfo)	\
    (This)->lpVtbl -> SaveObjFileHeaderInfo(This,pStream,pHeaderInfo)

#define IRsSysPersist_LoadObjFileHeaderInfo(This,pStream,pHeaderInfo)	\
    (This)->lpVtbl -> LoadObjFileHeaderInfo(This,pStream,pHeaderInfo)

#define IRsSysPersist_BeginSerializationSession(This,eType)	\
    (This)->lpVtbl -> BeginSerializationSession(This,eType)

#define IRsSysPersist_EndSerializationSession(This,eType)	\
    (This)->lpVtbl -> EndSerializationSession(This,eType)

#define IRsSysPersist_WriteObjToSession(This,pSession,pObj)	\
    (This)->lpVtbl -> WriteObjToSession(This,pSession,pObj)

#define IRsSysPersist_WriteNodeToSession(This,pSession,pNodeObj)	\
    (This)->lpVtbl -> WriteNodeToSession(This,pSession,pNodeObj)

#define IRsSysPersist_ReadObjFromSession(This,pSession,pObj)	\
    (This)->lpVtbl -> ReadObjFromSession(This,pSession,pObj)

#define IRsSysPersist_ReadNodeFromSession(This,pSession,ppNodeObj)	\
    (This)->lpVtbl -> ReadNodeFromSession(This,pSession,ppNodeObj)

#define IRsSysPersist_CreateSessionObj(This,ppSession)	\
    (This)->lpVtbl -> CreateSessionObj(This,ppSession)

#define IRsSysPersist_BeginSession(This,pSession)	\
    (This)->lpVtbl -> BeginSession(This,pSession)

#define IRsSysPersist_EndSession(This,pSession)	\
    (This)->lpVtbl -> EndSession(This,pSession)

#define IRsSysPersist_GetCurrentSession(This,ppSession)	\
    (This)->lpVtbl -> GetCurrentSession(This,ppSession)

#define IRsSysPersist_SaveObjectDelta(This,pObjPersistDelta,pOrigObj,pStream)	\
    (This)->lpVtbl -> SaveObjectDelta(This,pObjPersistDelta,pOrigObj,pStream)

#define IRsSysPersist_LoadObjectDelta(This,pObjPersistDelta,pOrigObj,pStream)	\
    (This)->lpVtbl -> LoadObjectDelta(This,pObjPersistDelta,pOrigObj,pStream)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsSysPersist_IsSystemDirty_Proxy( 
    IRsSysPersist * This);


void __RPC_STUB IRsSysPersist_IsSystemDirty_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsSysPersist_LoadSystem_Proxy( 
    IRsSysPersist * This,
    /* [in] */ IStream *pStm);


void __RPC_STUB IRsSysPersist_LoadSystem_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsSysPersist_SaveSystem_Proxy( 
    IRsSysPersist * This,
    /* [in] */ IStream *pStm,
    /* [in] */ RtBool fClearDirty);


void __RPC_STUB IRsSysPersist_SaveSystem_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsSysPersist_SaveCommand_Proxy( 
    IRsSysPersist * This,
    /* [in] */ IRsCommand *pCmd,
    /* [in] */ IStream *pStm,
    /* [in] */ RtBool fClearDirty);


void __RPC_STUB IRsSysPersist_SaveCommand_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsSysPersist_LoadCommand_Proxy( 
    IRsSysPersist * This,
    /* [in] */ IStream *pStm,
    /* [retval][out] */ IRsCommand **ppCmd);


void __RPC_STUB IRsSysPersist_LoadCommand_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsSysPersist_RestoreHistory_Proxy( 
    IRsSysPersist * This,
    /* [in] */ IRsHistory *pHistory);


void __RPC_STUB IRsSysPersist_RestoreHistory_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsSysPersist_SaveNodeToStream_Proxy( 
    IRsSysPersist * This,
    /* [in] */ IRsNode *pNode,
    /* [in] */ IStream *pStm,
    /* [in] */ RtBool fClearDirty);


void __RPC_STUB IRsSysPersist_SaveNodeToStream_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsSysPersist_LoadNodeFromStream_Proxy( 
    IRsSysPersist * This,
    /* [in] */ IStream *pStm,
    /* [retval][out] */ IRsNode **ppNode);


void __RPC_STUB IRsSysPersist_LoadNodeFromStream_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsSysPersist_SaveObject_Proxy( 
    IRsSysPersist * This,
    /* [in] */ IRsPersistStream *pObj,
    /* [in] */ IStream *pStream);


void __RPC_STUB IRsSysPersist_SaveObject_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsSysPersist_LoadObject_Proxy( 
    IRsSysPersist * This,
    /* [in] */ IRsPersistStream *pObj,
    /* [in] */ IStream *pStream);


void __RPC_STUB IRsSysPersist_LoadObject_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsSysPersist_AttachPoolObj_Proxy( 
    IRsSysPersist * This,
    /* [in] */ IRsPoolObj *pObj,
    /* [retval][out] */ DWORD *pdwCookie);


void __RPC_STUB IRsSysPersist_AttachPoolObj_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsSysPersist_DetachPoolObj_Proxy( 
    IRsSysPersist * This,
    /* [in] */ DWORD dwCookie);


void __RPC_STUB IRsSysPersist_DetachPoolObj_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsSysPersist_GetPoolObj_Proxy( 
    IRsSysPersist * This,
    /* [in] */ DWORD dwCookie,
    /* [retval][out] */ IRsPoolObj **ppObj);


void __RPC_STUB IRsSysPersist_GetPoolObj_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsSysPersist_CopyNodeToStream_Proxy( 
    IRsSysPersist * This,
    /* [in] */ IRsNode *pNode,
    /* [in] */ IStream *pStream);


void __RPC_STUB IRsSysPersist_CopyNodeToStream_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsSysPersist_SaveObjFileHeaderInfo_Proxy( 
    IRsSysPersist * This,
    /* [in] */ IStream *pStream,
    /* [in] */ RtObjFileHeaderInfo *pHeaderInfo);


void __RPC_STUB IRsSysPersist_SaveObjFileHeaderInfo_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsSysPersist_LoadObjFileHeaderInfo_Proxy( 
    IRsSysPersist * This,
    /* [in] */ IStream *pStream,
    /* [in] */ RtObjFileHeaderInfo *pHeaderInfo);


void __RPC_STUB IRsSysPersist_LoadObjFileHeaderInfo_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsSysPersist_BeginSerializationSession_Proxy( 
    IRsSysPersist * This,
    /* [in] */ RtSessionType eType);


void __RPC_STUB IRsSysPersist_BeginSerializationSession_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsSysPersist_EndSerializationSession_Proxy( 
    IRsSysPersist * This,
    /* [in] */ RtSessionType eType);


void __RPC_STUB IRsSysPersist_EndSerializationSession_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsSysPersist_WriteObjToSession_Proxy( 
    IRsSysPersist * This,
    /* [in] */ IRsSession *pSession,
    /* [in] */ IRsPersistStream *pObj);


void __RPC_STUB IRsSysPersist_WriteObjToSession_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsSysPersist_WriteNodeToSession_Proxy( 
    IRsSysPersist * This,
    /* [in] */ IRsSession *pSession,
    /* [in] */ IRsNode *pNodeObj);


void __RPC_STUB IRsSysPersist_WriteNodeToSession_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsSysPersist_ReadObjFromSession_Proxy( 
    IRsSysPersist * This,
    /* [in] */ IRsSession *pSession,
    /* [in] */ IRsPersistStream *pObj);


void __RPC_STUB IRsSysPersist_ReadObjFromSession_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsSysPersist_ReadNodeFromSession_Proxy( 
    IRsSysPersist * This,
    /* [in] */ IRsSession *pSession,
    /* [retval][out] */ IRsNode **ppNodeObj);


void __RPC_STUB IRsSysPersist_ReadNodeFromSession_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsSysPersist_CreateSessionObj_Proxy( 
    IRsSysPersist * This,
    /* [retval][out] */ IRsSession **ppSession);


void __RPC_STUB IRsSysPersist_CreateSessionObj_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsSysPersist_BeginSession_Proxy( 
    IRsSysPersist * This,
    /* [in] */ IRsSession *pSession);


void __RPC_STUB IRsSysPersist_BeginSession_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsSysPersist_EndSession_Proxy( 
    IRsSysPersist * This,
    /* [in] */ IRsSession *pSession);


void __RPC_STUB IRsSysPersist_EndSession_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsSysPersist_GetCurrentSession_Proxy( 
    IRsSysPersist * This,
    /* [retval][out] */ IRsSession **ppSession);


void __RPC_STUB IRsSysPersist_GetCurrentSession_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsSysPersist_SaveObjectDelta_Proxy( 
    IRsSysPersist * This,
    /* [in] */ IRsPersistDeltaStream *pObjPersistDelta,
    /* [in] */ IRsObject *pOrigObj,
    /* [in] */ IStream *pStream);


void __RPC_STUB IRsSysPersist_SaveObjectDelta_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsSysPersist_LoadObjectDelta_Proxy( 
    IRsSysPersist * This,
    /* [in] */ IRsPersistDeltaStream *pObjPersistDelta,
    /* [in] */ IRsObject *pOrigObj,
    /* [in] */ IStream *pStream);


void __RPC_STUB IRsSysPersist_LoadObjectDelta_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsSysPersist_INTERFACE_DEFINED__ */


#ifndef __IRsKernelFactory_INTERFACE_DEFINED__
#define __IRsKernelFactory_INTERFACE_DEFINED__

/* interface IRsKernelFactory */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsKernelFactory;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("4F3BFD8D-96B7-450E-98B1-259C2C167CF4")
    IRsKernelFactory : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateNamedItem( 
            /* [in] */ GUID *pId,
            /* [retval][out] */ IRsNamedItem **ppNamedItem) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateObjectList( 
            /* [retval][out] */ IRsObjectList **ppObjectList) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsKernelFactoryVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsKernelFactory * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsKernelFactory * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsKernelFactory * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateNamedItem )( 
            IRsKernelFactory * This,
            /* [in] */ GUID *pId,
            /* [retval][out] */ IRsNamedItem **ppNamedItem);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateObjectList )( 
            IRsKernelFactory * This,
            /* [retval][out] */ IRsObjectList **ppObjectList);
        
        END_INTERFACE
    } IRsKernelFactoryVtbl;

    interface IRsKernelFactory
    {
        CONST_VTBL struct IRsKernelFactoryVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsKernelFactory_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsKernelFactory_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsKernelFactory_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsKernelFactory_CreateNamedItem(This,pId,ppNamedItem)	\
    (This)->lpVtbl -> CreateNamedItem(This,pId,ppNamedItem)

#define IRsKernelFactory_CreateObjectList(This,ppObjectList)	\
    (This)->lpVtbl -> CreateObjectList(This,ppObjectList)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsKernelFactory_CreateNamedItem_Proxy( 
    IRsKernelFactory * This,
    /* [in] */ GUID *pId,
    /* [retval][out] */ IRsNamedItem **ppNamedItem);


void __RPC_STUB IRsKernelFactory_CreateNamedItem_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsKernelFactory_CreateObjectList_Proxy( 
    IRsKernelFactory * This,
    /* [retval][out] */ IRsObjectList **ppObjectList);


void __RPC_STUB IRsKernelFactory_CreateObjectList_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsKernelFactory_INTERFACE_DEFINED__ */


#ifndef __IRfConnection_INTERFACE_DEFINED__
#define __IRfConnection_INTERFACE_DEFINED__

/* interface IRfConnection */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRfConnection;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("D1D0B2C6-B6FA-462D-872C-4906FEBAC17A")
    IRfConnection : public IRsObject
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetSubSpaceExternConnection( 
            /* [in] */ IRsNode *pSubSpaeRoot,
            /* [retval][out] */ IRsConnectionList **ppConList) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateConnectionListObj( 
            /* [retval][out] */ IRsConnectionList **ppConnectionList) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateConnectionObj( 
            /* [in] */ IRsConnector *pSourceCon,
            /* [in] */ IRsConnector *pDestCon,
            /* [retval][out] */ IRsConnection **ppConnection) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRfConnectionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRfConnection * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRfConnection * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRfConnection * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassId )( 
            IRfConnection * This,
            /* [retval][out] */ GUID *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassName )( 
            IRfConnection * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetSubSpaceExternConnection )( 
            IRfConnection * This,
            /* [in] */ IRsNode *pSubSpaeRoot,
            /* [retval][out] */ IRsConnectionList **ppConList);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateConnectionListObj )( 
            IRfConnection * This,
            /* [retval][out] */ IRsConnectionList **ppConnectionList);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateConnectionObj )( 
            IRfConnection * This,
            /* [in] */ IRsConnector *pSourceCon,
            /* [in] */ IRsConnector *pDestCon,
            /* [retval][out] */ IRsConnection **ppConnection);
        
        END_INTERFACE
    } IRfConnectionVtbl;

    interface IRfConnection
    {
        CONST_VTBL struct IRfConnectionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRfConnection_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRfConnection_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRfConnection_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRfConnection_get_ClassId(This,pVal)	\
    (This)->lpVtbl -> get_ClassId(This,pVal)

#define IRfConnection_get_ClassName(This,pVal)	\
    (This)->lpVtbl -> get_ClassName(This,pVal)


#define IRfConnection_GetSubSpaceExternConnection(This,pSubSpaeRoot,ppConList)	\
    (This)->lpVtbl -> GetSubSpaceExternConnection(This,pSubSpaeRoot,ppConList)

#define IRfConnection_CreateConnectionListObj(This,ppConnectionList)	\
    (This)->lpVtbl -> CreateConnectionListObj(This,ppConnectionList)

#define IRfConnection_CreateConnectionObj(This,pSourceCon,pDestCon,ppConnection)	\
    (This)->lpVtbl -> CreateConnectionObj(This,pSourceCon,pDestCon,ppConnection)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfConnection_GetSubSpaceExternConnection_Proxy( 
    IRfConnection * This,
    /* [in] */ IRsNode *pSubSpaeRoot,
    /* [retval][out] */ IRsConnectionList **ppConList);


void __RPC_STUB IRfConnection_GetSubSpaceExternConnection_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfConnection_CreateConnectionListObj_Proxy( 
    IRfConnection * This,
    /* [retval][out] */ IRsConnectionList **ppConnectionList);


void __RPC_STUB IRfConnection_CreateConnectionListObj_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfConnection_CreateConnectionObj_Proxy( 
    IRfConnection * This,
    /* [in] */ IRsConnector *pSourceCon,
    /* [in] */ IRsConnector *pDestCon,
    /* [retval][out] */ IRsConnection **ppConnection);


void __RPC_STUB IRfConnection_CreateConnectionObj_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRfConnection_INTERFACE_DEFINED__ */


#ifndef __IRsNodeFilter_INTERFACE_DEFINED__
#define __IRsNodeFilter_INTERFACE_DEFINED__

/* interface IRsNodeFilter */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsNodeFilter;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("5C5EE353-A310-4897-97A4-35A0AC7E3A93")
    IRsNodeFilter : public IRsObject
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE IsFilterOut( 
            /* [in] */ IRsNode *pNode,
            /* [retval][out] */ RtBool *pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddFilterByClassId( 
            /* [in] */ GUID ClassId) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddFilterByConId( 
            /* [in] */ CONID conId) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddFilterByOwner( 
            /* [in] */ IRsNode *pOwner) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddFilterByNode( 
            /* [in] */ IRsNode *pNode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RemoveFilterByClassId( 
            /* [in] */ GUID ClassId) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RemoveFilterByConId( 
            /* [in] */ CONID conId) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsNodeFilterVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsNodeFilter * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsNodeFilter * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsNodeFilter * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassId )( 
            IRsNodeFilter * This,
            /* [retval][out] */ GUID *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassName )( 
            IRsNodeFilter * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *IsFilterOut )( 
            IRsNodeFilter * This,
            /* [in] */ IRsNode *pNode,
            /* [retval][out] */ RtBool *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddFilterByClassId )( 
            IRsNodeFilter * This,
            /* [in] */ GUID ClassId);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddFilterByConId )( 
            IRsNodeFilter * This,
            /* [in] */ CONID conId);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddFilterByOwner )( 
            IRsNodeFilter * This,
            /* [in] */ IRsNode *pOwner);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddFilterByNode )( 
            IRsNodeFilter * This,
            /* [in] */ IRsNode *pNode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RemoveFilterByClassId )( 
            IRsNodeFilter * This,
            /* [in] */ GUID ClassId);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RemoveFilterByConId )( 
            IRsNodeFilter * This,
            /* [in] */ CONID conId);
        
        END_INTERFACE
    } IRsNodeFilterVtbl;

    interface IRsNodeFilter
    {
        CONST_VTBL struct IRsNodeFilterVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsNodeFilter_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsNodeFilter_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsNodeFilter_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsNodeFilter_get_ClassId(This,pVal)	\
    (This)->lpVtbl -> get_ClassId(This,pVal)

#define IRsNodeFilter_get_ClassName(This,pVal)	\
    (This)->lpVtbl -> get_ClassName(This,pVal)


#define IRsNodeFilter_IsFilterOut(This,pNode,pVal)	\
    (This)->lpVtbl -> IsFilterOut(This,pNode,pVal)

#define IRsNodeFilter_AddFilterByClassId(This,ClassId)	\
    (This)->lpVtbl -> AddFilterByClassId(This,ClassId)

#define IRsNodeFilter_AddFilterByConId(This,conId)	\
    (This)->lpVtbl -> AddFilterByConId(This,conId)

#define IRsNodeFilter_AddFilterByOwner(This,pOwner)	\
    (This)->lpVtbl -> AddFilterByOwner(This,pOwner)

#define IRsNodeFilter_AddFilterByNode(This,pNode)	\
    (This)->lpVtbl -> AddFilterByNode(This,pNode)

#define IRsNodeFilter_RemoveFilterByClassId(This,ClassId)	\
    (This)->lpVtbl -> RemoveFilterByClassId(This,ClassId)

#define IRsNodeFilter_RemoveFilterByConId(This,conId)	\
    (This)->lpVtbl -> RemoveFilterByConId(This,conId)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsNodeFilter_IsFilterOut_Proxy( 
    IRsNodeFilter * This,
    /* [in] */ IRsNode *pNode,
    /* [retval][out] */ RtBool *pVal);


void __RPC_STUB IRsNodeFilter_IsFilterOut_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsNodeFilter_AddFilterByClassId_Proxy( 
    IRsNodeFilter * This,
    /* [in] */ GUID ClassId);


void __RPC_STUB IRsNodeFilter_AddFilterByClassId_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsNodeFilter_AddFilterByConId_Proxy( 
    IRsNodeFilter * This,
    /* [in] */ CONID conId);


void __RPC_STUB IRsNodeFilter_AddFilterByConId_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsNodeFilter_AddFilterByOwner_Proxy( 
    IRsNodeFilter * This,
    /* [in] */ IRsNode *pOwner);


void __RPC_STUB IRsNodeFilter_AddFilterByOwner_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsNodeFilter_AddFilterByNode_Proxy( 
    IRsNodeFilter * This,
    /* [in] */ IRsNode *pNode);


void __RPC_STUB IRsNodeFilter_AddFilterByNode_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsNodeFilter_RemoveFilterByClassId_Proxy( 
    IRsNodeFilter * This,
    /* [in] */ GUID ClassId);


void __RPC_STUB IRsNodeFilter_RemoveFilterByClassId_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsNodeFilter_RemoveFilterByConId_Proxy( 
    IRsNodeFilter * This,
    /* [in] */ CONID conId);


void __RPC_STUB IRsNodeFilter_RemoveFilterByConId_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsNodeFilter_INTERFACE_DEFINED__ */


#ifndef __IRsBaseSelection_INTERFACE_DEFINED__
#define __IRsBaseSelection_INTERFACE_DEFINED__

/* interface IRsBaseSelection */
/* [unique][helpstring][object][uuid] */ 


EXTERN_C const IID IID_IRsBaseSelection;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("DA814FE6-2000-4b33-B80C-1B75CACB46D5")
    IRsBaseSelection : public IRsDataObject
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Initialize( 
            /* [in] */ GUID SelectionID,
            /* [in] */ IUnknown *pManager) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Deinitialize( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetSelectionID( 
            /* [retval][out] */ GUID *SelectionID) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsBaseSelectionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsBaseSelection * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsBaseSelection * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsBaseSelection * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassId )( 
            IRsBaseSelection * This,
            /* [retval][out] */ GUID *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassName )( 
            IRsBaseSelection * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetDefault )( 
            IRsBaseSelection * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Initialize )( 
            IRsBaseSelection * This,
            /* [in] */ GUID SelectionID,
            /* [in] */ IUnknown *pManager);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Deinitialize )( 
            IRsBaseSelection * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetSelectionID )( 
            IRsBaseSelection * This,
            /* [retval][out] */ GUID *SelectionID);
        
        END_INTERFACE
    } IRsBaseSelectionVtbl;

    interface IRsBaseSelection
    {
        CONST_VTBL struct IRsBaseSelectionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsBaseSelection_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsBaseSelection_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsBaseSelection_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsBaseSelection_get_ClassId(This,pVal)	\
    (This)->lpVtbl -> get_ClassId(This,pVal)

#define IRsBaseSelection_get_ClassName(This,pVal)	\
    (This)->lpVtbl -> get_ClassName(This,pVal)


#define IRsBaseSelection_SetDefault(This)	\
    (This)->lpVtbl -> SetDefault(This)


#define IRsBaseSelection_Initialize(This,SelectionID,pManager)	\
    (This)->lpVtbl -> Initialize(This,SelectionID,pManager)

#define IRsBaseSelection_Deinitialize(This)	\
    (This)->lpVtbl -> Deinitialize(This)

#define IRsBaseSelection_GetSelectionID(This,SelectionID)	\
    (This)->lpVtbl -> GetSelectionID(This,SelectionID)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsBaseSelection_Initialize_Proxy( 
    IRsBaseSelection * This,
    /* [in] */ GUID SelectionID,
    /* [in] */ IUnknown *pManager);


void __RPC_STUB IRsBaseSelection_Initialize_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsBaseSelection_Deinitialize_Proxy( 
    IRsBaseSelection * This);


void __RPC_STUB IRsBaseSelection_Deinitialize_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsBaseSelection_GetSelectionID_Proxy( 
    IRsBaseSelection * This,
    /* [retval][out] */ GUID *SelectionID);


void __RPC_STUB IRsBaseSelection_GetSelectionID_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsBaseSelection_INTERFACE_DEFINED__ */


/* interface __MIDL_itf__Kernel_0903 */
/* [local] */ 

typedef 
enum _tagRtSelectionNotificationType
    {	SNT_SELECTION_SET	= 1,
	SNT_SELECTION_CHANGED	= 2,
	SNT_SELECTION_REMOVED	= 3,
	SNT_FORCE_DWORD	= -1
    } 	RtSelectionNotificationType;



extern RPC_IF_HANDLE __MIDL_itf__Kernel_0903_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf__Kernel_0903_v0_0_s_ifspec;

#ifndef __IRsSelectionNotification_INTERFACE_DEFINED__
#define __IRsSelectionNotification_INTERFACE_DEFINED__

/* interface IRsSelectionNotification */
/* [unique][helpstring][object][uuid] */ 


EXTERN_C const IID IID_IRsSelectionNotification;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("7FDF2987-03AF-4d00-93FB-5570892006A3")
    IRsSelectionNotification : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SelectionNotify( 
            /* [in] */ GUID SelectionID,
            /* [in] */ RtSelectionNotificationType eType,
            /* [in] */ IRsBaseSelection *pSelection) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsSelectionNotificationVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsSelectionNotification * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsSelectionNotification * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsSelectionNotification * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SelectionNotify )( 
            IRsSelectionNotification * This,
            /* [in] */ GUID SelectionID,
            /* [in] */ RtSelectionNotificationType eType,
            /* [in] */ IRsBaseSelection *pSelection);
        
        END_INTERFACE
    } IRsSelectionNotificationVtbl;

    interface IRsSelectionNotification
    {
        CONST_VTBL struct IRsSelectionNotificationVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsSelectionNotification_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsSelectionNotification_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsSelectionNotification_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsSelectionNotification_SelectionNotify(This,SelectionID,eType,pSelection)	\
    (This)->lpVtbl -> SelectionNotify(This,SelectionID,eType,pSelection)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsSelectionNotification_SelectionNotify_Proxy( 
    IRsSelectionNotification * This,
    /* [in] */ GUID SelectionID,
    /* [in] */ RtSelectionNotificationType eType,
    /* [in] */ IRsBaseSelection *pSelection);


void __RPC_STUB IRsSelectionNotification_SelectionNotify_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsSelectionNotification_INTERFACE_DEFINED__ */


#ifndef __IRsNotificationManager_INTERFACE_DEFINED__
#define __IRsNotificationManager_INTERFACE_DEFINED__

/* interface IRsNotificationManager */
/* [unique][helpstring][object][uuid] */ 


EXTERN_C const IID IID_IRsNotificationManager;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("AB916EB2-0954-4dbf-BBDC-C38F429A794C")
    IRsNotificationManager : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE LockObject( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE UnlockObject( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RegisterNotification( 
            /* [in] */ GUID SelectionID,
            /* [in] */ IRsSelectionNotification *pNotificaton) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE UnregisterNotification( 
            /* [in] */ GUID SelectionID,
            /* [in] */ IRsSelectionNotification *pNotificaton) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE UnregisterAllNotifications( 
            /* [in] */ IRsSelectionNotification *pNotificaton) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetNotificationCount( 
            /* [in] */ GUID SelectionID,
            /* [retval][out] */ RtUlong *dwCount) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetNotificationAtIndex( 
            /* [in] */ GUID SelectionID,
            /* [in] */ RtUlong dwIndex,
            /* [retval][out] */ IRsSelectionNotification **pNotification) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsNotificationManagerVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsNotificationManager * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsNotificationManager * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsNotificationManager * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *LockObject )( 
            IRsNotificationManager * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *UnlockObject )( 
            IRsNotificationManager * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RegisterNotification )( 
            IRsNotificationManager * This,
            /* [in] */ GUID SelectionID,
            /* [in] */ IRsSelectionNotification *pNotificaton);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *UnregisterNotification )( 
            IRsNotificationManager * This,
            /* [in] */ GUID SelectionID,
            /* [in] */ IRsSelectionNotification *pNotificaton);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *UnregisterAllNotifications )( 
            IRsNotificationManager * This,
            /* [in] */ IRsSelectionNotification *pNotificaton);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetNotificationCount )( 
            IRsNotificationManager * This,
            /* [in] */ GUID SelectionID,
            /* [retval][out] */ RtUlong *dwCount);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetNotificationAtIndex )( 
            IRsNotificationManager * This,
            /* [in] */ GUID SelectionID,
            /* [in] */ RtUlong dwIndex,
            /* [retval][out] */ IRsSelectionNotification **pNotification);
        
        END_INTERFACE
    } IRsNotificationManagerVtbl;

    interface IRsNotificationManager
    {
        CONST_VTBL struct IRsNotificationManagerVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsNotificationManager_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsNotificationManager_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsNotificationManager_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsNotificationManager_LockObject(This)	\
    (This)->lpVtbl -> LockObject(This)

#define IRsNotificationManager_UnlockObject(This)	\
    (This)->lpVtbl -> UnlockObject(This)

#define IRsNotificationManager_RegisterNotification(This,SelectionID,pNotificaton)	\
    (This)->lpVtbl -> RegisterNotification(This,SelectionID,pNotificaton)

#define IRsNotificationManager_UnregisterNotification(This,SelectionID,pNotificaton)	\
    (This)->lpVtbl -> UnregisterNotification(This,SelectionID,pNotificaton)

#define IRsNotificationManager_UnregisterAllNotifications(This,pNotificaton)	\
    (This)->lpVtbl -> UnregisterAllNotifications(This,pNotificaton)

#define IRsNotificationManager_GetNotificationCount(This,SelectionID,dwCount)	\
    (This)->lpVtbl -> GetNotificationCount(This,SelectionID,dwCount)

#define IRsNotificationManager_GetNotificationAtIndex(This,SelectionID,dwIndex,pNotification)	\
    (This)->lpVtbl -> GetNotificationAtIndex(This,SelectionID,dwIndex,pNotification)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsNotificationManager_LockObject_Proxy( 
    IRsNotificationManager * This);


void __RPC_STUB IRsNotificationManager_LockObject_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsNotificationManager_UnlockObject_Proxy( 
    IRsNotificationManager * This);


void __RPC_STUB IRsNotificationManager_UnlockObject_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsNotificationManager_RegisterNotification_Proxy( 
    IRsNotificationManager * This,
    /* [in] */ GUID SelectionID,
    /* [in] */ IRsSelectionNotification *pNotificaton);


void __RPC_STUB IRsNotificationManager_RegisterNotification_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsNotificationManager_UnregisterNotification_Proxy( 
    IRsNotificationManager * This,
    /* [in] */ GUID SelectionID,
    /* [in] */ IRsSelectionNotification *pNotificaton);


void __RPC_STUB IRsNotificationManager_UnregisterNotification_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsNotificationManager_UnregisterAllNotifications_Proxy( 
    IRsNotificationManager * This,
    /* [in] */ IRsSelectionNotification *pNotificaton);


void __RPC_STUB IRsNotificationManager_UnregisterAllNotifications_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsNotificationManager_GetNotificationCount_Proxy( 
    IRsNotificationManager * This,
    /* [in] */ GUID SelectionID,
    /* [retval][out] */ RtUlong *dwCount);


void __RPC_STUB IRsNotificationManager_GetNotificationCount_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsNotificationManager_GetNotificationAtIndex_Proxy( 
    IRsNotificationManager * This,
    /* [in] */ GUID SelectionID,
    /* [in] */ RtUlong dwIndex,
    /* [retval][out] */ IRsSelectionNotification **pNotification);


void __RPC_STUB IRsNotificationManager_GetNotificationAtIndex_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsNotificationManager_INTERFACE_DEFINED__ */


#ifndef __IRsSelectionManager_INTERFACE_DEFINED__
#define __IRsSelectionManager_INTERFACE_DEFINED__

/* interface IRsSelectionManager */
/* [unique][helpstring][object][uuid] */ 


EXTERN_C const IID IID_IRsSelectionManager;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("5504F4EF-E1A6-4afa-99AE-834B3CB24CE0")
    IRsSelectionManager : public IRsNotificationManager
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Clear( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetSelection( 
            /* [in] */ GUID SelectionID,
            /* [in] */ IRsBaseSelection *pSelection) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetSelection( 
            /* [in] */ GUID SelectionID,
            /* [retval][out] */ IRsBaseSelection **pSelection) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RemoveSelection( 
            /* [in] */ GUID SelectionID) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetSelectionCount( 
            /* [retval][out] */ RtUlong *dwCount) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetSelectionAtIndex( 
            /* [in] */ RtUlong dwIndex,
            /* [out] */ GUID *pSelectionID,
            /* [out] */ IRsBaseSelection **pSelection) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SelectionChanged( 
            /* [in] */ IRsBaseSelection *pSelection) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsSelectionManagerVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsSelectionManager * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsSelectionManager * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsSelectionManager * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *LockObject )( 
            IRsSelectionManager * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *UnlockObject )( 
            IRsSelectionManager * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RegisterNotification )( 
            IRsSelectionManager * This,
            /* [in] */ GUID SelectionID,
            /* [in] */ IRsSelectionNotification *pNotificaton);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *UnregisterNotification )( 
            IRsSelectionManager * This,
            /* [in] */ GUID SelectionID,
            /* [in] */ IRsSelectionNotification *pNotificaton);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *UnregisterAllNotifications )( 
            IRsSelectionManager * This,
            /* [in] */ IRsSelectionNotification *pNotificaton);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetNotificationCount )( 
            IRsSelectionManager * This,
            /* [in] */ GUID SelectionID,
            /* [retval][out] */ RtUlong *dwCount);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetNotificationAtIndex )( 
            IRsSelectionManager * This,
            /* [in] */ GUID SelectionID,
            /* [in] */ RtUlong dwIndex,
            /* [retval][out] */ IRsSelectionNotification **pNotification);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Clear )( 
            IRsSelectionManager * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetSelection )( 
            IRsSelectionManager * This,
            /* [in] */ GUID SelectionID,
            /* [in] */ IRsBaseSelection *pSelection);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetSelection )( 
            IRsSelectionManager * This,
            /* [in] */ GUID SelectionID,
            /* [retval][out] */ IRsBaseSelection **pSelection);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RemoveSelection )( 
            IRsSelectionManager * This,
            /* [in] */ GUID SelectionID);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetSelectionCount )( 
            IRsSelectionManager * This,
            /* [retval][out] */ RtUlong *dwCount);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetSelectionAtIndex )( 
            IRsSelectionManager * This,
            /* [in] */ RtUlong dwIndex,
            /* [out] */ GUID *pSelectionID,
            /* [out] */ IRsBaseSelection **pSelection);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SelectionChanged )( 
            IRsSelectionManager * This,
            /* [in] */ IRsBaseSelection *pSelection);
        
        END_INTERFACE
    } IRsSelectionManagerVtbl;

    interface IRsSelectionManager
    {
        CONST_VTBL struct IRsSelectionManagerVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsSelectionManager_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsSelectionManager_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsSelectionManager_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsSelectionManager_LockObject(This)	\
    (This)->lpVtbl -> LockObject(This)

#define IRsSelectionManager_UnlockObject(This)	\
    (This)->lpVtbl -> UnlockObject(This)

#define IRsSelectionManager_RegisterNotification(This,SelectionID,pNotificaton)	\
    (This)->lpVtbl -> RegisterNotification(This,SelectionID,pNotificaton)

#define IRsSelectionManager_UnregisterNotification(This,SelectionID,pNotificaton)	\
    (This)->lpVtbl -> UnregisterNotification(This,SelectionID,pNotificaton)

#define IRsSelectionManager_UnregisterAllNotifications(This,pNotificaton)	\
    (This)->lpVtbl -> UnregisterAllNotifications(This,pNotificaton)

#define IRsSelectionManager_GetNotificationCount(This,SelectionID,dwCount)	\
    (This)->lpVtbl -> GetNotificationCount(This,SelectionID,dwCount)

#define IRsSelectionManager_GetNotificationAtIndex(This,SelectionID,dwIndex,pNotification)	\
    (This)->lpVtbl -> GetNotificationAtIndex(This,SelectionID,dwIndex,pNotification)


#define IRsSelectionManager_Clear(This)	\
    (This)->lpVtbl -> Clear(This)

#define IRsSelectionManager_SetSelection(This,SelectionID,pSelection)	\
    (This)->lpVtbl -> SetSelection(This,SelectionID,pSelection)

#define IRsSelectionManager_GetSelection(This,SelectionID,pSelection)	\
    (This)->lpVtbl -> GetSelection(This,SelectionID,pSelection)

#define IRsSelectionManager_RemoveSelection(This,SelectionID)	\
    (This)->lpVtbl -> RemoveSelection(This,SelectionID)

#define IRsSelectionManager_GetSelectionCount(This,dwCount)	\
    (This)->lpVtbl -> GetSelectionCount(This,dwCount)

#define IRsSelectionManager_GetSelectionAtIndex(This,dwIndex,pSelectionID,pSelection)	\
    (This)->lpVtbl -> GetSelectionAtIndex(This,dwIndex,pSelectionID,pSelection)

#define IRsSelectionManager_SelectionChanged(This,pSelection)	\
    (This)->lpVtbl -> SelectionChanged(This,pSelection)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsSelectionManager_Clear_Proxy( 
    IRsSelectionManager * This);


void __RPC_STUB IRsSelectionManager_Clear_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsSelectionManager_SetSelection_Proxy( 
    IRsSelectionManager * This,
    /* [in] */ GUID SelectionID,
    /* [in] */ IRsBaseSelection *pSelection);


void __RPC_STUB IRsSelectionManager_SetSelection_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsSelectionManager_GetSelection_Proxy( 
    IRsSelectionManager * This,
    /* [in] */ GUID SelectionID,
    /* [retval][out] */ IRsBaseSelection **pSelection);


void __RPC_STUB IRsSelectionManager_GetSelection_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsSelectionManager_RemoveSelection_Proxy( 
    IRsSelectionManager * This,
    /* [in] */ GUID SelectionID);


void __RPC_STUB IRsSelectionManager_RemoveSelection_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsSelectionManager_GetSelectionCount_Proxy( 
    IRsSelectionManager * This,
    /* [retval][out] */ RtUlong *dwCount);


void __RPC_STUB IRsSelectionManager_GetSelectionCount_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsSelectionManager_GetSelectionAtIndex_Proxy( 
    IRsSelectionManager * This,
    /* [in] */ RtUlong dwIndex,
    /* [out] */ GUID *pSelectionID,
    /* [out] */ IRsBaseSelection **pSelection);


void __RPC_STUB IRsSelectionManager_GetSelectionAtIndex_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsSelectionManager_SelectionChanged_Proxy( 
    IRsSelectionManager * This,
    /* [in] */ IRsBaseSelection *pSelection);


void __RPC_STUB IRsSelectionManager_SelectionChanged_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsSelectionManager_INTERFACE_DEFINED__ */


#ifndef __IRdSelNodeSelection_INTERFACE_DEFINED__
#define __IRdSelNodeSelection_INTERFACE_DEFINED__

/* interface IRdSelNodeSelection */
/* [unique][helpstring][local][object][uuid] */ 


EXTERN_C const IID IID_IRdSelNodeSelection;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("88E69A73-D84F-424f-8B44-B908EFE9ADD8")
    IRdSelNodeSelection : public IRsBaseSelection
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE LockObject( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE UnlockObject( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE IsEmpty( void) = 0;
        
        virtual /* [helpstring] */ RtUlong STDMETHODCALLTYPE GetCount( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetAt( 
            /* [in] */ RtUlong pos,
            /* [retval][out] */ IRsNode **ppNode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetAll( 
            /* [retval][out] */ SAFEARRAY **ppSArray) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Add( 
            /* [in] */ IRsNode *pObj) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddArray( 
            /* [in] */ RtUlong Count,
            /* [in] */ IRsNode **pNode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddSafeArray( 
            /* [in] */ SAFEARRAY **pSArray) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddSelection( 
            /* [in] */ IRdSelNodeSelection *pSelection) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ReplaceBy( 
            /* [in] */ IRsNode *pObj) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ReplaceByArray( 
            /* [in] */ RtUlong Count,
            /* [in] */ IRsNode **pNode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ReplaceBySafeArray( 
            /* [in] */ SAFEARRAY **pSArray) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ReplaceBySelection( 
            /* [in] */ IRdSelNodeSelection *pSelection) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Remove( 
            /* [in] */ IRsNode *pObj) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RemoveAt( 
            /* [in] */ RtUlong dwIndex) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RemoveRange( 
            /* [in] */ RtUlong Start,
            /* [in] */ RtUlong Count) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RemoveAll( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE IsInSpace( 
            /* [in] */ IRsNode *pSpaceNode,
            /* [in] */ IRsNode *pNode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE IsInSelection( 
            /* [in] */ IRsNode *pNode) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRdSelNodeSelectionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRdSelNodeSelection * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRdSelNodeSelection * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRdSelNodeSelection * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassId )( 
            IRdSelNodeSelection * This,
            /* [retval][out] */ GUID *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassName )( 
            IRdSelNodeSelection * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetDefault )( 
            IRdSelNodeSelection * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Initialize )( 
            IRdSelNodeSelection * This,
            /* [in] */ GUID SelectionID,
            /* [in] */ IUnknown *pManager);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Deinitialize )( 
            IRdSelNodeSelection * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetSelectionID )( 
            IRdSelNodeSelection * This,
            /* [retval][out] */ GUID *SelectionID);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *LockObject )( 
            IRdSelNodeSelection * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *UnlockObject )( 
            IRdSelNodeSelection * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE *IsEmpty )( 
            IRdSelNodeSelection * This);
        
        /* [helpstring] */ RtUlong ( STDMETHODCALLTYPE *GetCount )( 
            IRdSelNodeSelection * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetAt )( 
            IRdSelNodeSelection * This,
            /* [in] */ RtUlong pos,
            /* [retval][out] */ IRsNode **ppNode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetAll )( 
            IRdSelNodeSelection * This,
            /* [retval][out] */ SAFEARRAY **ppSArray);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Add )( 
            IRdSelNodeSelection * This,
            /* [in] */ IRsNode *pObj);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddArray )( 
            IRdSelNodeSelection * This,
            /* [in] */ RtUlong Count,
            /* [in] */ IRsNode **pNode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddSafeArray )( 
            IRdSelNodeSelection * This,
            /* [in] */ SAFEARRAY **pSArray);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddSelection )( 
            IRdSelNodeSelection * This,
            /* [in] */ IRdSelNodeSelection *pSelection);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ReplaceBy )( 
            IRdSelNodeSelection * This,
            /* [in] */ IRsNode *pObj);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ReplaceByArray )( 
            IRdSelNodeSelection * This,
            /* [in] */ RtUlong Count,
            /* [in] */ IRsNode **pNode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ReplaceBySafeArray )( 
            IRdSelNodeSelection * This,
            /* [in] */ SAFEARRAY **pSArray);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ReplaceBySelection )( 
            IRdSelNodeSelection * This,
            /* [in] */ IRdSelNodeSelection *pSelection);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Remove )( 
            IRdSelNodeSelection * This,
            /* [in] */ IRsNode *pObj);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RemoveAt )( 
            IRdSelNodeSelection * This,
            /* [in] */ RtUlong dwIndex);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RemoveRange )( 
            IRdSelNodeSelection * This,
            /* [in] */ RtUlong Start,
            /* [in] */ RtUlong Count);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RemoveAll )( 
            IRdSelNodeSelection * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *IsInSpace )( 
            IRdSelNodeSelection * This,
            /* [in] */ IRsNode *pSpaceNode,
            /* [in] */ IRsNode *pNode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *IsInSelection )( 
            IRdSelNodeSelection * This,
            /* [in] */ IRsNode *pNode);
        
        END_INTERFACE
    } IRdSelNodeSelectionVtbl;

    interface IRdSelNodeSelection
    {
        CONST_VTBL struct IRdSelNodeSelectionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRdSelNodeSelection_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRdSelNodeSelection_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRdSelNodeSelection_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRdSelNodeSelection_get_ClassId(This,pVal)	\
    (This)->lpVtbl -> get_ClassId(This,pVal)

#define IRdSelNodeSelection_get_ClassName(This,pVal)	\
    (This)->lpVtbl -> get_ClassName(This,pVal)


#define IRdSelNodeSelection_SetDefault(This)	\
    (This)->lpVtbl -> SetDefault(This)


#define IRdSelNodeSelection_Initialize(This,SelectionID,pManager)	\
    (This)->lpVtbl -> Initialize(This,SelectionID,pManager)

#define IRdSelNodeSelection_Deinitialize(This)	\
    (This)->lpVtbl -> Deinitialize(This)

#define IRdSelNodeSelection_GetSelectionID(This,SelectionID)	\
    (This)->lpVtbl -> GetSelectionID(This,SelectionID)


#define IRdSelNodeSelection_LockObject(This)	\
    (This)->lpVtbl -> LockObject(This)

#define IRdSelNodeSelection_UnlockObject(This)	\
    (This)->lpVtbl -> UnlockObject(This)

#define IRdSelNodeSelection_IsEmpty(This)	\
    (This)->lpVtbl -> IsEmpty(This)

#define IRdSelNodeSelection_GetCount(This)	\
    (This)->lpVtbl -> GetCount(This)

#define IRdSelNodeSelection_GetAt(This,pos,ppNode)	\
    (This)->lpVtbl -> GetAt(This,pos,ppNode)

#define IRdSelNodeSelection_GetAll(This,ppSArray)	\
    (This)->lpVtbl -> GetAll(This,ppSArray)

#define IRdSelNodeSelection_Add(This,pObj)	\
    (This)->lpVtbl -> Add(This,pObj)

#define IRdSelNodeSelection_AddArray(This,Count,pNode)	\
    (This)->lpVtbl -> AddArray(This,Count,pNode)

#define IRdSelNodeSelection_AddSafeArray(This,pSArray)	\
    (This)->lpVtbl -> AddSafeArray(This,pSArray)

#define IRdSelNodeSelection_AddSelection(This,pSelection)	\
    (This)->lpVtbl -> AddSelection(This,pSelection)

#define IRdSelNodeSelection_ReplaceBy(This,pObj)	\
    (This)->lpVtbl -> ReplaceBy(This,pObj)

#define IRdSelNodeSelection_ReplaceByArray(This,Count,pNode)	\
    (This)->lpVtbl -> ReplaceByArray(This,Count,pNode)

#define IRdSelNodeSelection_ReplaceBySafeArray(This,pSArray)	\
    (This)->lpVtbl -> ReplaceBySafeArray(This,pSArray)

#define IRdSelNodeSelection_ReplaceBySelection(This,pSelection)	\
    (This)->lpVtbl -> ReplaceBySelection(This,pSelection)

#define IRdSelNodeSelection_Remove(This,pObj)	\
    (This)->lpVtbl -> Remove(This,pObj)

#define IRdSelNodeSelection_RemoveAt(This,dwIndex)	\
    (This)->lpVtbl -> RemoveAt(This,dwIndex)

#define IRdSelNodeSelection_RemoveRange(This,Start,Count)	\
    (This)->lpVtbl -> RemoveRange(This,Start,Count)

#define IRdSelNodeSelection_RemoveAll(This)	\
    (This)->lpVtbl -> RemoveAll(This)

#define IRdSelNodeSelection_IsInSpace(This,pSpaceNode,pNode)	\
    (This)->lpVtbl -> IsInSpace(This,pSpaceNode,pNode)

#define IRdSelNodeSelection_IsInSelection(This,pNode)	\
    (This)->lpVtbl -> IsInSelection(This,pNode)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdSelNodeSelection_LockObject_Proxy( 
    IRdSelNodeSelection * This);


void __RPC_STUB IRdSelNodeSelection_LockObject_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdSelNodeSelection_UnlockObject_Proxy( 
    IRdSelNodeSelection * This);


void __RPC_STUB IRdSelNodeSelection_UnlockObject_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IRdSelNodeSelection_IsEmpty_Proxy( 
    IRdSelNodeSelection * This);


void __RPC_STUB IRdSelNodeSelection_IsEmpty_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ RtUlong STDMETHODCALLTYPE IRdSelNodeSelection_GetCount_Proxy( 
    IRdSelNodeSelection * This);


void __RPC_STUB IRdSelNodeSelection_GetCount_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdSelNodeSelection_GetAt_Proxy( 
    IRdSelNodeSelection * This,
    /* [in] */ RtUlong pos,
    /* [retval][out] */ IRsNode **ppNode);


void __RPC_STUB IRdSelNodeSelection_GetAt_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdSelNodeSelection_GetAll_Proxy( 
    IRdSelNodeSelection * This,
    /* [retval][out] */ SAFEARRAY **ppSArray);


void __RPC_STUB IRdSelNodeSelection_GetAll_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdSelNodeSelection_Add_Proxy( 
    IRdSelNodeSelection * This,
    /* [in] */ IRsNode *pObj);


void __RPC_STUB IRdSelNodeSelection_Add_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdSelNodeSelection_AddArray_Proxy( 
    IRdSelNodeSelection * This,
    /* [in] */ RtUlong Count,
    /* [in] */ IRsNode **pNode);


void __RPC_STUB IRdSelNodeSelection_AddArray_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdSelNodeSelection_AddSafeArray_Proxy( 
    IRdSelNodeSelection * This,
    /* [in] */ SAFEARRAY **pSArray);


void __RPC_STUB IRdSelNodeSelection_AddSafeArray_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdSelNodeSelection_AddSelection_Proxy( 
    IRdSelNodeSelection * This,
    /* [in] */ IRdSelNodeSelection *pSelection);


void __RPC_STUB IRdSelNodeSelection_AddSelection_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdSelNodeSelection_ReplaceBy_Proxy( 
    IRdSelNodeSelection * This,
    /* [in] */ IRsNode *pObj);


void __RPC_STUB IRdSelNodeSelection_ReplaceBy_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdSelNodeSelection_ReplaceByArray_Proxy( 
    IRdSelNodeSelection * This,
    /* [in] */ RtUlong Count,
    /* [in] */ IRsNode **pNode);


void __RPC_STUB IRdSelNodeSelection_ReplaceByArray_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdSelNodeSelection_ReplaceBySafeArray_Proxy( 
    IRdSelNodeSelection * This,
    /* [in] */ SAFEARRAY **pSArray);


void __RPC_STUB IRdSelNodeSelection_ReplaceBySafeArray_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdSelNodeSelection_ReplaceBySelection_Proxy( 
    IRdSelNodeSelection * This,
    /* [in] */ IRdSelNodeSelection *pSelection);


void __RPC_STUB IRdSelNodeSelection_ReplaceBySelection_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdSelNodeSelection_Remove_Proxy( 
    IRdSelNodeSelection * This,
    /* [in] */ IRsNode *pObj);


void __RPC_STUB IRdSelNodeSelection_Remove_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdSelNodeSelection_RemoveAt_Proxy( 
    IRdSelNodeSelection * This,
    /* [in] */ RtUlong dwIndex);


void __RPC_STUB IRdSelNodeSelection_RemoveAt_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdSelNodeSelection_RemoveRange_Proxy( 
    IRdSelNodeSelection * This,
    /* [in] */ RtUlong Start,
    /* [in] */ RtUlong Count);


void __RPC_STUB IRdSelNodeSelection_RemoveRange_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdSelNodeSelection_RemoveAll_Proxy( 
    IRdSelNodeSelection * This);


void __RPC_STUB IRdSelNodeSelection_RemoveAll_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdSelNodeSelection_IsInSpace_Proxy( 
    IRdSelNodeSelection * This,
    /* [in] */ IRsNode *pSpaceNode,
    /* [in] */ IRsNode *pNode);


void __RPC_STUB IRdSelNodeSelection_IsInSpace_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdSelNodeSelection_IsInSelection_Proxy( 
    IRdSelNodeSelection * This,
    /* [in] */ IRsNode *pNode);


void __RPC_STUB IRdSelNodeSelection_IsInSelection_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRdSelNodeSelection_INTERFACE_DEFINED__ */


#ifndef __IRdSelNodeSelectionDisp_INTERFACE_DEFINED__
#define __IRdSelNodeSelectionDisp_INTERFACE_DEFINED__

/* interface IRdSelNodeSelectionDisp */
/* [object][unique][helpstring][local][dual][uuid] */ 


EXTERN_C const IID IID_IRdSelNodeSelectionDisp;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("ED3CB847-BAC5-4d77-88B9-0A0833E9DE85")
    IRdSelNodeSelectionDisp : public IDispatch
    {
    public:
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE LockObject( void) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE UnlockObject( void) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IsEmpty( 
            /* [retval][out] */ BOOL *pEmpty) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetCount( 
            /* [retval][out] */ RtUlong *pSize) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetAt( 
            /* [in] */ RtUlong pos,
            /* [retval][out] */ IDispatch **ppNode) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetAll( 
            /* [retval][out] */ SAFEARRAY **ppSArray) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Add( 
            /* [in] */ IDispatch *pObj) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE AddArray( 
            /* [in] */ RtUlong Count,
            /* [in] */ IDispatch **pNode) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE AddSafeArray( 
            /* [in] */ SAFEARRAY **pSArray) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE AddSelection( 
            /* [in] */ IRdSelNodeSelectionDisp *pSelection) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ReplaceBy( 
            /* [in] */ IDispatch *pObj) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ReplaceByArray( 
            /* [in] */ RtUlong Count,
            /* [in] */ IDispatch **pNode) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ReplaceBySafeArray( 
            /* [in] */ SAFEARRAY **pSArray) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ReplaceBySelection( 
            /* [in] */ IRdSelNodeSelectionDisp *pSelection) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Remove( 
            /* [in] */ IDispatch *pObj) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE RemoveAt( 
            /* [in] */ RtUlong dwIndex) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE RemoveRange( 
            /* [in] */ RtUlong Start,
            /* [in] */ RtUlong Count) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE RemoveAll( void) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IsInSpace( 
            /* [in] */ IDispatch *pSpaceNode,
            /* [in] */ IDispatch *pNode) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IsInSelection( 
            /* [in] */ IDispatch *pNode) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRdSelNodeSelectionDispVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRdSelNodeSelectionDisp * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRdSelNodeSelectionDisp * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRdSelNodeSelectionDisp * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IRdSelNodeSelectionDisp * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IRdSelNodeSelectionDisp * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IRdSelNodeSelectionDisp * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IRdSelNodeSelectionDisp * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *LockObject )( 
            IRdSelNodeSelectionDisp * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *UnlockObject )( 
            IRdSelNodeSelectionDisp * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *IsEmpty )( 
            IRdSelNodeSelectionDisp * This,
            /* [retval][out] */ BOOL *pEmpty);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetCount )( 
            IRdSelNodeSelectionDisp * This,
            /* [retval][out] */ RtUlong *pSize);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetAt )( 
            IRdSelNodeSelectionDisp * This,
            /* [in] */ RtUlong pos,
            /* [retval][out] */ IDispatch **ppNode);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetAll )( 
            IRdSelNodeSelectionDisp * This,
            /* [retval][out] */ SAFEARRAY **ppSArray);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Add )( 
            IRdSelNodeSelectionDisp * This,
            /* [in] */ IDispatch *pObj);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *AddArray )( 
            IRdSelNodeSelectionDisp * This,
            /* [in] */ RtUlong Count,
            /* [in] */ IDispatch **pNode);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *AddSafeArray )( 
            IRdSelNodeSelectionDisp * This,
            /* [in] */ SAFEARRAY **pSArray);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *AddSelection )( 
            IRdSelNodeSelectionDisp * This,
            /* [in] */ IRdSelNodeSelectionDisp *pSelection);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *ReplaceBy )( 
            IRdSelNodeSelectionDisp * This,
            /* [in] */ IDispatch *pObj);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *ReplaceByArray )( 
            IRdSelNodeSelectionDisp * This,
            /* [in] */ RtUlong Count,
            /* [in] */ IDispatch **pNode);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *ReplaceBySafeArray )( 
            IRdSelNodeSelectionDisp * This,
            /* [in] */ SAFEARRAY **pSArray);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *ReplaceBySelection )( 
            IRdSelNodeSelectionDisp * This,
            /* [in] */ IRdSelNodeSelectionDisp *pSelection);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Remove )( 
            IRdSelNodeSelectionDisp * This,
            /* [in] */ IDispatch *pObj);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *RemoveAt )( 
            IRdSelNodeSelectionDisp * This,
            /* [in] */ RtUlong dwIndex);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *RemoveRange )( 
            IRdSelNodeSelectionDisp * This,
            /* [in] */ RtUlong Start,
            /* [in] */ RtUlong Count);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *RemoveAll )( 
            IRdSelNodeSelectionDisp * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *IsInSpace )( 
            IRdSelNodeSelectionDisp * This,
            /* [in] */ IDispatch *pSpaceNode,
            /* [in] */ IDispatch *pNode);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *IsInSelection )( 
            IRdSelNodeSelectionDisp * This,
            /* [in] */ IDispatch *pNode);
        
        END_INTERFACE
    } IRdSelNodeSelectionDispVtbl;

    interface IRdSelNodeSelectionDisp
    {
        CONST_VTBL struct IRdSelNodeSelectionDispVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRdSelNodeSelectionDisp_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRdSelNodeSelectionDisp_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRdSelNodeSelectionDisp_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRdSelNodeSelectionDisp_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IRdSelNodeSelectionDisp_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IRdSelNodeSelectionDisp_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IRdSelNodeSelectionDisp_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IRdSelNodeSelectionDisp_LockObject(This)	\
    (This)->lpVtbl -> LockObject(This)

#define IRdSelNodeSelectionDisp_UnlockObject(This)	\
    (This)->lpVtbl -> UnlockObject(This)

#define IRdSelNodeSelectionDisp_IsEmpty(This,pEmpty)	\
    (This)->lpVtbl -> IsEmpty(This,pEmpty)

#define IRdSelNodeSelectionDisp_GetCount(This,pSize)	\
    (This)->lpVtbl -> GetCount(This,pSize)

#define IRdSelNodeSelectionDisp_GetAt(This,pos,ppNode)	\
    (This)->lpVtbl -> GetAt(This,pos,ppNode)

#define IRdSelNodeSelectionDisp_GetAll(This,ppSArray)	\
    (This)->lpVtbl -> GetAll(This,ppSArray)

#define IRdSelNodeSelectionDisp_Add(This,pObj)	\
    (This)->lpVtbl -> Add(This,pObj)

#define IRdSelNodeSelectionDisp_AddArray(This,Count,pNode)	\
    (This)->lpVtbl -> AddArray(This,Count,pNode)

#define IRdSelNodeSelectionDisp_AddSafeArray(This,pSArray)	\
    (This)->lpVtbl -> AddSafeArray(This,pSArray)

#define IRdSelNodeSelectionDisp_AddSelection(This,pSelection)	\
    (This)->lpVtbl -> AddSelection(This,pSelection)

#define IRdSelNodeSelectionDisp_ReplaceBy(This,pObj)	\
    (This)->lpVtbl -> ReplaceBy(This,pObj)

#define IRdSelNodeSelectionDisp_ReplaceByArray(This,Count,pNode)	\
    (This)->lpVtbl -> ReplaceByArray(This,Count,pNode)

#define IRdSelNodeSelectionDisp_ReplaceBySafeArray(This,pSArray)	\
    (This)->lpVtbl -> ReplaceBySafeArray(This,pSArray)

#define IRdSelNodeSelectionDisp_ReplaceBySelection(This,pSelection)	\
    (This)->lpVtbl -> ReplaceBySelection(This,pSelection)

#define IRdSelNodeSelectionDisp_Remove(This,pObj)	\
    (This)->lpVtbl -> Remove(This,pObj)

#define IRdSelNodeSelectionDisp_RemoveAt(This,dwIndex)	\
    (This)->lpVtbl -> RemoveAt(This,dwIndex)

#define IRdSelNodeSelectionDisp_RemoveRange(This,Start,Count)	\
    (This)->lpVtbl -> RemoveRange(This,Start,Count)

#define IRdSelNodeSelectionDisp_RemoveAll(This)	\
    (This)->lpVtbl -> RemoveAll(This)

#define IRdSelNodeSelectionDisp_IsInSpace(This,pSpaceNode,pNode)	\
    (This)->lpVtbl -> IsInSpace(This,pSpaceNode,pNode)

#define IRdSelNodeSelectionDisp_IsInSelection(This,pNode)	\
    (This)->lpVtbl -> IsInSelection(This,pNode)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRdSelNodeSelectionDisp_LockObject_Proxy( 
    IRdSelNodeSelectionDisp * This);


void __RPC_STUB IRdSelNodeSelectionDisp_LockObject_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRdSelNodeSelectionDisp_UnlockObject_Proxy( 
    IRdSelNodeSelectionDisp * This);


void __RPC_STUB IRdSelNodeSelectionDisp_UnlockObject_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRdSelNodeSelectionDisp_IsEmpty_Proxy( 
    IRdSelNodeSelectionDisp * This,
    /* [retval][out] */ BOOL *pEmpty);


void __RPC_STUB IRdSelNodeSelectionDisp_IsEmpty_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRdSelNodeSelectionDisp_GetCount_Proxy( 
    IRdSelNodeSelectionDisp * This,
    /* [retval][out] */ RtUlong *pSize);


void __RPC_STUB IRdSelNodeSelectionDisp_GetCount_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRdSelNodeSelectionDisp_GetAt_Proxy( 
    IRdSelNodeSelectionDisp * This,
    /* [in] */ RtUlong pos,
    /* [retval][out] */ IDispatch **ppNode);


void __RPC_STUB IRdSelNodeSelectionDisp_GetAt_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRdSelNodeSelectionDisp_GetAll_Proxy( 
    IRdSelNodeSelectionDisp * This,
    /* [retval][out] */ SAFEARRAY **ppSArray);


void __RPC_STUB IRdSelNodeSelectionDisp_GetAll_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRdSelNodeSelectionDisp_Add_Proxy( 
    IRdSelNodeSelectionDisp * This,
    /* [in] */ IDispatch *pObj);


void __RPC_STUB IRdSelNodeSelectionDisp_Add_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRdSelNodeSelectionDisp_AddArray_Proxy( 
    IRdSelNodeSelectionDisp * This,
    /* [in] */ RtUlong Count,
    /* [in] */ IDispatch **pNode);


void __RPC_STUB IRdSelNodeSelectionDisp_AddArray_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRdSelNodeSelectionDisp_AddSafeArray_Proxy( 
    IRdSelNodeSelectionDisp * This,
    /* [in] */ SAFEARRAY **pSArray);


void __RPC_STUB IRdSelNodeSelectionDisp_AddSafeArray_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRdSelNodeSelectionDisp_AddSelection_Proxy( 
    IRdSelNodeSelectionDisp * This,
    /* [in] */ IRdSelNodeSelectionDisp *pSelection);


void __RPC_STUB IRdSelNodeSelectionDisp_AddSelection_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRdSelNodeSelectionDisp_ReplaceBy_Proxy( 
    IRdSelNodeSelectionDisp * This,
    /* [in] */ IDispatch *pObj);


void __RPC_STUB IRdSelNodeSelectionDisp_ReplaceBy_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRdSelNodeSelectionDisp_ReplaceByArray_Proxy( 
    IRdSelNodeSelectionDisp * This,
    /* [in] */ RtUlong Count,
    /* [in] */ IDispatch **pNode);


void __RPC_STUB IRdSelNodeSelectionDisp_ReplaceByArray_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRdSelNodeSelectionDisp_ReplaceBySafeArray_Proxy( 
    IRdSelNodeSelectionDisp * This,
    /* [in] */ SAFEARRAY **pSArray);


void __RPC_STUB IRdSelNodeSelectionDisp_ReplaceBySafeArray_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRdSelNodeSelectionDisp_ReplaceBySelection_Proxy( 
    IRdSelNodeSelectionDisp * This,
    /* [in] */ IRdSelNodeSelectionDisp *pSelection);


void __RPC_STUB IRdSelNodeSelectionDisp_ReplaceBySelection_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRdSelNodeSelectionDisp_Remove_Proxy( 
    IRdSelNodeSelectionDisp * This,
    /* [in] */ IDispatch *pObj);


void __RPC_STUB IRdSelNodeSelectionDisp_Remove_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRdSelNodeSelectionDisp_RemoveAt_Proxy( 
    IRdSelNodeSelectionDisp * This,
    /* [in] */ RtUlong dwIndex);


void __RPC_STUB IRdSelNodeSelectionDisp_RemoveAt_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRdSelNodeSelectionDisp_RemoveRange_Proxy( 
    IRdSelNodeSelectionDisp * This,
    /* [in] */ RtUlong Start,
    /* [in] */ RtUlong Count);


void __RPC_STUB IRdSelNodeSelectionDisp_RemoveRange_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRdSelNodeSelectionDisp_RemoveAll_Proxy( 
    IRdSelNodeSelectionDisp * This);


void __RPC_STUB IRdSelNodeSelectionDisp_RemoveAll_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRdSelNodeSelectionDisp_IsInSpace_Proxy( 
    IRdSelNodeSelectionDisp * This,
    /* [in] */ IDispatch *pSpaceNode,
    /* [in] */ IDispatch *pNode);


void __RPC_STUB IRdSelNodeSelectionDisp_IsInSpace_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRdSelNodeSelectionDisp_IsInSelection_Proxy( 
    IRdSelNodeSelectionDisp * This,
    /* [in] */ IDispatch *pNode);


void __RPC_STUB IRdSelNodeSelectionDisp_IsInSelection_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRdSelNodeSelectionDisp_INTERFACE_DEFINED__ */


/* interface __MIDL_itf__Kernel_0908 */
/* [local] */ 


enum RtAcceleratorModifier
    {	RS_AM_SHIFT	= 1,
	RS_AM_ALT	= 2,
	RS_AM_CTRL	= 4
    } ;
typedef struct tagRtAccelerator
    {
    HWND m_hWindow;
    RtDWORD m_dwVirtualKey;
    RtDWORD m_dwScanKey;
    RtDWORD m_dwModifierFlags;
    RtChar m_dwChar;
    RtDWORD m_dwTime;
    POINT m_CursorPos;
    } 	RtAccelerator;



extern RPC_IF_HANDLE __MIDL_itf__Kernel_0908_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf__Kernel_0908_v0_0_s_ifspec;

#ifndef __IRsAcceleratorHandler_INTERFACE_DEFINED__
#define __IRsAcceleratorHandler_INTERFACE_DEFINED__

/* interface IRsAcceleratorHandler */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsAcceleratorHandler;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("8832B307-816F-4f9a-9A9F-A539F8798A6B")
    IRsAcceleratorHandler : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnAccelerator( 
            /* [in] */ RtAccelerator *pAccelerator) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsAcceleratorHandlerVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsAcceleratorHandler * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsAcceleratorHandler * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsAcceleratorHandler * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OnAccelerator )( 
            IRsAcceleratorHandler * This,
            /* [in] */ RtAccelerator *pAccelerator);
        
        END_INTERFACE
    } IRsAcceleratorHandlerVtbl;

    interface IRsAcceleratorHandler
    {
        CONST_VTBL struct IRsAcceleratorHandlerVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsAcceleratorHandler_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsAcceleratorHandler_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsAcceleratorHandler_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsAcceleratorHandler_OnAccelerator(This,pAccelerator)	\
    (This)->lpVtbl -> OnAccelerator(This,pAccelerator)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsAcceleratorHandler_OnAccelerator_Proxy( 
    IRsAcceleratorHandler * This,
    /* [in] */ RtAccelerator *pAccelerator);


void __RPC_STUB IRsAcceleratorHandler_OnAccelerator_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsAcceleratorHandler_INTERFACE_DEFINED__ */


#ifndef __IRsAcceleratorHandlerManager_INTERFACE_DEFINED__
#define __IRsAcceleratorHandlerManager_INTERFACE_DEFINED__

/* interface IRsAcceleratorHandlerManager */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsAcceleratorHandlerManager;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("07EFA366-9076-411d-831D-C8FD5FEB6F1F")
    IRsAcceleratorHandlerManager : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ProcessMessage( 
            /* [in] */ MSG *pMessage) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddHandler( 
            /* [in] */ IRsAcceleratorHandler *pHandler) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RemoveHandler( 
            /* [in] */ IRsAcceleratorHandler *pHandler) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetHandlerCount( 
            /* [retval][out] */ RtDWORD *dwCount) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetHandler( 
            /* [in] */ RtDWORD dwIndex,
            /* [retval][out] */ IRsAcceleratorHandler **pHandler) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE KeynameToVKey( 
            /* [in] */ BSTR bsName,
            /* [retval][out] */ RtDWORD *pdwVKey) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE VKeyToKeyname( 
            /* [in] */ RtDWORD dwVKey,
            /* [retval][out] */ BSTR *pdwName) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AcceleratorSequenceToVKey( 
            /* [in] */ BSTR bsAccSeq,
            /* [out] */ RtDWORD *pdwVKey,
            /* [out] */ RtDWORD *pdwModifiers) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE VKeyToAcceleratorSequence( 
            /* [in] */ RtDWORD dwVKey,
            /* [in] */ RtDWORD dwModifiers,
            /* [retval][out] */ BSTR *pbsAccSeq) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Enable( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Disable( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RedirectToHandler( 
            /* [in] */ IRsAcceleratorHandler *pHandler) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ResetRedirectToHandler( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsAcceleratorHandlerManagerVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsAcceleratorHandlerManager * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsAcceleratorHandlerManager * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsAcceleratorHandlerManager * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ProcessMessage )( 
            IRsAcceleratorHandlerManager * This,
            /* [in] */ MSG *pMessage);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddHandler )( 
            IRsAcceleratorHandlerManager * This,
            /* [in] */ IRsAcceleratorHandler *pHandler);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RemoveHandler )( 
            IRsAcceleratorHandlerManager * This,
            /* [in] */ IRsAcceleratorHandler *pHandler);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetHandlerCount )( 
            IRsAcceleratorHandlerManager * This,
            /* [retval][out] */ RtDWORD *dwCount);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetHandler )( 
            IRsAcceleratorHandlerManager * This,
            /* [in] */ RtDWORD dwIndex,
            /* [retval][out] */ IRsAcceleratorHandler **pHandler);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *KeynameToVKey )( 
            IRsAcceleratorHandlerManager * This,
            /* [in] */ BSTR bsName,
            /* [retval][out] */ RtDWORD *pdwVKey);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *VKeyToKeyname )( 
            IRsAcceleratorHandlerManager * This,
            /* [in] */ RtDWORD dwVKey,
            /* [retval][out] */ BSTR *pdwName);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AcceleratorSequenceToVKey )( 
            IRsAcceleratorHandlerManager * This,
            /* [in] */ BSTR bsAccSeq,
            /* [out] */ RtDWORD *pdwVKey,
            /* [out] */ RtDWORD *pdwModifiers);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *VKeyToAcceleratorSequence )( 
            IRsAcceleratorHandlerManager * This,
            /* [in] */ RtDWORD dwVKey,
            /* [in] */ RtDWORD dwModifiers,
            /* [retval][out] */ BSTR *pbsAccSeq);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Enable )( 
            IRsAcceleratorHandlerManager * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Disable )( 
            IRsAcceleratorHandlerManager * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RedirectToHandler )( 
            IRsAcceleratorHandlerManager * This,
            /* [in] */ IRsAcceleratorHandler *pHandler);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ResetRedirectToHandler )( 
            IRsAcceleratorHandlerManager * This);
        
        END_INTERFACE
    } IRsAcceleratorHandlerManagerVtbl;

    interface IRsAcceleratorHandlerManager
    {
        CONST_VTBL struct IRsAcceleratorHandlerManagerVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsAcceleratorHandlerManager_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsAcceleratorHandlerManager_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsAcceleratorHandlerManager_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsAcceleratorHandlerManager_ProcessMessage(This,pMessage)	\
    (This)->lpVtbl -> ProcessMessage(This,pMessage)

#define IRsAcceleratorHandlerManager_AddHandler(This,pHandler)	\
    (This)->lpVtbl -> AddHandler(This,pHandler)

#define IRsAcceleratorHandlerManager_RemoveHandler(This,pHandler)	\
    (This)->lpVtbl -> RemoveHandler(This,pHandler)

#define IRsAcceleratorHandlerManager_GetHandlerCount(This,dwCount)	\
    (This)->lpVtbl -> GetHandlerCount(This,dwCount)

#define IRsAcceleratorHandlerManager_GetHandler(This,dwIndex,pHandler)	\
    (This)->lpVtbl -> GetHandler(This,dwIndex,pHandler)

#define IRsAcceleratorHandlerManager_KeynameToVKey(This,bsName,pdwVKey)	\
    (This)->lpVtbl -> KeynameToVKey(This,bsName,pdwVKey)

#define IRsAcceleratorHandlerManager_VKeyToKeyname(This,dwVKey,pdwName)	\
    (This)->lpVtbl -> VKeyToKeyname(This,dwVKey,pdwName)

#define IRsAcceleratorHandlerManager_AcceleratorSequenceToVKey(This,bsAccSeq,pdwVKey,pdwModifiers)	\
    (This)->lpVtbl -> AcceleratorSequenceToVKey(This,bsAccSeq,pdwVKey,pdwModifiers)

#define IRsAcceleratorHandlerManager_VKeyToAcceleratorSequence(This,dwVKey,dwModifiers,pbsAccSeq)	\
    (This)->lpVtbl -> VKeyToAcceleratorSequence(This,dwVKey,dwModifiers,pbsAccSeq)

#define IRsAcceleratorHandlerManager_Enable(This)	\
    (This)->lpVtbl -> Enable(This)

#define IRsAcceleratorHandlerManager_Disable(This)	\
    (This)->lpVtbl -> Disable(This)

#define IRsAcceleratorHandlerManager_RedirectToHandler(This,pHandler)	\
    (This)->lpVtbl -> RedirectToHandler(This,pHandler)

#define IRsAcceleratorHandlerManager_ResetRedirectToHandler(This)	\
    (This)->lpVtbl -> ResetRedirectToHandler(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsAcceleratorHandlerManager_ProcessMessage_Proxy( 
    IRsAcceleratorHandlerManager * This,
    /* [in] */ MSG *pMessage);


void __RPC_STUB IRsAcceleratorHandlerManager_ProcessMessage_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsAcceleratorHandlerManager_AddHandler_Proxy( 
    IRsAcceleratorHandlerManager * This,
    /* [in] */ IRsAcceleratorHandler *pHandler);


void __RPC_STUB IRsAcceleratorHandlerManager_AddHandler_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsAcceleratorHandlerManager_RemoveHandler_Proxy( 
    IRsAcceleratorHandlerManager * This,
    /* [in] */ IRsAcceleratorHandler *pHandler);


void __RPC_STUB IRsAcceleratorHandlerManager_RemoveHandler_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsAcceleratorHandlerManager_GetHandlerCount_Proxy( 
    IRsAcceleratorHandlerManager * This,
    /* [retval][out] */ RtDWORD *dwCount);


void __RPC_STUB IRsAcceleratorHandlerManager_GetHandlerCount_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsAcceleratorHandlerManager_GetHandler_Proxy( 
    IRsAcceleratorHandlerManager * This,
    /* [in] */ RtDWORD dwIndex,
    /* [retval][out] */ IRsAcceleratorHandler **pHandler);


void __RPC_STUB IRsAcceleratorHandlerManager_GetHandler_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsAcceleratorHandlerManager_KeynameToVKey_Proxy( 
    IRsAcceleratorHandlerManager * This,
    /* [in] */ BSTR bsName,
    /* [retval][out] */ RtDWORD *pdwVKey);


void __RPC_STUB IRsAcceleratorHandlerManager_KeynameToVKey_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsAcceleratorHandlerManager_VKeyToKeyname_Proxy( 
    IRsAcceleratorHandlerManager * This,
    /* [in] */ RtDWORD dwVKey,
    /* [retval][out] */ BSTR *pdwName);


void __RPC_STUB IRsAcceleratorHandlerManager_VKeyToKeyname_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsAcceleratorHandlerManager_AcceleratorSequenceToVKey_Proxy( 
    IRsAcceleratorHandlerManager * This,
    /* [in] */ BSTR bsAccSeq,
    /* [out] */ RtDWORD *pdwVKey,
    /* [out] */ RtDWORD *pdwModifiers);


void __RPC_STUB IRsAcceleratorHandlerManager_AcceleratorSequenceToVKey_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsAcceleratorHandlerManager_VKeyToAcceleratorSequence_Proxy( 
    IRsAcceleratorHandlerManager * This,
    /* [in] */ RtDWORD dwVKey,
    /* [in] */ RtDWORD dwModifiers,
    /* [retval][out] */ BSTR *pbsAccSeq);


void __RPC_STUB IRsAcceleratorHandlerManager_VKeyToAcceleratorSequence_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsAcceleratorHandlerManager_Enable_Proxy( 
    IRsAcceleratorHandlerManager * This);


void __RPC_STUB IRsAcceleratorHandlerManager_Enable_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsAcceleratorHandlerManager_Disable_Proxy( 
    IRsAcceleratorHandlerManager * This);


void __RPC_STUB IRsAcceleratorHandlerManager_Disable_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsAcceleratorHandlerManager_RedirectToHandler_Proxy( 
    IRsAcceleratorHandlerManager * This,
    /* [in] */ IRsAcceleratorHandler *pHandler);


void __RPC_STUB IRsAcceleratorHandlerManager_RedirectToHandler_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsAcceleratorHandlerManager_ResetRedirectToHandler_Proxy( 
    IRsAcceleratorHandlerManager * This);


void __RPC_STUB IRsAcceleratorHandlerManager_ResetRedirectToHandler_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsAcceleratorHandlerManager_INTERFACE_DEFINED__ */


#ifndef __IRsAcceleratorHandlerManagerDisp_INTERFACE_DEFINED__
#define __IRsAcceleratorHandlerManagerDisp_INTERFACE_DEFINED__

/* interface IRsAcceleratorHandlerManagerDisp */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IRsAcceleratorHandlerManagerDisp;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("6438631F-554A-4589-AE77-77F995C7D53C")
    IRsAcceleratorHandlerManagerDisp : public IDispatch
    {
    public:
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ProcessMessage( 
            /* [in] */ MSG *pMessage) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE AddHandler( 
            /* [in] */ IDispatch *pHandler) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE RemoveHandler( 
            /* [in] */ IDispatch *pHandler) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetHandlerCount( 
            /* [retval][out] */ RtDWORD *dwCount) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetHandler( 
            /* [in] */ RtDWORD dwIndex,
            /* [retval][out] */ IDispatch **pHandler) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE KeynameToVKey( 
            /* [in] */ BSTR bsName,
            /* [retval][out] */ RtDWORD *pdwVKey) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE VKeyToKeyname( 
            /* [in] */ RtDWORD dwVKey,
            /* [retval][out] */ BSTR *pdwName) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE AcceleratorSequenceToVKey( 
            /* [in] */ BSTR bsAccSeq,
            /* [out] */ RtDWORD *pdwVKey,
            /* [out] */ RtDWORD *pdwModifiers) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE VKeyToAcceleratorSequence( 
            /* [in] */ RtDWORD dwVKey,
            /* [in] */ RtDWORD dwModifiers,
            /* [retval][out] */ BSTR *pbsAccSeq) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Enable( void) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Disable( void) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE RedirectToHandler( 
            /* [in] */ IDispatch *pHandler) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ResetRedirectToHandler( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsAcceleratorHandlerManagerDispVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsAcceleratorHandlerManagerDisp * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsAcceleratorHandlerManagerDisp * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsAcceleratorHandlerManagerDisp * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IRsAcceleratorHandlerManagerDisp * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IRsAcceleratorHandlerManagerDisp * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IRsAcceleratorHandlerManagerDisp * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IRsAcceleratorHandlerManagerDisp * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *ProcessMessage )( 
            IRsAcceleratorHandlerManagerDisp * This,
            /* [in] */ MSG *pMessage);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *AddHandler )( 
            IRsAcceleratorHandlerManagerDisp * This,
            /* [in] */ IDispatch *pHandler);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *RemoveHandler )( 
            IRsAcceleratorHandlerManagerDisp * This,
            /* [in] */ IDispatch *pHandler);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetHandlerCount )( 
            IRsAcceleratorHandlerManagerDisp * This,
            /* [retval][out] */ RtDWORD *dwCount);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetHandler )( 
            IRsAcceleratorHandlerManagerDisp * This,
            /* [in] */ RtDWORD dwIndex,
            /* [retval][out] */ IDispatch **pHandler);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *KeynameToVKey )( 
            IRsAcceleratorHandlerManagerDisp * This,
            /* [in] */ BSTR bsName,
            /* [retval][out] */ RtDWORD *pdwVKey);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *VKeyToKeyname )( 
            IRsAcceleratorHandlerManagerDisp * This,
            /* [in] */ RtDWORD dwVKey,
            /* [retval][out] */ BSTR *pdwName);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *AcceleratorSequenceToVKey )( 
            IRsAcceleratorHandlerManagerDisp * This,
            /* [in] */ BSTR bsAccSeq,
            /* [out] */ RtDWORD *pdwVKey,
            /* [out] */ RtDWORD *pdwModifiers);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *VKeyToAcceleratorSequence )( 
            IRsAcceleratorHandlerManagerDisp * This,
            /* [in] */ RtDWORD dwVKey,
            /* [in] */ RtDWORD dwModifiers,
            /* [retval][out] */ BSTR *pbsAccSeq);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Enable )( 
            IRsAcceleratorHandlerManagerDisp * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Disable )( 
            IRsAcceleratorHandlerManagerDisp * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *RedirectToHandler )( 
            IRsAcceleratorHandlerManagerDisp * This,
            /* [in] */ IDispatch *pHandler);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *ResetRedirectToHandler )( 
            IRsAcceleratorHandlerManagerDisp * This);
        
        END_INTERFACE
    } IRsAcceleratorHandlerManagerDispVtbl;

    interface IRsAcceleratorHandlerManagerDisp
    {
        CONST_VTBL struct IRsAcceleratorHandlerManagerDispVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsAcceleratorHandlerManagerDisp_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsAcceleratorHandlerManagerDisp_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsAcceleratorHandlerManagerDisp_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsAcceleratorHandlerManagerDisp_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IRsAcceleratorHandlerManagerDisp_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IRsAcceleratorHandlerManagerDisp_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IRsAcceleratorHandlerManagerDisp_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IRsAcceleratorHandlerManagerDisp_ProcessMessage(This,pMessage)	\
    (This)->lpVtbl -> ProcessMessage(This,pMessage)

#define IRsAcceleratorHandlerManagerDisp_AddHandler(This,pHandler)	\
    (This)->lpVtbl -> AddHandler(This,pHandler)

#define IRsAcceleratorHandlerManagerDisp_RemoveHandler(This,pHandler)	\
    (This)->lpVtbl -> RemoveHandler(This,pHandler)

#define IRsAcceleratorHandlerManagerDisp_GetHandlerCount(This,dwCount)	\
    (This)->lpVtbl -> GetHandlerCount(This,dwCount)

#define IRsAcceleratorHandlerManagerDisp_GetHandler(This,dwIndex,pHandler)	\
    (This)->lpVtbl -> GetHandler(This,dwIndex,pHandler)

#define IRsAcceleratorHandlerManagerDisp_KeynameToVKey(This,bsName,pdwVKey)	\
    (This)->lpVtbl -> KeynameToVKey(This,bsName,pdwVKey)

#define IRsAcceleratorHandlerManagerDisp_VKeyToKeyname(This,dwVKey,pdwName)	\
    (This)->lpVtbl -> VKeyToKeyname(This,dwVKey,pdwName)

#define IRsAcceleratorHandlerManagerDisp_AcceleratorSequenceToVKey(This,bsAccSeq,pdwVKey,pdwModifiers)	\
    (This)->lpVtbl -> AcceleratorSequenceToVKey(This,bsAccSeq,pdwVKey,pdwModifiers)

#define IRsAcceleratorHandlerManagerDisp_VKeyToAcceleratorSequence(This,dwVKey,dwModifiers,pbsAccSeq)	\
    (This)->lpVtbl -> VKeyToAcceleratorSequence(This,dwVKey,dwModifiers,pbsAccSeq)

#define IRsAcceleratorHandlerManagerDisp_Enable(This)	\
    (This)->lpVtbl -> Enable(This)

#define IRsAcceleratorHandlerManagerDisp_Disable(This)	\
    (This)->lpVtbl -> Disable(This)

#define IRsAcceleratorHandlerManagerDisp_RedirectToHandler(This,pHandler)	\
    (This)->lpVtbl -> RedirectToHandler(This,pHandler)

#define IRsAcceleratorHandlerManagerDisp_ResetRedirectToHandler(This)	\
    (This)->lpVtbl -> ResetRedirectToHandler(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRsAcceleratorHandlerManagerDisp_ProcessMessage_Proxy( 
    IRsAcceleratorHandlerManagerDisp * This,
    /* [in] */ MSG *pMessage);


void __RPC_STUB IRsAcceleratorHandlerManagerDisp_ProcessMessage_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRsAcceleratorHandlerManagerDisp_AddHandler_Proxy( 
    IRsAcceleratorHandlerManagerDisp * This,
    /* [in] */ IDispatch *pHandler);


void __RPC_STUB IRsAcceleratorHandlerManagerDisp_AddHandler_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRsAcceleratorHandlerManagerDisp_RemoveHandler_Proxy( 
    IRsAcceleratorHandlerManagerDisp * This,
    /* [in] */ IDispatch *pHandler);


void __RPC_STUB IRsAcceleratorHandlerManagerDisp_RemoveHandler_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRsAcceleratorHandlerManagerDisp_GetHandlerCount_Proxy( 
    IRsAcceleratorHandlerManagerDisp * This,
    /* [retval][out] */ RtDWORD *dwCount);


void __RPC_STUB IRsAcceleratorHandlerManagerDisp_GetHandlerCount_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRsAcceleratorHandlerManagerDisp_GetHandler_Proxy( 
    IRsAcceleratorHandlerManagerDisp * This,
    /* [in] */ RtDWORD dwIndex,
    /* [retval][out] */ IDispatch **pHandler);


void __RPC_STUB IRsAcceleratorHandlerManagerDisp_GetHandler_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRsAcceleratorHandlerManagerDisp_KeynameToVKey_Proxy( 
    IRsAcceleratorHandlerManagerDisp * This,
    /* [in] */ BSTR bsName,
    /* [retval][out] */ RtDWORD *pdwVKey);


void __RPC_STUB IRsAcceleratorHandlerManagerDisp_KeynameToVKey_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRsAcceleratorHandlerManagerDisp_VKeyToKeyname_Proxy( 
    IRsAcceleratorHandlerManagerDisp * This,
    /* [in] */ RtDWORD dwVKey,
    /* [retval][out] */ BSTR *pdwName);


void __RPC_STUB IRsAcceleratorHandlerManagerDisp_VKeyToKeyname_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRsAcceleratorHandlerManagerDisp_AcceleratorSequenceToVKey_Proxy( 
    IRsAcceleratorHandlerManagerDisp * This,
    /* [in] */ BSTR bsAccSeq,
    /* [out] */ RtDWORD *pdwVKey,
    /* [out] */ RtDWORD *pdwModifiers);


void __RPC_STUB IRsAcceleratorHandlerManagerDisp_AcceleratorSequenceToVKey_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRsAcceleratorHandlerManagerDisp_VKeyToAcceleratorSequence_Proxy( 
    IRsAcceleratorHandlerManagerDisp * This,
    /* [in] */ RtDWORD dwVKey,
    /* [in] */ RtDWORD dwModifiers,
    /* [retval][out] */ BSTR *pbsAccSeq);


void __RPC_STUB IRsAcceleratorHandlerManagerDisp_VKeyToAcceleratorSequence_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRsAcceleratorHandlerManagerDisp_Enable_Proxy( 
    IRsAcceleratorHandlerManagerDisp * This);


void __RPC_STUB IRsAcceleratorHandlerManagerDisp_Enable_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRsAcceleratorHandlerManagerDisp_Disable_Proxy( 
    IRsAcceleratorHandlerManagerDisp * This);


void __RPC_STUB IRsAcceleratorHandlerManagerDisp_Disable_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRsAcceleratorHandlerManagerDisp_RedirectToHandler_Proxy( 
    IRsAcceleratorHandlerManagerDisp * This,
    /* [in] */ IDispatch *pHandler);


void __RPC_STUB IRsAcceleratorHandlerManagerDisp_RedirectToHandler_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRsAcceleratorHandlerManagerDisp_ResetRedirectToHandler_Proxy( 
    IRsAcceleratorHandlerManagerDisp * This);


void __RPC_STUB IRsAcceleratorHandlerManagerDisp_ResetRedirectToHandler_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsAcceleratorHandlerManagerDisp_INTERFACE_DEFINED__ */


#ifndef __IRsAcceleratorHandlerGlobal_INTERFACE_DEFINED__
#define __IRsAcceleratorHandlerGlobal_INTERFACE_DEFINED__

/* interface IRsAcceleratorHandlerGlobal */
/* [object][unique][helpstring][uuid][dual] */ 


EXTERN_C const IID IID_IRsAcceleratorHandlerGlobal;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("DE197E58-0CE1-4c6f-89FE-931D0DB5C6BB")
    IRsAcceleratorHandlerGlobal : public IDispatch
    {
    public:
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE StartNewBlock( 
            /* [retval][out] */ RtDWORD *pdwBlockID) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE AddAcceleratorToBlock( 
            /* [in] */ RtDWORD dwBlockID,
            /* [in] */ RtDWORD dwVirtualKey,
            /* [in] */ RtDWORD dwModifierFlags,
            /* [in] */ BSTR bsAcceleratorCommand) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE AddAccelerator( 
            /* [in] */ RtDWORD dwVirtualKey,
            /* [in] */ RtDWORD dwModifierFlags,
            /* [in] */ BSTR bsAcceleratorCommand,
            /* [retval][out] */ RtDWORD *pdwBlockID) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE DeleteAccelerators( 
            /* [in] */ RtDWORD dwBlockID) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Enable( void) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Disable( void) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetAcceleratorCount( 
            /* [retval][out] */ RtDWORD *dwCount) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetAccelerator( 
            /* [in] */ RtDWORD dwIndex,
            /* [out] */ RtDWORD *pdwBlockID,
            /* [out] */ RtDWORD *pdwVirtualKey,
            /* [out] */ RtDWORD *pdwModifierFlags,
            /* [out] */ BSTR *bsAcceleratorCommand) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SaveToXML( 
            /* [in] */ BSTR bsFileName) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE LoadFromXML( 
            /* [in] */ BSTR bsFileName) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SaveToDefaultXML( void) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE LoadFromDefaultXML( void) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE LoadFromXMLString( 
            /* [in] */ BSTR pszXMLString) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsAcceleratorHandlerGlobalVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsAcceleratorHandlerGlobal * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsAcceleratorHandlerGlobal * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsAcceleratorHandlerGlobal * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IRsAcceleratorHandlerGlobal * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IRsAcceleratorHandlerGlobal * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IRsAcceleratorHandlerGlobal * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IRsAcceleratorHandlerGlobal * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *StartNewBlock )( 
            IRsAcceleratorHandlerGlobal * This,
            /* [retval][out] */ RtDWORD *pdwBlockID);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *AddAcceleratorToBlock )( 
            IRsAcceleratorHandlerGlobal * This,
            /* [in] */ RtDWORD dwBlockID,
            /* [in] */ RtDWORD dwVirtualKey,
            /* [in] */ RtDWORD dwModifierFlags,
            /* [in] */ BSTR bsAcceleratorCommand);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *AddAccelerator )( 
            IRsAcceleratorHandlerGlobal * This,
            /* [in] */ RtDWORD dwVirtualKey,
            /* [in] */ RtDWORD dwModifierFlags,
            /* [in] */ BSTR bsAcceleratorCommand,
            /* [retval][out] */ RtDWORD *pdwBlockID);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *DeleteAccelerators )( 
            IRsAcceleratorHandlerGlobal * This,
            /* [in] */ RtDWORD dwBlockID);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Enable )( 
            IRsAcceleratorHandlerGlobal * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Disable )( 
            IRsAcceleratorHandlerGlobal * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetAcceleratorCount )( 
            IRsAcceleratorHandlerGlobal * This,
            /* [retval][out] */ RtDWORD *dwCount);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetAccelerator )( 
            IRsAcceleratorHandlerGlobal * This,
            /* [in] */ RtDWORD dwIndex,
            /* [out] */ RtDWORD *pdwBlockID,
            /* [out] */ RtDWORD *pdwVirtualKey,
            /* [out] */ RtDWORD *pdwModifierFlags,
            /* [out] */ BSTR *bsAcceleratorCommand);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SaveToXML )( 
            IRsAcceleratorHandlerGlobal * This,
            /* [in] */ BSTR bsFileName);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *LoadFromXML )( 
            IRsAcceleratorHandlerGlobal * This,
            /* [in] */ BSTR bsFileName);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SaveToDefaultXML )( 
            IRsAcceleratorHandlerGlobal * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *LoadFromDefaultXML )( 
            IRsAcceleratorHandlerGlobal * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *LoadFromXMLString )( 
            IRsAcceleratorHandlerGlobal * This,
            /* [in] */ BSTR pszXMLString);
        
        END_INTERFACE
    } IRsAcceleratorHandlerGlobalVtbl;

    interface IRsAcceleratorHandlerGlobal
    {
        CONST_VTBL struct IRsAcceleratorHandlerGlobalVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsAcceleratorHandlerGlobal_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsAcceleratorHandlerGlobal_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsAcceleratorHandlerGlobal_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsAcceleratorHandlerGlobal_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IRsAcceleratorHandlerGlobal_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IRsAcceleratorHandlerGlobal_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IRsAcceleratorHandlerGlobal_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IRsAcceleratorHandlerGlobal_StartNewBlock(This,pdwBlockID)	\
    (This)->lpVtbl -> StartNewBlock(This,pdwBlockID)

#define IRsAcceleratorHandlerGlobal_AddAcceleratorToBlock(This,dwBlockID,dwVirtualKey,dwModifierFlags,bsAcceleratorCommand)	\
    (This)->lpVtbl -> AddAcceleratorToBlock(This,dwBlockID,dwVirtualKey,dwModifierFlags,bsAcceleratorCommand)

#define IRsAcceleratorHandlerGlobal_AddAccelerator(This,dwVirtualKey,dwModifierFlags,bsAcceleratorCommand,pdwBlockID)	\
    (This)->lpVtbl -> AddAccelerator(This,dwVirtualKey,dwModifierFlags,bsAcceleratorCommand,pdwBlockID)

#define IRsAcceleratorHandlerGlobal_DeleteAccelerators(This,dwBlockID)	\
    (This)->lpVtbl -> DeleteAccelerators(This,dwBlockID)

#define IRsAcceleratorHandlerGlobal_Enable(This)	\
    (This)->lpVtbl -> Enable(This)

#define IRsAcceleratorHandlerGlobal_Disable(This)	\
    (This)->lpVtbl -> Disable(This)

#define IRsAcceleratorHandlerGlobal_GetAcceleratorCount(This,dwCount)	\
    (This)->lpVtbl -> GetAcceleratorCount(This,dwCount)

#define IRsAcceleratorHandlerGlobal_GetAccelerator(This,dwIndex,pdwBlockID,pdwVirtualKey,pdwModifierFlags,bsAcceleratorCommand)	\
    (This)->lpVtbl -> GetAccelerator(This,dwIndex,pdwBlockID,pdwVirtualKey,pdwModifierFlags,bsAcceleratorCommand)

#define IRsAcceleratorHandlerGlobal_SaveToXML(This,bsFileName)	\
    (This)->lpVtbl -> SaveToXML(This,bsFileName)

#define IRsAcceleratorHandlerGlobal_LoadFromXML(This,bsFileName)	\
    (This)->lpVtbl -> LoadFromXML(This,bsFileName)

#define IRsAcceleratorHandlerGlobal_SaveToDefaultXML(This)	\
    (This)->lpVtbl -> SaveToDefaultXML(This)

#define IRsAcceleratorHandlerGlobal_LoadFromDefaultXML(This)	\
    (This)->lpVtbl -> LoadFromDefaultXML(This)

#define IRsAcceleratorHandlerGlobal_LoadFromXMLString(This,pszXMLString)	\
    (This)->lpVtbl -> LoadFromXMLString(This,pszXMLString)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRsAcceleratorHandlerGlobal_StartNewBlock_Proxy( 
    IRsAcceleratorHandlerGlobal * This,
    /* [retval][out] */ RtDWORD *pdwBlockID);


void __RPC_STUB IRsAcceleratorHandlerGlobal_StartNewBlock_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRsAcceleratorHandlerGlobal_AddAcceleratorToBlock_Proxy( 
    IRsAcceleratorHandlerGlobal * This,
    /* [in] */ RtDWORD dwBlockID,
    /* [in] */ RtDWORD dwVirtualKey,
    /* [in] */ RtDWORD dwModifierFlags,
    /* [in] */ BSTR bsAcceleratorCommand);


void __RPC_STUB IRsAcceleratorHandlerGlobal_AddAcceleratorToBlock_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRsAcceleratorHandlerGlobal_AddAccelerator_Proxy( 
    IRsAcceleratorHandlerGlobal * This,
    /* [in] */ RtDWORD dwVirtualKey,
    /* [in] */ RtDWORD dwModifierFlags,
    /* [in] */ BSTR bsAcceleratorCommand,
    /* [retval][out] */ RtDWORD *pdwBlockID);


void __RPC_STUB IRsAcceleratorHandlerGlobal_AddAccelerator_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRsAcceleratorHandlerGlobal_DeleteAccelerators_Proxy( 
    IRsAcceleratorHandlerGlobal * This,
    /* [in] */ RtDWORD dwBlockID);


void __RPC_STUB IRsAcceleratorHandlerGlobal_DeleteAccelerators_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRsAcceleratorHandlerGlobal_Enable_Proxy( 
    IRsAcceleratorHandlerGlobal * This);


void __RPC_STUB IRsAcceleratorHandlerGlobal_Enable_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRsAcceleratorHandlerGlobal_Disable_Proxy( 
    IRsAcceleratorHandlerGlobal * This);


void __RPC_STUB IRsAcceleratorHandlerGlobal_Disable_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRsAcceleratorHandlerGlobal_GetAcceleratorCount_Proxy( 
    IRsAcceleratorHandlerGlobal * This,
    /* [retval][out] */ RtDWORD *dwCount);


void __RPC_STUB IRsAcceleratorHandlerGlobal_GetAcceleratorCount_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRsAcceleratorHandlerGlobal_GetAccelerator_Proxy( 
    IRsAcceleratorHandlerGlobal * This,
    /* [in] */ RtDWORD dwIndex,
    /* [out] */ RtDWORD *pdwBlockID,
    /* [out] */ RtDWORD *pdwVirtualKey,
    /* [out] */ RtDWORD *pdwModifierFlags,
    /* [out] */ BSTR *bsAcceleratorCommand);


void __RPC_STUB IRsAcceleratorHandlerGlobal_GetAccelerator_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRsAcceleratorHandlerGlobal_SaveToXML_Proxy( 
    IRsAcceleratorHandlerGlobal * This,
    /* [in] */ BSTR bsFileName);


void __RPC_STUB IRsAcceleratorHandlerGlobal_SaveToXML_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRsAcceleratorHandlerGlobal_LoadFromXML_Proxy( 
    IRsAcceleratorHandlerGlobal * This,
    /* [in] */ BSTR bsFileName);


void __RPC_STUB IRsAcceleratorHandlerGlobal_LoadFromXML_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRsAcceleratorHandlerGlobal_SaveToDefaultXML_Proxy( 
    IRsAcceleratorHandlerGlobal * This);


void __RPC_STUB IRsAcceleratorHandlerGlobal_SaveToDefaultXML_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRsAcceleratorHandlerGlobal_LoadFromDefaultXML_Proxy( 
    IRsAcceleratorHandlerGlobal * This);


void __RPC_STUB IRsAcceleratorHandlerGlobal_LoadFromDefaultXML_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRsAcceleratorHandlerGlobal_LoadFromXMLString_Proxy( 
    IRsAcceleratorHandlerGlobal * This,
    /* [in] */ BSTR pszXMLString);


void __RPC_STUB IRsAcceleratorHandlerGlobal_LoadFromXMLString_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsAcceleratorHandlerGlobal_INTERFACE_DEFINED__ */


/* interface __MIDL_itf__Kernel_0912 */
/* [local] */ 

typedef 
enum tagRtPluginStatus
    {	PACKAGE_INSTALLED	= 1,
	PACKAGE_LOADED	= 2,
	PACKAGE_UNINSTALLED	= 3
    } 	RtPackageStatus;



extern RPC_IF_HANDLE __MIDL_itf__Kernel_0912_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf__Kernel_0912_v0_0_s_ifspec;

#ifndef __IRsPluginDesc_INTERFACE_DEFINED__
#define __IRsPluginDesc_INTERFACE_DEFINED__

/* interface IRsPluginDesc */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsPluginDesc;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("B68E9553-CDA1-4d56-8A10-1BC35C1ED007")
    IRsPluginDesc : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetStatus( 
            /* [in] */ RtPackageStatus eStatus) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetName( 
            /* [retval][out] */ BSTR *pbszPluginName) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetPath( 
            /* [retval][out] */ BSTR *pbszPath) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetDesc( 
            /* [retval][out] */ BSTR *pbszDesc) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetVersion( 
            /* [retval][out] */ BSTR *pbszVersion) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetStatus( 
            /* [retval][out] */ RtPackageStatus *pStatus) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetID( 
            /* [retval][out] */ GUID *pGuid) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE IsEqualPlugin( 
            /* [in] */ IRsPluginDesc *pPluginDesc,
            /* [retval][out] */ RtBool *pVal) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsPluginDescVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsPluginDesc * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsPluginDesc * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsPluginDesc * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetStatus )( 
            IRsPluginDesc * This,
            /* [in] */ RtPackageStatus eStatus);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetName )( 
            IRsPluginDesc * This,
            /* [retval][out] */ BSTR *pbszPluginName);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetPath )( 
            IRsPluginDesc * This,
            /* [retval][out] */ BSTR *pbszPath);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetDesc )( 
            IRsPluginDesc * This,
            /* [retval][out] */ BSTR *pbszDesc);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetVersion )( 
            IRsPluginDesc * This,
            /* [retval][out] */ BSTR *pbszVersion);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetStatus )( 
            IRsPluginDesc * This,
            /* [retval][out] */ RtPackageStatus *pStatus);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetID )( 
            IRsPluginDesc * This,
            /* [retval][out] */ GUID *pGuid);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *IsEqualPlugin )( 
            IRsPluginDesc * This,
            /* [in] */ IRsPluginDesc *pPluginDesc,
            /* [retval][out] */ RtBool *pVal);
        
        END_INTERFACE
    } IRsPluginDescVtbl;

    interface IRsPluginDesc
    {
        CONST_VTBL struct IRsPluginDescVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsPluginDesc_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsPluginDesc_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsPluginDesc_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsPluginDesc_SetStatus(This,eStatus)	\
    (This)->lpVtbl -> SetStatus(This,eStatus)

#define IRsPluginDesc_GetName(This,pbszPluginName)	\
    (This)->lpVtbl -> GetName(This,pbszPluginName)

#define IRsPluginDesc_GetPath(This,pbszPath)	\
    (This)->lpVtbl -> GetPath(This,pbszPath)

#define IRsPluginDesc_GetDesc(This,pbszDesc)	\
    (This)->lpVtbl -> GetDesc(This,pbszDesc)

#define IRsPluginDesc_GetVersion(This,pbszVersion)	\
    (This)->lpVtbl -> GetVersion(This,pbszVersion)

#define IRsPluginDesc_GetStatus(This,pStatus)	\
    (This)->lpVtbl -> GetStatus(This,pStatus)

#define IRsPluginDesc_GetID(This,pGuid)	\
    (This)->lpVtbl -> GetID(This,pGuid)

#define IRsPluginDesc_IsEqualPlugin(This,pPluginDesc,pVal)	\
    (This)->lpVtbl -> IsEqualPlugin(This,pPluginDesc,pVal)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsPluginDesc_SetStatus_Proxy( 
    IRsPluginDesc * This,
    /* [in] */ RtPackageStatus eStatus);


void __RPC_STUB IRsPluginDesc_SetStatus_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsPluginDesc_GetName_Proxy( 
    IRsPluginDesc * This,
    /* [retval][out] */ BSTR *pbszPluginName);


void __RPC_STUB IRsPluginDesc_GetName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsPluginDesc_GetPath_Proxy( 
    IRsPluginDesc * This,
    /* [retval][out] */ BSTR *pbszPath);


void __RPC_STUB IRsPluginDesc_GetPath_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsPluginDesc_GetDesc_Proxy( 
    IRsPluginDesc * This,
    /* [retval][out] */ BSTR *pbszDesc);


void __RPC_STUB IRsPluginDesc_GetDesc_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsPluginDesc_GetVersion_Proxy( 
    IRsPluginDesc * This,
    /* [retval][out] */ BSTR *pbszVersion);


void __RPC_STUB IRsPluginDesc_GetVersion_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsPluginDesc_GetStatus_Proxy( 
    IRsPluginDesc * This,
    /* [retval][out] */ RtPackageStatus *pStatus);


void __RPC_STUB IRsPluginDesc_GetStatus_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsPluginDesc_GetID_Proxy( 
    IRsPluginDesc * This,
    /* [retval][out] */ GUID *pGuid);


void __RPC_STUB IRsPluginDesc_GetID_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsPluginDesc_IsEqualPlugin_Proxy( 
    IRsPluginDesc * This,
    /* [in] */ IRsPluginDesc *pPluginDesc,
    /* [retval][out] */ RtBool *pVal);


void __RPC_STUB IRsPluginDesc_IsEqualPlugin_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsPluginDesc_INTERFACE_DEFINED__ */


#ifndef __IRsEnumPluginDesc_INTERFACE_DEFINED__
#define __IRsEnumPluginDesc_INTERFACE_DEFINED__

/* interface IRsEnumPluginDesc */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsEnumPluginDesc;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("C5DA183D-0ED9-40db-A576-03900D9E0384")
    IRsEnumPluginDesc : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Next( 
            /* [in] */ ULONG cNumPcks,
            /* [out] */ IRsPluginDesc **ppArrayCmds,
            /* [out] */ ULONG *pcFetched) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Skip( 
            /* [in] */ ULONG cNumPcks) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Reset( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Clone( 
            /* [out] */ IRsEnumPluginDesc **ppEnum) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsEnumPluginDescVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsEnumPluginDesc * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsEnumPluginDesc * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsEnumPluginDesc * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Next )( 
            IRsEnumPluginDesc * This,
            /* [in] */ ULONG cNumPcks,
            /* [out] */ IRsPluginDesc **ppArrayCmds,
            /* [out] */ ULONG *pcFetched);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Skip )( 
            IRsEnumPluginDesc * This,
            /* [in] */ ULONG cNumPcks);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Reset )( 
            IRsEnumPluginDesc * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Clone )( 
            IRsEnumPluginDesc * This,
            /* [out] */ IRsEnumPluginDesc **ppEnum);
        
        END_INTERFACE
    } IRsEnumPluginDescVtbl;

    interface IRsEnumPluginDesc
    {
        CONST_VTBL struct IRsEnumPluginDescVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsEnumPluginDesc_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsEnumPluginDesc_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsEnumPluginDesc_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsEnumPluginDesc_Next(This,cNumPcks,ppArrayCmds,pcFetched)	\
    (This)->lpVtbl -> Next(This,cNumPcks,ppArrayCmds,pcFetched)

#define IRsEnumPluginDesc_Skip(This,cNumPcks)	\
    (This)->lpVtbl -> Skip(This,cNumPcks)

#define IRsEnumPluginDesc_Reset(This)	\
    (This)->lpVtbl -> Reset(This)

#define IRsEnumPluginDesc_Clone(This,ppEnum)	\
    (This)->lpVtbl -> Clone(This,ppEnum)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsEnumPluginDesc_Next_Proxy( 
    IRsEnumPluginDesc * This,
    /* [in] */ ULONG cNumPcks,
    /* [out] */ IRsPluginDesc **ppArrayCmds,
    /* [out] */ ULONG *pcFetched);


void __RPC_STUB IRsEnumPluginDesc_Next_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsEnumPluginDesc_Skip_Proxy( 
    IRsEnumPluginDesc * This,
    /* [in] */ ULONG cNumPcks);


void __RPC_STUB IRsEnumPluginDesc_Skip_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsEnumPluginDesc_Reset_Proxy( 
    IRsEnumPluginDesc * This);


void __RPC_STUB IRsEnumPluginDesc_Reset_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsEnumPluginDesc_Clone_Proxy( 
    IRsEnumPluginDesc * This,
    /* [out] */ IRsEnumPluginDesc **ppEnum);


void __RPC_STUB IRsEnumPluginDesc_Clone_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsEnumPluginDesc_INTERFACE_DEFINED__ */


#ifndef __IRsPluginManager_INTERFACE_DEFINED__
#define __IRsPluginManager_INTERFACE_DEFINED__

/* interface IRsPluginManager */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsPluginManager;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("5E6D928C-6BCD-40ec-BC93-E0DA1C5227B6")
    IRsPluginManager : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Install( 
            /* [in] */ BSTR bszFileName) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Uninstall( 
            /* [in] */ BSTR bszPackageName) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE LoadPlugin( 
            /* [in] */ BSTR bszPackageName) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE UnloadPlugin( 
            /* [in] */ BSTR bszPackageName) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Import( 
            /* [in] */ BSTR bszConfigFile) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE EnumPlugins( 
            /* [retval][out] */ IRsEnumPluginDesc **ppEnumPlugDesc) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE FindPlugin( 
            /* [in] */ GUID pluginId,
            /* [retval][out] */ IRsPluginDesc **ppPlugDesc) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE FindPluginByName( 
            /* [in] */ BSTR bszPackageName,
            /* [retval][out] */ IRsPluginDesc **ppPlugDesc) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE UninstallByFileName( 
            /* [in] */ BSTR bszFileName) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsPluginManagerVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsPluginManager * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsPluginManager * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsPluginManager * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Install )( 
            IRsPluginManager * This,
            /* [in] */ BSTR bszFileName);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Uninstall )( 
            IRsPluginManager * This,
            /* [in] */ BSTR bszPackageName);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *LoadPlugin )( 
            IRsPluginManager * This,
            /* [in] */ BSTR bszPackageName);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *UnloadPlugin )( 
            IRsPluginManager * This,
            /* [in] */ BSTR bszPackageName);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Import )( 
            IRsPluginManager * This,
            /* [in] */ BSTR bszConfigFile);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *EnumPlugins )( 
            IRsPluginManager * This,
            /* [retval][out] */ IRsEnumPluginDesc **ppEnumPlugDesc);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *FindPlugin )( 
            IRsPluginManager * This,
            /* [in] */ GUID pluginId,
            /* [retval][out] */ IRsPluginDesc **ppPlugDesc);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *FindPluginByName )( 
            IRsPluginManager * This,
            /* [in] */ BSTR bszPackageName,
            /* [retval][out] */ IRsPluginDesc **ppPlugDesc);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *UninstallByFileName )( 
            IRsPluginManager * This,
            /* [in] */ BSTR bszFileName);
        
        END_INTERFACE
    } IRsPluginManagerVtbl;

    interface IRsPluginManager
    {
        CONST_VTBL struct IRsPluginManagerVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsPluginManager_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsPluginManager_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsPluginManager_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsPluginManager_Install(This,bszFileName)	\
    (This)->lpVtbl -> Install(This,bszFileName)

#define IRsPluginManager_Uninstall(This,bszPackageName)	\
    (This)->lpVtbl -> Uninstall(This,bszPackageName)

#define IRsPluginManager_LoadPlugin(This,bszPackageName)	\
    (This)->lpVtbl -> LoadPlugin(This,bszPackageName)

#define IRsPluginManager_UnloadPlugin(This,bszPackageName)	\
    (This)->lpVtbl -> UnloadPlugin(This,bszPackageName)

#define IRsPluginManager_Import(This,bszConfigFile)	\
    (This)->lpVtbl -> Import(This,bszConfigFile)

#define IRsPluginManager_EnumPlugins(This,ppEnumPlugDesc)	\
    (This)->lpVtbl -> EnumPlugins(This,ppEnumPlugDesc)

#define IRsPluginManager_FindPlugin(This,pluginId,ppPlugDesc)	\
    (This)->lpVtbl -> FindPlugin(This,pluginId,ppPlugDesc)

#define IRsPluginManager_FindPluginByName(This,bszPackageName,ppPlugDesc)	\
    (This)->lpVtbl -> FindPluginByName(This,bszPackageName,ppPlugDesc)

#define IRsPluginManager_UninstallByFileName(This,bszFileName)	\
    (This)->lpVtbl -> UninstallByFileName(This,bszFileName)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsPluginManager_Install_Proxy( 
    IRsPluginManager * This,
    /* [in] */ BSTR bszFileName);


void __RPC_STUB IRsPluginManager_Install_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsPluginManager_Uninstall_Proxy( 
    IRsPluginManager * This,
    /* [in] */ BSTR bszPackageName);


void __RPC_STUB IRsPluginManager_Uninstall_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsPluginManager_LoadPlugin_Proxy( 
    IRsPluginManager * This,
    /* [in] */ BSTR bszPackageName);


void __RPC_STUB IRsPluginManager_LoadPlugin_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsPluginManager_UnloadPlugin_Proxy( 
    IRsPluginManager * This,
    /* [in] */ BSTR bszPackageName);


void __RPC_STUB IRsPluginManager_UnloadPlugin_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsPluginManager_Import_Proxy( 
    IRsPluginManager * This,
    /* [in] */ BSTR bszConfigFile);


void __RPC_STUB IRsPluginManager_Import_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsPluginManager_EnumPlugins_Proxy( 
    IRsPluginManager * This,
    /* [retval][out] */ IRsEnumPluginDesc **ppEnumPlugDesc);


void __RPC_STUB IRsPluginManager_EnumPlugins_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsPluginManager_FindPlugin_Proxy( 
    IRsPluginManager * This,
    /* [in] */ GUID pluginId,
    /* [retval][out] */ IRsPluginDesc **ppPlugDesc);


void __RPC_STUB IRsPluginManager_FindPlugin_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsPluginManager_FindPluginByName_Proxy( 
    IRsPluginManager * This,
    /* [in] */ BSTR bszPackageName,
    /* [retval][out] */ IRsPluginDesc **ppPlugDesc);


void __RPC_STUB IRsPluginManager_FindPluginByName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsPluginManager_UninstallByFileName_Proxy( 
    IRsPluginManager * This,
    /* [in] */ BSTR bszFileName);


void __RPC_STUB IRsPluginManager_UninstallByFileName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsPluginManager_INTERFACE_DEFINED__ */


#ifndef __IRsObjectFactory_INTERFACE_DEFINED__
#define __IRsObjectFactory_INTERFACE_DEFINED__

/* interface IRsObjectFactory */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsObjectFactory;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("5e0be50f-71a5-4f6c-93b3-17212ce6fb98")
    IRsObjectFactory : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateCOMObjectInstance( 
            /* [in] */ const IID *piid,
            /* [retval][out] */ IUnknown **ppObj) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsObjectFactoryVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsObjectFactory * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsObjectFactory * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsObjectFactory * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateCOMObjectInstance )( 
            IRsObjectFactory * This,
            /* [in] */ const IID *piid,
            /* [retval][out] */ IUnknown **ppObj);
        
        END_INTERFACE
    } IRsObjectFactoryVtbl;

    interface IRsObjectFactory
    {
        CONST_VTBL struct IRsObjectFactoryVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsObjectFactory_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsObjectFactory_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsObjectFactory_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsObjectFactory_CreateCOMObjectInstance(This,piid,ppObj)	\
    (This)->lpVtbl -> CreateCOMObjectInstance(This,piid,ppObj)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsObjectFactory_CreateCOMObjectInstance_Proxy( 
    IRsObjectFactory * This,
    /* [in] */ const IID *piid,
    /* [retval][out] */ IUnknown **ppObj);


void __RPC_STUB IRsObjectFactory_CreateCOMObjectInstance_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsObjectFactory_INTERFACE_DEFINED__ */


#ifndef __IRsBaseDummy_INTERFACE_DEFINED__
#define __IRsBaseDummy_INTERFACE_DEFINED__

/* interface IRsBaseDummy */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsBaseDummy;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("D8F21CD2-2CDC-47be-934C-A033F88A325D")
    IRsBaseDummy : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetOriginalObjId( 
            /* [retval][out] */ GUID *pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetOriginalObjId( 
            /* [in] */ GUID newVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CustomData( 
            /* [retval][out] */ RtBool *pbVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE StoreOriginalObject( 
            /* [in] */ IStream *pStream,
            /* [in] */ ULARGE_INTEGER cbObjSize) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SaveOriginalObject( 
            /* [in] */ IStream *pStream) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsBaseDummyVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsBaseDummy * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsBaseDummy * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsBaseDummy * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetOriginalObjId )( 
            IRsBaseDummy * This,
            /* [retval][out] */ GUID *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetOriginalObjId )( 
            IRsBaseDummy * This,
            /* [in] */ GUID newVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CustomData )( 
            IRsBaseDummy * This,
            /* [retval][out] */ RtBool *pbVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *StoreOriginalObject )( 
            IRsBaseDummy * This,
            /* [in] */ IStream *pStream,
            /* [in] */ ULARGE_INTEGER cbObjSize);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SaveOriginalObject )( 
            IRsBaseDummy * This,
            /* [in] */ IStream *pStream);
        
        END_INTERFACE
    } IRsBaseDummyVtbl;

    interface IRsBaseDummy
    {
        CONST_VTBL struct IRsBaseDummyVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsBaseDummy_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsBaseDummy_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsBaseDummy_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsBaseDummy_GetOriginalObjId(This,pVal)	\
    (This)->lpVtbl -> GetOriginalObjId(This,pVal)

#define IRsBaseDummy_SetOriginalObjId(This,newVal)	\
    (This)->lpVtbl -> SetOriginalObjId(This,newVal)

#define IRsBaseDummy_CustomData(This,pbVal)	\
    (This)->lpVtbl -> CustomData(This,pbVal)

#define IRsBaseDummy_StoreOriginalObject(This,pStream,cbObjSize)	\
    (This)->lpVtbl -> StoreOriginalObject(This,pStream,cbObjSize)

#define IRsBaseDummy_SaveOriginalObject(This,pStream)	\
    (This)->lpVtbl -> SaveOriginalObject(This,pStream)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsBaseDummy_GetOriginalObjId_Proxy( 
    IRsBaseDummy * This,
    /* [retval][out] */ GUID *pVal);


void __RPC_STUB IRsBaseDummy_GetOriginalObjId_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsBaseDummy_SetOriginalObjId_Proxy( 
    IRsBaseDummy * This,
    /* [in] */ GUID newVal);


void __RPC_STUB IRsBaseDummy_SetOriginalObjId_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsBaseDummy_CustomData_Proxy( 
    IRsBaseDummy * This,
    /* [retval][out] */ RtBool *pbVal);


void __RPC_STUB IRsBaseDummy_CustomData_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsBaseDummy_StoreOriginalObject_Proxy( 
    IRsBaseDummy * This,
    /* [in] */ IStream *pStream,
    /* [in] */ ULARGE_INTEGER cbObjSize);


void __RPC_STUB IRsBaseDummy_StoreOriginalObject_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsBaseDummy_SaveOriginalObject_Proxy( 
    IRsBaseDummy * This,
    /* [in] */ IStream *pStream);


void __RPC_STUB IRsBaseDummy_SaveOriginalObject_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsBaseDummy_INTERFACE_DEFINED__ */


#ifndef __IRpKernel_INTERFACE_DEFINED__
#define __IRpKernel_INTERFACE_DEFINED__

/* interface IRpKernel */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRpKernel;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("9F671E59-638B-4897-9F1D-1492F3BF9228")
    IRpKernel : public IRsObject
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ImportPackage( 
            /* [in] */ BSTR inPackageFile) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RegisterPackage( 
            /* [in] */ IRsUnknownPackage *pPackage) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE UnRegisterPackage( 
            /* [in] */ IRsUnknownPackage *pPackage) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE FindPackage( 
            /* [in] */ GUID id,
            /* [retval][out] */ IRsUnknownPackage **ppPackage) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetPackageModuleInstance( 
            /* [in] */ GUID id,
            /* [retval][out] */ RtInstance *pInstance) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetPackageResourceInstance( 
            /* [in] */ GUID id,
            /* [retval][out] */ RtInstance *pInstance) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE EnumeratePackages( 
            /* [retval][out] */ IRsEnumPackage **ppEnumPackage) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetPackageFileName( 
            /* [in] */ IRsUnknownPackage *spUnkPackage,
            /* [retval][out] */ BSTR *pbszFileName) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE IsShuttingDown( 
            /* [retval][out] */ RtBool *bShuttingDown) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ShutDown( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Run( 
            /* [in] */ BSTR szInitScript) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SendMessageA( 
            /* [in] */ MSGID msgId,
            /* [in] */ IRsUnknownMsg *pMsg) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ContextDestroy( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetSysFactory( 
            /* [retval][out] */ IRsSysFactory **ppFactory) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetSysCore( 
            /* [retval][out] */ IRsSysCore **ppSysCore) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetSysPersist( 
            /* [retval][out] */ IRsSysPersist **ppSysPersist) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetSysScanner( 
            /* [retval][out] */ IRsSysScanner **pSysScanner) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetLogger( 
            /* [retval][out] */ IRsLogger **ppLogger) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetKernelNode( 
            /* [retval][out] */ IRnKernel **pNode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetKernelNode( 
            /* [in] */ IRsNode *pNode) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DefaultRunner( 
            /* [retval][out] */ IRsUnknownRunner **pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_DefaultRunner( 
            /* [in] */ IRsUnknownRunner *newVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetSelectionManager( 
            /* [retval][out] */ IRsSelectionManager **ppSelMng) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetNodeSelection( 
            /* [in] */ IRsSelectionNotification *pNotify,
            /* [retval][out] */ IRdSelNodeSelection **ppSelection) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetAcceleratorHandlerManager( 
            /* [retval][out] */ IRsAcceleratorHandlerManager **ppManager) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetGlobalAcceleratorHandler( 
            /* [retval][out] */ IRsAcceleratorHandlerGlobal **ppHandler) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetKernelFactory( 
            /* [retval][out] */ IRsKernelFactory **ppFactory) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetPluginManager( 
            /* [retval][out] */ IRsPluginManager **ppPluginMng) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddPackageLoadPath( 
            /* [in] */ BSTR bsPath,
            /* [in] */ BOOL bInsertToFront) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateBaseNode( 
            /* [in] */ IUnknown *pOuter,
            /* [retval][out] */ IUnknown **ppBaseNode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateEncapsulator( 
            /* [in] */ IUnknown *pOuter,
            /* [retval][out] */ IUnknown **ppEncapsulator) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateEventLogSession( 
            /* [retval][out] */ IRsEventLogSession **ppLogSession) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateBaseFnSet( 
            /* [in] */ IUnknown *pOuter,
            /* [retval][out] */ IUnknown **ppBaseSet) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateKernelFnSet( 
            /* [in] */ IUnknown *pOuter,
            /* [retval][out] */ IRfKernelSet **ppFn) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateEncapsulatorFnSet( 
            /* [retval][out] */ IRfEncapsulatorSet **ppFn) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateSystemNamedItem( 
            /* [retval][out] */ IUnknown **ppFn) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateBSEventFn( 
            /* [retval][out] */ IRfBSEventFn **ppEventFn) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateEncapsIt( 
            /* [retval][out] */ IRsEncapsIt **ppIt) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateNodeFilter( 
            /* [retval][out] */ IRsNodeFilter **ppNodeFilter) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateConnectionHelper( 
            /* [retval][out] */ IRfConnection **ppConHelper) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRpKernelVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRpKernel * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRpKernel * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRpKernel * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassId )( 
            IRpKernel * This,
            /* [retval][out] */ GUID *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassName )( 
            IRpKernel * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ImportPackage )( 
            IRpKernel * This,
            /* [in] */ BSTR inPackageFile);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RegisterPackage )( 
            IRpKernel * This,
            /* [in] */ IRsUnknownPackage *pPackage);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *UnRegisterPackage )( 
            IRpKernel * This,
            /* [in] */ IRsUnknownPackage *pPackage);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *FindPackage )( 
            IRpKernel * This,
            /* [in] */ GUID id,
            /* [retval][out] */ IRsUnknownPackage **ppPackage);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetPackageModuleInstance )( 
            IRpKernel * This,
            /* [in] */ GUID id,
            /* [retval][out] */ RtInstance *pInstance);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetPackageResourceInstance )( 
            IRpKernel * This,
            /* [in] */ GUID id,
            /* [retval][out] */ RtInstance *pInstance);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *EnumeratePackages )( 
            IRpKernel * This,
            /* [retval][out] */ IRsEnumPackage **ppEnumPackage);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetPackageFileName )( 
            IRpKernel * This,
            /* [in] */ IRsUnknownPackage *spUnkPackage,
            /* [retval][out] */ BSTR *pbszFileName);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *IsShuttingDown )( 
            IRpKernel * This,
            /* [retval][out] */ RtBool *bShuttingDown);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ShutDown )( 
            IRpKernel * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Run )( 
            IRpKernel * This,
            /* [in] */ BSTR szInitScript);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SendMessageA )( 
            IRpKernel * This,
            /* [in] */ MSGID msgId,
            /* [in] */ IRsUnknownMsg *pMsg);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ContextDestroy )( 
            IRpKernel * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetSysFactory )( 
            IRpKernel * This,
            /* [retval][out] */ IRsSysFactory **ppFactory);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetSysCore )( 
            IRpKernel * This,
            /* [retval][out] */ IRsSysCore **ppSysCore);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetSysPersist )( 
            IRpKernel * This,
            /* [retval][out] */ IRsSysPersist **ppSysPersist);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetSysScanner )( 
            IRpKernel * This,
            /* [retval][out] */ IRsSysScanner **pSysScanner);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetLogger )( 
            IRpKernel * This,
            /* [retval][out] */ IRsLogger **ppLogger);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetKernelNode )( 
            IRpKernel * This,
            /* [retval][out] */ IRnKernel **pNode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetKernelNode )( 
            IRpKernel * This,
            /* [in] */ IRsNode *pNode);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DefaultRunner )( 
            IRpKernel * This,
            /* [retval][out] */ IRsUnknownRunner **pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DefaultRunner )( 
            IRpKernel * This,
            /* [in] */ IRsUnknownRunner *newVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetSelectionManager )( 
            IRpKernel * This,
            /* [retval][out] */ IRsSelectionManager **ppSelMng);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetNodeSelection )( 
            IRpKernel * This,
            /* [in] */ IRsSelectionNotification *pNotify,
            /* [retval][out] */ IRdSelNodeSelection **ppSelection);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetAcceleratorHandlerManager )( 
            IRpKernel * This,
            /* [retval][out] */ IRsAcceleratorHandlerManager **ppManager);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetGlobalAcceleratorHandler )( 
            IRpKernel * This,
            /* [retval][out] */ IRsAcceleratorHandlerGlobal **ppHandler);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetKernelFactory )( 
            IRpKernel * This,
            /* [retval][out] */ IRsKernelFactory **ppFactory);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetPluginManager )( 
            IRpKernel * This,
            /* [retval][out] */ IRsPluginManager **ppPluginMng);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddPackageLoadPath )( 
            IRpKernel * This,
            /* [in] */ BSTR bsPath,
            /* [in] */ BOOL bInsertToFront);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateBaseNode )( 
            IRpKernel * This,
            /* [in] */ IUnknown *pOuter,
            /* [retval][out] */ IUnknown **ppBaseNode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateEncapsulator )( 
            IRpKernel * This,
            /* [in] */ IUnknown *pOuter,
            /* [retval][out] */ IUnknown **ppEncapsulator);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateEventLogSession )( 
            IRpKernel * This,
            /* [retval][out] */ IRsEventLogSession **ppLogSession);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateBaseFnSet )( 
            IRpKernel * This,
            /* [in] */ IUnknown *pOuter,
            /* [retval][out] */ IUnknown **ppBaseSet);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateKernelFnSet )( 
            IRpKernel * This,
            /* [in] */ IUnknown *pOuter,
            /* [retval][out] */ IRfKernelSet **ppFn);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateEncapsulatorFnSet )( 
            IRpKernel * This,
            /* [retval][out] */ IRfEncapsulatorSet **ppFn);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateSystemNamedItem )( 
            IRpKernel * This,
            /* [retval][out] */ IUnknown **ppFn);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateBSEventFn )( 
            IRpKernel * This,
            /* [retval][out] */ IRfBSEventFn **ppEventFn);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateEncapsIt )( 
            IRpKernel * This,
            /* [retval][out] */ IRsEncapsIt **ppIt);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateNodeFilter )( 
            IRpKernel * This,
            /* [retval][out] */ IRsNodeFilter **ppNodeFilter);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateConnectionHelper )( 
            IRpKernel * This,
            /* [retval][out] */ IRfConnection **ppConHelper);
        
        END_INTERFACE
    } IRpKernelVtbl;

    interface IRpKernel
    {
        CONST_VTBL struct IRpKernelVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRpKernel_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRpKernel_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRpKernel_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRpKernel_get_ClassId(This,pVal)	\
    (This)->lpVtbl -> get_ClassId(This,pVal)

#define IRpKernel_get_ClassName(This,pVal)	\
    (This)->lpVtbl -> get_ClassName(This,pVal)


#define IRpKernel_ImportPackage(This,inPackageFile)	\
    (This)->lpVtbl -> ImportPackage(This,inPackageFile)

#define IRpKernel_RegisterPackage(This,pPackage)	\
    (This)->lpVtbl -> RegisterPackage(This,pPackage)

#define IRpKernel_UnRegisterPackage(This,pPackage)	\
    (This)->lpVtbl -> UnRegisterPackage(This,pPackage)

#define IRpKernel_FindPackage(This,id,ppPackage)	\
    (This)->lpVtbl -> FindPackage(This,id,ppPackage)

#define IRpKernel_GetPackageModuleInstance(This,id,pInstance)	\
    (This)->lpVtbl -> GetPackageModuleInstance(This,id,pInstance)

#define IRpKernel_GetPackageResourceInstance(This,id,pInstance)	\
    (This)->lpVtbl -> GetPackageResourceInstance(This,id,pInstance)

#define IRpKernel_EnumeratePackages(This,ppEnumPackage)	\
    (This)->lpVtbl -> EnumeratePackages(This,ppEnumPackage)

#define IRpKernel_GetPackageFileName(This,spUnkPackage,pbszFileName)	\
    (This)->lpVtbl -> GetPackageFileName(This,spUnkPackage,pbszFileName)

#define IRpKernel_IsShuttingDown(This,bShuttingDown)	\
    (This)->lpVtbl -> IsShuttingDown(This,bShuttingDown)

#define IRpKernel_ShutDown(This)	\
    (This)->lpVtbl -> ShutDown(This)

#define IRpKernel_Run(This,szInitScript)	\
    (This)->lpVtbl -> Run(This,szInitScript)

#define IRpKernel_SendMessageA(This,msgId,pMsg)	\
    (This)->lpVtbl -> SendMessageA(This,msgId,pMsg)

#define IRpKernel_ContextDestroy(This)	\
    (This)->lpVtbl -> ContextDestroy(This)

#define IRpKernel_GetSysFactory(This,ppFactory)	\
    (This)->lpVtbl -> GetSysFactory(This,ppFactory)

#define IRpKernel_GetSysCore(This,ppSysCore)	\
    (This)->lpVtbl -> GetSysCore(This,ppSysCore)

#define IRpKernel_GetSysPersist(This,ppSysPersist)	\
    (This)->lpVtbl -> GetSysPersist(This,ppSysPersist)

#define IRpKernel_GetSysScanner(This,pSysScanner)	\
    (This)->lpVtbl -> GetSysScanner(This,pSysScanner)

#define IRpKernel_GetLogger(This,ppLogger)	\
    (This)->lpVtbl -> GetLogger(This,ppLogger)

#define IRpKernel_GetKernelNode(This,pNode)	\
    (This)->lpVtbl -> GetKernelNode(This,pNode)

#define IRpKernel_SetKernelNode(This,pNode)	\
    (This)->lpVtbl -> SetKernelNode(This,pNode)

#define IRpKernel_get_DefaultRunner(This,pVal)	\
    (This)->lpVtbl -> get_DefaultRunner(This,pVal)

#define IRpKernel_put_DefaultRunner(This,newVal)	\
    (This)->lpVtbl -> put_DefaultRunner(This,newVal)

#define IRpKernel_GetSelectionManager(This,ppSelMng)	\
    (This)->lpVtbl -> GetSelectionManager(This,ppSelMng)

#define IRpKernel_GetNodeSelection(This,pNotify,ppSelection)	\
    (This)->lpVtbl -> GetNodeSelection(This,pNotify,ppSelection)

#define IRpKernel_GetAcceleratorHandlerManager(This,ppManager)	\
    (This)->lpVtbl -> GetAcceleratorHandlerManager(This,ppManager)

#define IRpKernel_GetGlobalAcceleratorHandler(This,ppHandler)	\
    (This)->lpVtbl -> GetGlobalAcceleratorHandler(This,ppHandler)

#define IRpKernel_GetKernelFactory(This,ppFactory)	\
    (This)->lpVtbl -> GetKernelFactory(This,ppFactory)

#define IRpKernel_GetPluginManager(This,ppPluginMng)	\
    (This)->lpVtbl -> GetPluginManager(This,ppPluginMng)

#define IRpKernel_AddPackageLoadPath(This,bsPath,bInsertToFront)	\
    (This)->lpVtbl -> AddPackageLoadPath(This,bsPath,bInsertToFront)

#define IRpKernel_CreateBaseNode(This,pOuter,ppBaseNode)	\
    (This)->lpVtbl -> CreateBaseNode(This,pOuter,ppBaseNode)

#define IRpKernel_CreateEncapsulator(This,pOuter,ppEncapsulator)	\
    (This)->lpVtbl -> CreateEncapsulator(This,pOuter,ppEncapsulator)

#define IRpKernel_CreateEventLogSession(This,ppLogSession)	\
    (This)->lpVtbl -> CreateEventLogSession(This,ppLogSession)

#define IRpKernel_CreateBaseFnSet(This,pOuter,ppBaseSet)	\
    (This)->lpVtbl -> CreateBaseFnSet(This,pOuter,ppBaseSet)

#define IRpKernel_CreateKernelFnSet(This,pOuter,ppFn)	\
    (This)->lpVtbl -> CreateKernelFnSet(This,pOuter,ppFn)

#define IRpKernel_CreateEncapsulatorFnSet(This,ppFn)	\
    (This)->lpVtbl -> CreateEncapsulatorFnSet(This,ppFn)

#define IRpKernel_CreateSystemNamedItem(This,ppFn)	\
    (This)->lpVtbl -> CreateSystemNamedItem(This,ppFn)

#define IRpKernel_CreateBSEventFn(This,ppEventFn)	\
    (This)->lpVtbl -> CreateBSEventFn(This,ppEventFn)

#define IRpKernel_CreateEncapsIt(This,ppIt)	\
    (This)->lpVtbl -> CreateEncapsIt(This,ppIt)

#define IRpKernel_CreateNodeFilter(This,ppNodeFilter)	\
    (This)->lpVtbl -> CreateNodeFilter(This,ppNodeFilter)

#define IRpKernel_CreateConnectionHelper(This,ppConHelper)	\
    (This)->lpVtbl -> CreateConnectionHelper(This,ppConHelper)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRpKernel_ImportPackage_Proxy( 
    IRpKernel * This,
    /* [in] */ BSTR inPackageFile);


void __RPC_STUB IRpKernel_ImportPackage_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRpKernel_RegisterPackage_Proxy( 
    IRpKernel * This,
    /* [in] */ IRsUnknownPackage *pPackage);


void __RPC_STUB IRpKernel_RegisterPackage_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRpKernel_UnRegisterPackage_Proxy( 
    IRpKernel * This,
    /* [in] */ IRsUnknownPackage *pPackage);


void __RPC_STUB IRpKernel_UnRegisterPackage_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRpKernel_FindPackage_Proxy( 
    IRpKernel * This,
    /* [in] */ GUID id,
    /* [retval][out] */ IRsUnknownPackage **ppPackage);


void __RPC_STUB IRpKernel_FindPackage_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRpKernel_GetPackageModuleInstance_Proxy( 
    IRpKernel * This,
    /* [in] */ GUID id,
    /* [retval][out] */ RtInstance *pInstance);


void __RPC_STUB IRpKernel_GetPackageModuleInstance_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRpKernel_GetPackageResourceInstance_Proxy( 
    IRpKernel * This,
    /* [in] */ GUID id,
    /* [retval][out] */ RtInstance *pInstance);


void __RPC_STUB IRpKernel_GetPackageResourceInstance_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRpKernel_EnumeratePackages_Proxy( 
    IRpKernel * This,
    /* [retval][out] */ IRsEnumPackage **ppEnumPackage);


void __RPC_STUB IRpKernel_EnumeratePackages_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRpKernel_GetPackageFileName_Proxy( 
    IRpKernel * This,
    /* [in] */ IRsUnknownPackage *spUnkPackage,
    /* [retval][out] */ BSTR *pbszFileName);


void __RPC_STUB IRpKernel_GetPackageFileName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRpKernel_IsShuttingDown_Proxy( 
    IRpKernel * This,
    /* [retval][out] */ RtBool *bShuttingDown);


void __RPC_STUB IRpKernel_IsShuttingDown_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRpKernel_ShutDown_Proxy( 
    IRpKernel * This);


void __RPC_STUB IRpKernel_ShutDown_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRpKernel_Run_Proxy( 
    IRpKernel * This,
    /* [in] */ BSTR szInitScript);


void __RPC_STUB IRpKernel_Run_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRpKernel_SendMessageA_Proxy( 
    IRpKernel * This,
    /* [in] */ MSGID msgId,
    /* [in] */ IRsUnknownMsg *pMsg);


void __RPC_STUB IRpKernel_SendMessageA_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRpKernel_ContextDestroy_Proxy( 
    IRpKernel * This);


void __RPC_STUB IRpKernel_ContextDestroy_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRpKernel_GetSysFactory_Proxy( 
    IRpKernel * This,
    /* [retval][out] */ IRsSysFactory **ppFactory);


void __RPC_STUB IRpKernel_GetSysFactory_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRpKernel_GetSysCore_Proxy( 
    IRpKernel * This,
    /* [retval][out] */ IRsSysCore **ppSysCore);


void __RPC_STUB IRpKernel_GetSysCore_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRpKernel_GetSysPersist_Proxy( 
    IRpKernel * This,
    /* [retval][out] */ IRsSysPersist **ppSysPersist);


void __RPC_STUB IRpKernel_GetSysPersist_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRpKernel_GetSysScanner_Proxy( 
    IRpKernel * This,
    /* [retval][out] */ IRsSysScanner **pSysScanner);


void __RPC_STUB IRpKernel_GetSysScanner_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRpKernel_GetLogger_Proxy( 
    IRpKernel * This,
    /* [retval][out] */ IRsLogger **ppLogger);


void __RPC_STUB IRpKernel_GetLogger_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRpKernel_GetKernelNode_Proxy( 
    IRpKernel * This,
    /* [retval][out] */ IRnKernel **pNode);


void __RPC_STUB IRpKernel_GetKernelNode_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRpKernel_SetKernelNode_Proxy( 
    IRpKernel * This,
    /* [in] */ IRsNode *pNode);


void __RPC_STUB IRpKernel_SetKernelNode_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRpKernel_get_DefaultRunner_Proxy( 
    IRpKernel * This,
    /* [retval][out] */ IRsUnknownRunner **pVal);


void __RPC_STUB IRpKernel_get_DefaultRunner_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRpKernel_put_DefaultRunner_Proxy( 
    IRpKernel * This,
    /* [in] */ IRsUnknownRunner *newVal);


void __RPC_STUB IRpKernel_put_DefaultRunner_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRpKernel_GetSelectionManager_Proxy( 
    IRpKernel * This,
    /* [retval][out] */ IRsSelectionManager **ppSelMng);


void __RPC_STUB IRpKernel_GetSelectionManager_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRpKernel_GetNodeSelection_Proxy( 
    IRpKernel * This,
    /* [in] */ IRsSelectionNotification *pNotify,
    /* [retval][out] */ IRdSelNodeSelection **ppSelection);


void __RPC_STUB IRpKernel_GetNodeSelection_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRpKernel_GetAcceleratorHandlerManager_Proxy( 
    IRpKernel * This,
    /* [retval][out] */ IRsAcceleratorHandlerManager **ppManager);


void __RPC_STUB IRpKernel_GetAcceleratorHandlerManager_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRpKernel_GetGlobalAcceleratorHandler_Proxy( 
    IRpKernel * This,
    /* [retval][out] */ IRsAcceleratorHandlerGlobal **ppHandler);


void __RPC_STUB IRpKernel_GetGlobalAcceleratorHandler_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRpKernel_GetKernelFactory_Proxy( 
    IRpKernel * This,
    /* [retval][out] */ IRsKernelFactory **ppFactory);


void __RPC_STUB IRpKernel_GetKernelFactory_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRpKernel_GetPluginManager_Proxy( 
    IRpKernel * This,
    /* [retval][out] */ IRsPluginManager **ppPluginMng);


void __RPC_STUB IRpKernel_GetPluginManager_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRpKernel_AddPackageLoadPath_Proxy( 
    IRpKernel * This,
    /* [in] */ BSTR bsPath,
    /* [in] */ BOOL bInsertToFront);


void __RPC_STUB IRpKernel_AddPackageLoadPath_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRpKernel_CreateBaseNode_Proxy( 
    IRpKernel * This,
    /* [in] */ IUnknown *pOuter,
    /* [retval][out] */ IUnknown **ppBaseNode);


void __RPC_STUB IRpKernel_CreateBaseNode_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRpKernel_CreateEncapsulator_Proxy( 
    IRpKernel * This,
    /* [in] */ IUnknown *pOuter,
    /* [retval][out] */ IUnknown **ppEncapsulator);


void __RPC_STUB IRpKernel_CreateEncapsulator_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRpKernel_CreateEventLogSession_Proxy( 
    IRpKernel * This,
    /* [retval][out] */ IRsEventLogSession **ppLogSession);


void __RPC_STUB IRpKernel_CreateEventLogSession_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRpKernel_CreateBaseFnSet_Proxy( 
    IRpKernel * This,
    /* [in] */ IUnknown *pOuter,
    /* [retval][out] */ IUnknown **ppBaseSet);


void __RPC_STUB IRpKernel_CreateBaseFnSet_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRpKernel_CreateKernelFnSet_Proxy( 
    IRpKernel * This,
    /* [in] */ IUnknown *pOuter,
    /* [retval][out] */ IRfKernelSet **ppFn);


void __RPC_STUB IRpKernel_CreateKernelFnSet_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRpKernel_CreateEncapsulatorFnSet_Proxy( 
    IRpKernel * This,
    /* [retval][out] */ IRfEncapsulatorSet **ppFn);


void __RPC_STUB IRpKernel_CreateEncapsulatorFnSet_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRpKernel_CreateSystemNamedItem_Proxy( 
    IRpKernel * This,
    /* [retval][out] */ IUnknown **ppFn);


void __RPC_STUB IRpKernel_CreateSystemNamedItem_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRpKernel_CreateBSEventFn_Proxy( 
    IRpKernel * This,
    /* [retval][out] */ IRfBSEventFn **ppEventFn);


void __RPC_STUB IRpKernel_CreateBSEventFn_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRpKernel_CreateEncapsIt_Proxy( 
    IRpKernel * This,
    /* [retval][out] */ IRsEncapsIt **ppIt);


void __RPC_STUB IRpKernel_CreateEncapsIt_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRpKernel_CreateNodeFilter_Proxy( 
    IRpKernel * This,
    /* [retval][out] */ IRsNodeFilter **ppNodeFilter);


void __RPC_STUB IRpKernel_CreateNodeFilter_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRpKernel_CreateConnectionHelper_Proxy( 
    IRpKernel * This,
    /* [retval][out] */ IRfConnection **ppConHelper);


void __RPC_STUB IRpKernel_CreateConnectionHelper_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRpKernel_INTERFACE_DEFINED__ */


#ifndef __IRsSysMessageReceiver_INTERFACE_DEFINED__
#define __IRsSysMessageReceiver_INTERFACE_DEFINED__

/* interface IRsSysMessageReceiver */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsSysMessageReceiver;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("5A453E7B-FFDF-40A2-ADD4-BBA9DF4B0F79")
    IRsSysMessageReceiver : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnSysMessage( 
            /* [in] */ MSGID msgId,
            /* [in] */ IRsUnknownMsg *pMsg) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsSysMessageReceiverVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsSysMessageReceiver * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsSysMessageReceiver * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsSysMessageReceiver * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OnSysMessage )( 
            IRsSysMessageReceiver * This,
            /* [in] */ MSGID msgId,
            /* [in] */ IRsUnknownMsg *pMsg);
        
        END_INTERFACE
    } IRsSysMessageReceiverVtbl;

    interface IRsSysMessageReceiver
    {
        CONST_VTBL struct IRsSysMessageReceiverVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsSysMessageReceiver_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsSysMessageReceiver_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsSysMessageReceiver_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsSysMessageReceiver_OnSysMessage(This,msgId,pMsg)	\
    (This)->lpVtbl -> OnSysMessage(This,msgId,pMsg)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsSysMessageReceiver_OnSysMessage_Proxy( 
    IRsSysMessageReceiver * This,
    /* [in] */ MSGID msgId,
    /* [in] */ IRsUnknownMsg *pMsg);


void __RPC_STUB IRsSysMessageReceiver_OnSysMessage_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsSysMessageReceiver_INTERFACE_DEFINED__ */


#ifndef __IRcCaching_INTERFACE_DEFINED__
#define __IRcCaching_INTERFACE_DEFINED__

/* interface IRcCaching */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcCaching;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("14FB4DE5-D3DC-4606-BA52-7EFB414437B5")
    IRcCaching : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcCachingVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcCaching * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcCaching * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcCaching * This);
        
        END_INTERFACE
    } IRcCachingVtbl;

    interface IRcCaching
    {
        CONST_VTBL struct IRcCachingVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcCaching_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcCaching_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcCaching_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcCaching_INTERFACE_DEFINED__ */


#ifndef __IRcCompound_INTERFACE_DEFINED__
#define __IRcCompound_INTERFACE_DEFINED__

/* interface IRcCompound */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcCompound;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("D70124D0-8824-4A1F-8DCF-136AF96EFF94")
    IRcCompound : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddCmd( 
            /* [in] */ IRsCommand *pCmd) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRcCompoundVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcCompound * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcCompound * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcCompound * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddCmd )( 
            IRcCompound * This,
            /* [in] */ IRsCommand *pCmd);
        
        END_INTERFACE
    } IRcCompoundVtbl;

    interface IRcCompound
    {
        CONST_VTBL struct IRcCompoundVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcCompound_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcCompound_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcCompound_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRcCompound_AddCmd(This,pCmd)	\
    (This)->lpVtbl -> AddCmd(This,pCmd)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRcCompound_AddCmd_Proxy( 
    IRcCompound * This,
    /* [in] */ IRsCommand *pCmd);


void __RPC_STUB IRcCompound_AddCmd_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRcCompound_INTERFACE_DEFINED__ */


#ifndef __IRcDummy_INTERFACE_DEFINED__
#define __IRcDummy_INTERFACE_DEFINED__

/* interface IRcDummy */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcDummy;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("71F0805A-0ADB-4A1D-A7D3-03769C81D638")
    IRcDummy : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcDummyVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcDummy * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcDummy * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcDummy * This);
        
        END_INTERFACE
    } IRcDummyVtbl;

    interface IRcDummy
    {
        CONST_VTBL struct IRcDummyVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcDummy_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcDummy_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcDummy_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcDummy_INTERFACE_DEFINED__ */


/* interface __MIDL_itf__Kernel_0922 */
/* [local] */ 

typedef 
enum tagReHistoryAction
    {	HACT_LOAD	= 0,
	HACT_SAVE	= 1,
	HACT_CLEAR	= 2
    } 	ReHistoryAction;



extern RPC_IF_HANDLE __MIDL_itf__Kernel_0922_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf__Kernel_0922_v0_0_s_ifspec;

#ifndef __IRcHistory_INTERFACE_DEFINED__
#define __IRcHistory_INTERFACE_DEFINED__

/* interface IRcHistory */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcHistory;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("A41C64DF-F7EC-468C-9920-ED71E27B514E")
    IRcHistory : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcHistoryVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcHistory * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcHistory * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcHistory * This);
        
        END_INTERFACE
    } IRcHistoryVtbl;

    interface IRcHistory
    {
        CONST_VTBL struct IRcHistoryVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcHistory_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcHistory_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcHistory_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcHistory_INTERFACE_DEFINED__ */


#ifndef __IRcImportPck_INTERFACE_DEFINED__
#define __IRcImportPck_INTERFACE_DEFINED__

/* interface IRcImportPck */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcImportPck;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("F3FB6DF4-CC39-4532-A2D2-507540C322D6")
    IRcImportPck : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcImportPckVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcImportPck * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcImportPck * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcImportPck * This);
        
        END_INTERFACE
    } IRcImportPckVtbl;

    interface IRcImportPck
    {
        CONST_VTBL struct IRcImportPckVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcImportPck_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcImportPck_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcImportPck_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcImportPck_INTERFACE_DEFINED__ */


#ifndef __IRcITransition_INTERFACE_DEFINED__
#define __IRcITransition_INTERFACE_DEFINED__

/* interface IRcITransition */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcITransition;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("1DCE4E54-8D86-46DA-B62C-72FE5FE6495F")
    IRcITransition : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcITransitionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcITransition * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcITransition * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcITransition * This);
        
        END_INTERFACE
    } IRcITransitionVtbl;

    interface IRcITransition
    {
        CONST_VTBL struct IRcITransitionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcITransition_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcITransition_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcITransition_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcITransition_INTERFACE_DEFINED__ */


#ifndef __IRcListCmd_INTERFACE_DEFINED__
#define __IRcListCmd_INTERFACE_DEFINED__

/* interface IRcListCmd */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcListCmd;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("B2A14D64-7A1E-4A94-816A-9E9826ED4A92")
    IRcListCmd : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcListCmdVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcListCmd * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcListCmd * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcListCmd * This);
        
        END_INTERFACE
    } IRcListCmdVtbl;

    interface IRcListCmd
    {
        CONST_VTBL struct IRcListCmdVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcListCmd_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcListCmd_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcListCmd_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcListCmd_INTERFACE_DEFINED__ */


#ifndef __IRcPackageOp_INTERFACE_DEFINED__
#define __IRcPackageOp_INTERFACE_DEFINED__

/* interface IRcPackageOp */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcPackageOp;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("B256CBC4-14CA-473c-912C-4C96876747B1")
    IRcPackageOp : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcPackageOpVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcPackageOp * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcPackageOp * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcPackageOp * This);
        
        END_INTERFACE
    } IRcPackageOpVtbl;

    interface IRcPackageOp
    {
        CONST_VTBL struct IRcPackageOpVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcPackageOp_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcPackageOp_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcPackageOp_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcPackageOp_INTERFACE_DEFINED__ */


#ifndef __IRcRedo_INTERFACE_DEFINED__
#define __IRcRedo_INTERFACE_DEFINED__

/* interface IRcRedo */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcRedo;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("1634DCE8-350C-4240-AE80-2E207D9E4BFC")
    IRcRedo : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcRedoVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcRedo * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcRedo * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcRedo * This);
        
        END_INTERFACE
    } IRcRedoVtbl;

    interface IRcRedo
    {
        CONST_VTBL struct IRcRedoVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcRedo_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcRedo_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcRedo_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcRedo_INTERFACE_DEFINED__ */


#ifndef __IRcRootCreate_INTERFACE_DEFINED__
#define __IRcRootCreate_INTERFACE_DEFINED__

/* interface IRcRootCreate */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcRootCreate;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("2A37947E-DF4B-48F6-B1DD-AA1CA6F99356")
    IRcRootCreate : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcRootCreateVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcRootCreate * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcRootCreate * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcRootCreate * This);
        
        END_INTERFACE
    } IRcRootCreateVtbl;

    interface IRcRootCreate
    {
        CONST_VTBL struct IRcRootCreateVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcRootCreate_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcRootCreate_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcRootCreate_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcRootCreate_INTERFACE_DEFINED__ */


#ifndef __IRcRunScript_INTERFACE_DEFINED__
#define __IRcRunScript_INTERFACE_DEFINED__

/* interface IRcRunScript */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcRunScript;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("A9EA5496-4C27-4E05-8EC2-C55475E9E914")
    IRcRunScript : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcRunScriptVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcRunScript * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcRunScript * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcRunScript * This);
        
        END_INTERFACE
    } IRcRunScriptVtbl;

    interface IRcRunScript
    {
        CONST_VTBL struct IRcRunScriptVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcRunScript_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcRunScript_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcRunScript_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcRunScript_INTERFACE_DEFINED__ */


#ifndef __IRcShutDown_INTERFACE_DEFINED__
#define __IRcShutDown_INTERFACE_DEFINED__

/* interface IRcShutDown */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcShutDown;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("115D5A3A-A32D-462A-8564-185F2F175F0C")
    IRcShutDown : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcShutDownVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcShutDown * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcShutDown * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcShutDown * This);
        
        END_INTERFACE
    } IRcShutDownVtbl;

    interface IRcShutDown
    {
        CONST_VTBL struct IRcShutDownVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcShutDown_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcShutDown_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcShutDown_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcShutDown_INTERFACE_DEFINED__ */


#ifndef __IRcSysEvent_INTERFACE_DEFINED__
#define __IRcSysEvent_INTERFACE_DEFINED__

/* interface IRcSysEvent */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcSysEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("5A2AA0E6-2F1C-4B4A-89E5-A33BC44432CA")
    IRcSysEvent : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcSysEventVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcSysEvent * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcSysEvent * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcSysEvent * This);
        
        END_INTERFACE
    } IRcSysEventVtbl;

    interface IRcSysEvent
    {
        CONST_VTBL struct IRcSysEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcSysEvent_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcSysEvent_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcSysEvent_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcSysEvent_INTERFACE_DEFINED__ */


#ifndef __IRcSysReset_INTERFACE_DEFINED__
#define __IRcSysReset_INTERFACE_DEFINED__

/* interface IRcSysReset */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcSysReset;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("A95280C9-5445-40E2-8996-85B282694468")
    IRcSysReset : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcSysResetVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcSysReset * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcSysReset * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcSysReset * This);
        
        END_INTERFACE
    } IRcSysResetVtbl;

    interface IRcSysReset
    {
        CONST_VTBL struct IRcSysResetVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcSysReset_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcSysReset_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcSysReset_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcSysReset_INTERFACE_DEFINED__ */


#ifndef __IRcTick_INTERFACE_DEFINED__
#define __IRcTick_INTERFACE_DEFINED__

/* interface IRcTick */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcTick;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("47A8E891-C8A0-4E70-AF92-A4DB2C80AC4B")
    IRcTick : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcTickVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcTick * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcTick * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcTick * This);
        
        END_INTERFACE
    } IRcTickVtbl;

    interface IRcTick
    {
        CONST_VTBL struct IRcTickVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcTick_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcTick_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcTick_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcTick_INTERFACE_DEFINED__ */


#ifndef __IRcTimer_INTERFACE_DEFINED__
#define __IRcTimer_INTERFACE_DEFINED__

/* interface IRcTimer */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcTimer;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("C4EA241A-B179-4237-9BE7-256FB646404E")
    IRcTimer : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcTimerVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcTimer * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcTimer * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcTimer * This);
        
        END_INTERFACE
    } IRcTimerVtbl;

    interface IRcTimer
    {
        CONST_VTBL struct IRcTimerVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcTimer_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcTimer_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcTimer_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcTimer_INTERFACE_DEFINED__ */


#ifndef __IRcTransition_INTERFACE_DEFINED__
#define __IRcTransition_INTERFACE_DEFINED__

/* interface IRcTransition */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcTransition;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("87F47C3F-2AEF-452E-ABD1-8F8FAEC4E904")
    IRcTransition : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcTransitionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcTransition * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcTransition * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcTransition * This);
        
        END_INTERFACE
    } IRcTransitionVtbl;

    interface IRcTransition
    {
        CONST_VTBL struct IRcTransitionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcTransition_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcTransition_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcTransition_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcTransition_INTERFACE_DEFINED__ */


#ifndef __IRcUndo_INTERFACE_DEFINED__
#define __IRcUndo_INTERFACE_DEFINED__

/* interface IRcUndo */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcUndo;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("B1E5444B-FE15-446B-91F4-1342634FB21B")
    IRcUndo : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcUndoVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcUndo * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcUndo * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcUndo * This);
        
        END_INTERFACE
    } IRcUndoVtbl;

    interface IRcUndo
    {
        CONST_VTBL struct IRcUndoVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcUndo_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcUndo_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcUndo_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcUndo_INTERFACE_DEFINED__ */


#ifndef __IRdDummy_INTERFACE_DEFINED__
#define __IRdDummy_INTERFACE_DEFINED__

/* interface IRdDummy */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRdDummy;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("307ECD8A-5669-40c0-B91E-1FDE4B553E78")
    IRdDummy : public IRsDataObject
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ConvertToOriginal( 
            /* [retval][out] */ VARIANT *pValue) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ConvertToDummy( 
            /* [in] */ GUID *idDataObj,
            /* [in] */ IStream *pStream,
            /* [in] */ ULARGE_INTEGER ulObjSize) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetOriginalClassId( 
            /* [retval][out] */ GUID *pidDataObj) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetOriginalObjectStreamSize( 
            /* [retval][out] */ LARGE_INTEGER *pcbDataObjSize) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CopyOriginalStreamTo( 
            /* [in] */ IStream *pStream) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRdDummyVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRdDummy * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRdDummy * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRdDummy * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassId )( 
            IRdDummy * This,
            /* [retval][out] */ GUID *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassName )( 
            IRdDummy * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetDefault )( 
            IRdDummy * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ConvertToOriginal )( 
            IRdDummy * This,
            /* [retval][out] */ VARIANT *pValue);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ConvertToDummy )( 
            IRdDummy * This,
            /* [in] */ GUID *idDataObj,
            /* [in] */ IStream *pStream,
            /* [in] */ ULARGE_INTEGER ulObjSize);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetOriginalClassId )( 
            IRdDummy * This,
            /* [retval][out] */ GUID *pidDataObj);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetOriginalObjectStreamSize )( 
            IRdDummy * This,
            /* [retval][out] */ LARGE_INTEGER *pcbDataObjSize);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CopyOriginalStreamTo )( 
            IRdDummy * This,
            /* [in] */ IStream *pStream);
        
        END_INTERFACE
    } IRdDummyVtbl;

    interface IRdDummy
    {
        CONST_VTBL struct IRdDummyVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRdDummy_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRdDummy_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRdDummy_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRdDummy_get_ClassId(This,pVal)	\
    (This)->lpVtbl -> get_ClassId(This,pVal)

#define IRdDummy_get_ClassName(This,pVal)	\
    (This)->lpVtbl -> get_ClassName(This,pVal)


#define IRdDummy_SetDefault(This)	\
    (This)->lpVtbl -> SetDefault(This)


#define IRdDummy_ConvertToOriginal(This,pValue)	\
    (This)->lpVtbl -> ConvertToOriginal(This,pValue)

#define IRdDummy_ConvertToDummy(This,idDataObj,pStream,ulObjSize)	\
    (This)->lpVtbl -> ConvertToDummy(This,idDataObj,pStream,ulObjSize)

#define IRdDummy_GetOriginalClassId(This,pidDataObj)	\
    (This)->lpVtbl -> GetOriginalClassId(This,pidDataObj)

#define IRdDummy_GetOriginalObjectStreamSize(This,pcbDataObjSize)	\
    (This)->lpVtbl -> GetOriginalObjectStreamSize(This,pcbDataObjSize)

#define IRdDummy_CopyOriginalStreamTo(This,pStream)	\
    (This)->lpVtbl -> CopyOriginalStreamTo(This,pStream)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdDummy_ConvertToOriginal_Proxy( 
    IRdDummy * This,
    /* [retval][out] */ VARIANT *pValue);


void __RPC_STUB IRdDummy_ConvertToOriginal_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdDummy_ConvertToDummy_Proxy( 
    IRdDummy * This,
    /* [in] */ GUID *idDataObj,
    /* [in] */ IStream *pStream,
    /* [in] */ ULARGE_INTEGER ulObjSize);


void __RPC_STUB IRdDummy_ConvertToDummy_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdDummy_GetOriginalClassId_Proxy( 
    IRdDummy * This,
    /* [retval][out] */ GUID *pidDataObj);


void __RPC_STUB IRdDummy_GetOriginalClassId_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdDummy_GetOriginalObjectStreamSize_Proxy( 
    IRdDummy * This,
    /* [retval][out] */ LARGE_INTEGER *pcbDataObjSize);


void __RPC_STUB IRdDummy_GetOriginalObjectStreamSize_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdDummy_CopyOriginalStreamTo_Proxy( 
    IRdDummy * This,
    /* [in] */ IStream *pStream);


void __RPC_STUB IRdDummy_CopyOriginalStreamTo_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRdDummy_INTERFACE_DEFINED__ */


#ifndef __IRiSystemCommand_INTERFACE_DEFINED__
#define __IRiSystemCommand_INTERFACE_DEFINED__

/* interface IRiSystemCommand */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IRiSystemCommand;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("615F8050-0C39-42DB-A9C2-9AC552ADE98D")
    IRiSystemCommand : public IDispatch
    {
    public:
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Trace( 
            /* [in] */ BSTR bsText) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Alert( 
            /* [in] */ BSTR bsText) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Fatal( 
            /* [in] */ BSTR bsText) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Error( 
            /* [in] */ BSTR bsText) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Warning( 
            /* [in] */ BSTR bsText) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Info( 
            /* [in] */ BSTR bsText) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE CreateDO( 
            /* [in] */ BSTR idName,
            /* [retval][out] */ VARIANT *pVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE CloneDO( 
            /* [in] */ VARIANT vDO,
            /* [retval][out] */ VARIANT *pVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ThisName( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ThisOwner( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetMainDir( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetBusyCursor( 
            /* [in] */ RtBOOL bBusy) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SendCommandLine( 
            /* [in] */ BSTR bsScriptLine) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Question( 
            /* [in] */ BSTR bsText,
            /* [retval][out] */ VARIANT_BOOL *pVal) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRiSystemCommandVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRiSystemCommand * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRiSystemCommand * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRiSystemCommand * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IRiSystemCommand * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IRiSystemCommand * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IRiSystemCommand * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IRiSystemCommand * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Trace )( 
            IRiSystemCommand * This,
            /* [in] */ BSTR bsText);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Alert )( 
            IRiSystemCommand * This,
            /* [in] */ BSTR bsText);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Fatal )( 
            IRiSystemCommand * This,
            /* [in] */ BSTR bsText);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Error )( 
            IRiSystemCommand * This,
            /* [in] */ BSTR bsText);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Warning )( 
            IRiSystemCommand * This,
            /* [in] */ BSTR bsText);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Info )( 
            IRiSystemCommand * This,
            /* [in] */ BSTR bsText);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *CreateDO )( 
            IRiSystemCommand * This,
            /* [in] */ BSTR idName,
            /* [retval][out] */ VARIANT *pVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *CloneDO )( 
            IRiSystemCommand * This,
            /* [in] */ VARIANT vDO,
            /* [retval][out] */ VARIANT *pVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *ThisName )( 
            IRiSystemCommand * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *ThisOwner )( 
            IRiSystemCommand * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetMainDir )( 
            IRiSystemCommand * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetBusyCursor )( 
            IRiSystemCommand * This,
            /* [in] */ RtBOOL bBusy);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SendCommandLine )( 
            IRiSystemCommand * This,
            /* [in] */ BSTR bsScriptLine);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Question )( 
            IRiSystemCommand * This,
            /* [in] */ BSTR bsText,
            /* [retval][out] */ VARIANT_BOOL *pVal);
        
        END_INTERFACE
    } IRiSystemCommandVtbl;

    interface IRiSystemCommand
    {
        CONST_VTBL struct IRiSystemCommandVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRiSystemCommand_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRiSystemCommand_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRiSystemCommand_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRiSystemCommand_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IRiSystemCommand_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IRiSystemCommand_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IRiSystemCommand_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IRiSystemCommand_Trace(This,bsText)	\
    (This)->lpVtbl -> Trace(This,bsText)

#define IRiSystemCommand_Alert(This,bsText)	\
    (This)->lpVtbl -> Alert(This,bsText)

#define IRiSystemCommand_Fatal(This,bsText)	\
    (This)->lpVtbl -> Fatal(This,bsText)

#define IRiSystemCommand_Error(This,bsText)	\
    (This)->lpVtbl -> Error(This,bsText)

#define IRiSystemCommand_Warning(This,bsText)	\
    (This)->lpVtbl -> Warning(This,bsText)

#define IRiSystemCommand_Info(This,bsText)	\
    (This)->lpVtbl -> Info(This,bsText)

#define IRiSystemCommand_CreateDO(This,idName,pVal)	\
    (This)->lpVtbl -> CreateDO(This,idName,pVal)

#define IRiSystemCommand_CloneDO(This,vDO,pVal)	\
    (This)->lpVtbl -> CloneDO(This,vDO,pVal)

#define IRiSystemCommand_ThisName(This,pVal)	\
    (This)->lpVtbl -> ThisName(This,pVal)

#define IRiSystemCommand_ThisOwner(This,pVal)	\
    (This)->lpVtbl -> ThisOwner(This,pVal)

#define IRiSystemCommand_GetMainDir(This,pVal)	\
    (This)->lpVtbl -> GetMainDir(This,pVal)

#define IRiSystemCommand_SetBusyCursor(This,bBusy)	\
    (This)->lpVtbl -> SetBusyCursor(This,bBusy)

#define IRiSystemCommand_SendCommandLine(This,bsScriptLine)	\
    (This)->lpVtbl -> SendCommandLine(This,bsScriptLine)

#define IRiSystemCommand_Question(This,bsText,pVal)	\
    (This)->lpVtbl -> Question(This,bsText,pVal)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiSystemCommand_Trace_Proxy( 
    IRiSystemCommand * This,
    /* [in] */ BSTR bsText);


void __RPC_STUB IRiSystemCommand_Trace_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiSystemCommand_Alert_Proxy( 
    IRiSystemCommand * This,
    /* [in] */ BSTR bsText);


void __RPC_STUB IRiSystemCommand_Alert_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiSystemCommand_Fatal_Proxy( 
    IRiSystemCommand * This,
    /* [in] */ BSTR bsText);


void __RPC_STUB IRiSystemCommand_Fatal_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiSystemCommand_Error_Proxy( 
    IRiSystemCommand * This,
    /* [in] */ BSTR bsText);


void __RPC_STUB IRiSystemCommand_Error_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiSystemCommand_Warning_Proxy( 
    IRiSystemCommand * This,
    /* [in] */ BSTR bsText);


void __RPC_STUB IRiSystemCommand_Warning_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiSystemCommand_Info_Proxy( 
    IRiSystemCommand * This,
    /* [in] */ BSTR bsText);


void __RPC_STUB IRiSystemCommand_Info_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiSystemCommand_CreateDO_Proxy( 
    IRiSystemCommand * This,
    /* [in] */ BSTR idName,
    /* [retval][out] */ VARIANT *pVal);


void __RPC_STUB IRiSystemCommand_CreateDO_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiSystemCommand_CloneDO_Proxy( 
    IRiSystemCommand * This,
    /* [in] */ VARIANT vDO,
    /* [retval][out] */ VARIANT *pVal);


void __RPC_STUB IRiSystemCommand_CloneDO_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiSystemCommand_ThisName_Proxy( 
    IRiSystemCommand * This,
    /* [retval][out] */ BSTR *pVal);


void __RPC_STUB IRiSystemCommand_ThisName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiSystemCommand_ThisOwner_Proxy( 
    IRiSystemCommand * This,
    /* [retval][out] */ BSTR *pVal);


void __RPC_STUB IRiSystemCommand_ThisOwner_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiSystemCommand_GetMainDir_Proxy( 
    IRiSystemCommand * This,
    /* [retval][out] */ BSTR *pVal);


void __RPC_STUB IRiSystemCommand_GetMainDir_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiSystemCommand_SetBusyCursor_Proxy( 
    IRiSystemCommand * This,
    /* [in] */ RtBOOL bBusy);


void __RPC_STUB IRiSystemCommand_SetBusyCursor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiSystemCommand_SendCommandLine_Proxy( 
    IRiSystemCommand * This,
    /* [in] */ BSTR bsScriptLine);


void __RPC_STUB IRiSystemCommand_SendCommandLine_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiSystemCommand_Question_Proxy( 
    IRiSystemCommand * This,
    /* [in] */ BSTR bsText,
    /* [retval][out] */ VARIANT_BOOL *pVal);


void __RPC_STUB IRiSystemCommand_Question_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRiSystemCommand_INTERFACE_DEFINED__ */


#ifndef __IRsCmdScriptForm_INTERFACE_DEFINED__
#define __IRsCmdScriptForm_INTERFACE_DEFINED__

/* interface IRsCmdScriptForm */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsCmdScriptForm;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("1125F369-A3E9-4093-B922-D7A93030EFA1")
    IRsCmdScriptForm : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetScriptCallItems( 
            /* [out] */ BSTR *pbsNamedItem,
            /* [out] */ BSTR *pbsMethod,
            /* [out] */ RtDWORD *pnParams,
            /* [out] */ RtBool *pbProperty,
            /* [out] */ CONID *pIdPropSetValue,
            /* [out] */ RtBool *pbRetVal,
            /* [out] */ CONID *pIdRetValue) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetScriptCallParamIdByIndex( 
            /* [in] */ RtDWORD index,
            /* [out] */ CONID *pIdParam) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsCmdScriptFormVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsCmdScriptForm * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsCmdScriptForm * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsCmdScriptForm * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetScriptCallItems )( 
            IRsCmdScriptForm * This,
            /* [out] */ BSTR *pbsNamedItem,
            /* [out] */ BSTR *pbsMethod,
            /* [out] */ RtDWORD *pnParams,
            /* [out] */ RtBool *pbProperty,
            /* [out] */ CONID *pIdPropSetValue,
            /* [out] */ RtBool *pbRetVal,
            /* [out] */ CONID *pIdRetValue);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetScriptCallParamIdByIndex )( 
            IRsCmdScriptForm * This,
            /* [in] */ RtDWORD index,
            /* [out] */ CONID *pIdParam);
        
        END_INTERFACE
    } IRsCmdScriptFormVtbl;

    interface IRsCmdScriptForm
    {
        CONST_VTBL struct IRsCmdScriptFormVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsCmdScriptForm_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsCmdScriptForm_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsCmdScriptForm_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsCmdScriptForm_GetScriptCallItems(This,pbsNamedItem,pbsMethod,pnParams,pbProperty,pIdPropSetValue,pbRetVal,pIdRetValue)	\
    (This)->lpVtbl -> GetScriptCallItems(This,pbsNamedItem,pbsMethod,pnParams,pbProperty,pIdPropSetValue,pbRetVal,pIdRetValue)

#define IRsCmdScriptForm_GetScriptCallParamIdByIndex(This,index,pIdParam)	\
    (This)->lpVtbl -> GetScriptCallParamIdByIndex(This,index,pIdParam)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsCmdScriptForm_GetScriptCallItems_Proxy( 
    IRsCmdScriptForm * This,
    /* [out] */ BSTR *pbsNamedItem,
    /* [out] */ BSTR *pbsMethod,
    /* [out] */ RtDWORD *pnParams,
    /* [out] */ RtBool *pbProperty,
    /* [out] */ CONID *pIdPropSetValue,
    /* [out] */ RtBool *pbRetVal,
    /* [out] */ CONID *pIdRetValue);


void __RPC_STUB IRsCmdScriptForm_GetScriptCallItems_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsCmdScriptForm_GetScriptCallParamIdByIndex_Proxy( 
    IRsCmdScriptForm * This,
    /* [in] */ RtDWORD index,
    /* [out] */ CONID *pIdParam);


void __RPC_STUB IRsCmdScriptForm_GetScriptCallParamIdByIndex_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsCmdScriptForm_INTERFACE_DEFINED__ */


#ifndef __IRsCmdScriptFormEx_INTERFACE_DEFINED__
#define __IRsCmdScriptFormEx_INTERFACE_DEFINED__

/* interface IRsCmdScriptFormEx */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsCmdScriptFormEx;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("4917DFE8-353F-4698-9710-48AEA79C64DB")
    IRsCmdScriptFormEx : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetScriptCommandLine( 
            /* [out] */ BSTR *pbsCommandLineJS,
            /* [in] */ RtScriptDrv scriptDrv,
            /* [out] */ BSTR *pbsCommandLineInLang,
            /* [in] */ BSTR bsRetVarName,
            /* [out] */ RtBool *pbRetVal,
            /* [out] */ BSTR *pbsRetValValue) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsCmdScriptFormExVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsCmdScriptFormEx * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsCmdScriptFormEx * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsCmdScriptFormEx * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetScriptCommandLine )( 
            IRsCmdScriptFormEx * This,
            /* [out] */ BSTR *pbsCommandLineJS,
            /* [in] */ RtScriptDrv scriptDrv,
            /* [out] */ BSTR *pbsCommandLineInLang,
            /* [in] */ BSTR bsRetVarName,
            /* [out] */ RtBool *pbRetVal,
            /* [out] */ BSTR *pbsRetValValue);
        
        END_INTERFACE
    } IRsCmdScriptFormExVtbl;

    interface IRsCmdScriptFormEx
    {
        CONST_VTBL struct IRsCmdScriptFormExVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsCmdScriptFormEx_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsCmdScriptFormEx_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsCmdScriptFormEx_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsCmdScriptFormEx_GetScriptCommandLine(This,pbsCommandLineJS,scriptDrv,pbsCommandLineInLang,bsRetVarName,pbRetVal,pbsRetValValue)	\
    (This)->lpVtbl -> GetScriptCommandLine(This,pbsCommandLineJS,scriptDrv,pbsCommandLineInLang,bsRetVarName,pbRetVal,pbsRetValValue)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsCmdScriptFormEx_GetScriptCommandLine_Proxy( 
    IRsCmdScriptFormEx * This,
    /* [out] */ BSTR *pbsCommandLineJS,
    /* [in] */ RtScriptDrv scriptDrv,
    /* [out] */ BSTR *pbsCommandLineInLang,
    /* [in] */ BSTR bsRetVarName,
    /* [out] */ RtBool *pbRetVal,
    /* [out] */ BSTR *pbsRetValValue);


void __RPC_STUB IRsCmdScriptFormEx_GetScriptCommandLine_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsCmdScriptFormEx_INTERFACE_DEFINED__ */


#ifndef __IRiApp_INTERFACE_DEFINED__
#define __IRiApp_INTERFACE_DEFINED__

/* interface IRiApp */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IRiApp;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("38665332-CD00-4eee-9371-200770B336D4")
    IRiApp : public IDispatch
    {
    public:
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Shutdown( void) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Help( void) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Undo( void) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Redo( void) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE RunScript( 
            /* [in] */ BSTR fileName) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE TimerActivate( 
            /* [in] */ BSTR szTimerName,
            /* [in] */ RtUlong dwPeriod) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE TimerDeactivate( 
            /* [in] */ BSTR szTimerName) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ImportPackage( 
            /* [in] */ BSTR bsPackageName) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE RootCreate( void) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetCachingMode( 
            /* [in] */ BSTR cachingMode,
            /* [in] */ BOOL bUpdate) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE CreateLogHandler( 
            /* [in] */ BSTR clsid,
            /* [retval][out] */ RtUlong *pHandlerId) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE DestroyLogHandler( 
            /* [in] */ RtUlong handlerId) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Reset( void) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SendCustomEvent( 
            /* [in] */ BSTR bsNodeName,
            /* [in] */ VARIANT vCustomData) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SuspendLogHandler( 
            /* [in] */ RtUlong handlerId,
            /* [in] */ BOOL bSuspend) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SuspendLogHandlers( 
            /* [in] */ BOOL bSuspend) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ClearHistory( void) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE AllTimersDeactivate( 
            /* [in] */ BSTR szEncapsName) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE RunScriptBuffer( 
            /* [in] */ BSTR Buffer) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_HistoryLength( 
            /* [retval][out] */ RtUlong *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_HistoryLength( 
            /* [in] */ RtUlong newVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE AddPackageLoadPath( 
            /* [in] */ BSTR bsPath,
            /* [in] */ BOOL bInsertToFront) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE EnableCrashReporting( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRiAppVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRiApp * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRiApp * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRiApp * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IRiApp * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IRiApp * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IRiApp * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IRiApp * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Shutdown )( 
            IRiApp * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Help )( 
            IRiApp * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Undo )( 
            IRiApp * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Redo )( 
            IRiApp * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *RunScript )( 
            IRiApp * This,
            /* [in] */ BSTR fileName);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *TimerActivate )( 
            IRiApp * This,
            /* [in] */ BSTR szTimerName,
            /* [in] */ RtUlong dwPeriod);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *TimerDeactivate )( 
            IRiApp * This,
            /* [in] */ BSTR szTimerName);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *ImportPackage )( 
            IRiApp * This,
            /* [in] */ BSTR bsPackageName);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *RootCreate )( 
            IRiApp * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetCachingMode )( 
            IRiApp * This,
            /* [in] */ BSTR cachingMode,
            /* [in] */ BOOL bUpdate);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *CreateLogHandler )( 
            IRiApp * This,
            /* [in] */ BSTR clsid,
            /* [retval][out] */ RtUlong *pHandlerId);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *DestroyLogHandler )( 
            IRiApp * This,
            /* [in] */ RtUlong handlerId);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Reset )( 
            IRiApp * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SendCustomEvent )( 
            IRiApp * This,
            /* [in] */ BSTR bsNodeName,
            /* [in] */ VARIANT vCustomData);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SuspendLogHandler )( 
            IRiApp * This,
            /* [in] */ RtUlong handlerId,
            /* [in] */ BOOL bSuspend);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SuspendLogHandlers )( 
            IRiApp * This,
            /* [in] */ BOOL bSuspend);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *ClearHistory )( 
            IRiApp * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *AllTimersDeactivate )( 
            IRiApp * This,
            /* [in] */ BSTR szEncapsName);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *RunScriptBuffer )( 
            IRiApp * This,
            /* [in] */ BSTR Buffer);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HistoryLength )( 
            IRiApp * This,
            /* [retval][out] */ RtUlong *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_HistoryLength )( 
            IRiApp * This,
            /* [in] */ RtUlong newVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *AddPackageLoadPath )( 
            IRiApp * This,
            /* [in] */ BSTR bsPath,
            /* [in] */ BOOL bInsertToFront);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *EnableCrashReporting )( 
            IRiApp * This);
        
        END_INTERFACE
    } IRiAppVtbl;

    interface IRiApp
    {
        CONST_VTBL struct IRiAppVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRiApp_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRiApp_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRiApp_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRiApp_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IRiApp_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IRiApp_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IRiApp_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IRiApp_Shutdown(This)	\
    (This)->lpVtbl -> Shutdown(This)

#define IRiApp_Help(This)	\
    (This)->lpVtbl -> Help(This)

#define IRiApp_Undo(This)	\
    (This)->lpVtbl -> Undo(This)

#define IRiApp_Redo(This)	\
    (This)->lpVtbl -> Redo(This)

#define IRiApp_RunScript(This,fileName)	\
    (This)->lpVtbl -> RunScript(This,fileName)

#define IRiApp_TimerActivate(This,szTimerName,dwPeriod)	\
    (This)->lpVtbl -> TimerActivate(This,szTimerName,dwPeriod)

#define IRiApp_TimerDeactivate(This,szTimerName)	\
    (This)->lpVtbl -> TimerDeactivate(This,szTimerName)

#define IRiApp_ImportPackage(This,bsPackageName)	\
    (This)->lpVtbl -> ImportPackage(This,bsPackageName)

#define IRiApp_RootCreate(This)	\
    (This)->lpVtbl -> RootCreate(This)

#define IRiApp_SetCachingMode(This,cachingMode,bUpdate)	\
    (This)->lpVtbl -> SetCachingMode(This,cachingMode,bUpdate)

#define IRiApp_CreateLogHandler(This,clsid,pHandlerId)	\
    (This)->lpVtbl -> CreateLogHandler(This,clsid,pHandlerId)

#define IRiApp_DestroyLogHandler(This,handlerId)	\
    (This)->lpVtbl -> DestroyLogHandler(This,handlerId)

#define IRiApp_Reset(This)	\
    (This)->lpVtbl -> Reset(This)

#define IRiApp_SendCustomEvent(This,bsNodeName,vCustomData)	\
    (This)->lpVtbl -> SendCustomEvent(This,bsNodeName,vCustomData)

#define IRiApp_SuspendLogHandler(This,handlerId,bSuspend)	\
    (This)->lpVtbl -> SuspendLogHandler(This,handlerId,bSuspend)

#define IRiApp_SuspendLogHandlers(This,bSuspend)	\
    (This)->lpVtbl -> SuspendLogHandlers(This,bSuspend)

#define IRiApp_ClearHistory(This)	\
    (This)->lpVtbl -> ClearHistory(This)

#define IRiApp_AllTimersDeactivate(This,szEncapsName)	\
    (This)->lpVtbl -> AllTimersDeactivate(This,szEncapsName)

#define IRiApp_RunScriptBuffer(This,Buffer)	\
    (This)->lpVtbl -> RunScriptBuffer(This,Buffer)

#define IRiApp_get_HistoryLength(This,pVal)	\
    (This)->lpVtbl -> get_HistoryLength(This,pVal)

#define IRiApp_put_HistoryLength(This,newVal)	\
    (This)->lpVtbl -> put_HistoryLength(This,newVal)

#define IRiApp_AddPackageLoadPath(This,bsPath,bInsertToFront)	\
    (This)->lpVtbl -> AddPackageLoadPath(This,bsPath,bInsertToFront)

#define IRiApp_EnableCrashReporting(This)	\
    (This)->lpVtbl -> EnableCrashReporting(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiApp_Shutdown_Proxy( 
    IRiApp * This);


void __RPC_STUB IRiApp_Shutdown_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiApp_Help_Proxy( 
    IRiApp * This);


void __RPC_STUB IRiApp_Help_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiApp_Undo_Proxy( 
    IRiApp * This);


void __RPC_STUB IRiApp_Undo_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiApp_Redo_Proxy( 
    IRiApp * This);


void __RPC_STUB IRiApp_Redo_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiApp_RunScript_Proxy( 
    IRiApp * This,
    /* [in] */ BSTR fileName);


void __RPC_STUB IRiApp_RunScript_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiApp_TimerActivate_Proxy( 
    IRiApp * This,
    /* [in] */ BSTR szTimerName,
    /* [in] */ RtUlong dwPeriod);


void __RPC_STUB IRiApp_TimerActivate_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiApp_TimerDeactivate_Proxy( 
    IRiApp * This,
    /* [in] */ BSTR szTimerName);


void __RPC_STUB IRiApp_TimerDeactivate_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiApp_ImportPackage_Proxy( 
    IRiApp * This,
    /* [in] */ BSTR bsPackageName);


void __RPC_STUB IRiApp_ImportPackage_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiApp_RootCreate_Proxy( 
    IRiApp * This);


void __RPC_STUB IRiApp_RootCreate_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiApp_SetCachingMode_Proxy( 
    IRiApp * This,
    /* [in] */ BSTR cachingMode,
    /* [in] */ BOOL bUpdate);


void __RPC_STUB IRiApp_SetCachingMode_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiApp_CreateLogHandler_Proxy( 
    IRiApp * This,
    /* [in] */ BSTR clsid,
    /* [retval][out] */ RtUlong *pHandlerId);


void __RPC_STUB IRiApp_CreateLogHandler_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiApp_DestroyLogHandler_Proxy( 
    IRiApp * This,
    /* [in] */ RtUlong handlerId);


void __RPC_STUB IRiApp_DestroyLogHandler_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiApp_Reset_Proxy( 
    IRiApp * This);


void __RPC_STUB IRiApp_Reset_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiApp_SendCustomEvent_Proxy( 
    IRiApp * This,
    /* [in] */ BSTR bsNodeName,
    /* [in] */ VARIANT vCustomData);


void __RPC_STUB IRiApp_SendCustomEvent_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiApp_SuspendLogHandler_Proxy( 
    IRiApp * This,
    /* [in] */ RtUlong handlerId,
    /* [in] */ BOOL bSuspend);


void __RPC_STUB IRiApp_SuspendLogHandler_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiApp_SuspendLogHandlers_Proxy( 
    IRiApp * This,
    /* [in] */ BOOL bSuspend);


void __RPC_STUB IRiApp_SuspendLogHandlers_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiApp_ClearHistory_Proxy( 
    IRiApp * This);


void __RPC_STUB IRiApp_ClearHistory_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiApp_AllTimersDeactivate_Proxy( 
    IRiApp * This,
    /* [in] */ BSTR szEncapsName);


void __RPC_STUB IRiApp_AllTimersDeactivate_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiApp_RunScriptBuffer_Proxy( 
    IRiApp * This,
    /* [in] */ BSTR Buffer);


void __RPC_STUB IRiApp_RunScriptBuffer_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IRiApp_get_HistoryLength_Proxy( 
    IRiApp * This,
    /* [retval][out] */ RtUlong *pVal);


void __RPC_STUB IRiApp_get_HistoryLength_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IRiApp_put_HistoryLength_Proxy( 
    IRiApp * This,
    /* [in] */ RtUlong newVal);


void __RPC_STUB IRiApp_put_HistoryLength_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiApp_AddPackageLoadPath_Proxy( 
    IRiApp * This,
    /* [in] */ BSTR bsPath,
    /* [in] */ BOOL bInsertToFront);


void __RPC_STUB IRiApp_AddPackageLoadPath_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiApp_EnableCrashReporting_Proxy( 
    IRiApp * This);


void __RPC_STUB IRiApp_EnableCrashReporting_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRiApp_INTERFACE_DEFINED__ */


#ifndef __IRiPackage_INTERFACE_DEFINED__
#define __IRiPackage_INTERFACE_DEFINED__

/* interface IRiPackage */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IRiPackage;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3E1B8B26-8DA7-4207-B030-7E94139B0BA5")
    IRiPackage : public IDispatch
    {
    public:
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Install( 
            /* [in] */ BSTR bszFileName) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Uninstall( 
            /* [in] */ BSTR bszPackageName) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Load( 
            /* [in] */ BSTR bszPackageName) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Unload( 
            /* [in] */ BSTR bszPackageName) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Import( 
            /* [in] */ BSTR bszConfigFile) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRiPackageVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRiPackage * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRiPackage * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRiPackage * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IRiPackage * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IRiPackage * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IRiPackage * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IRiPackage * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Install )( 
            IRiPackage * This,
            /* [in] */ BSTR bszFileName);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Uninstall )( 
            IRiPackage * This,
            /* [in] */ BSTR bszPackageName);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Load )( 
            IRiPackage * This,
            /* [in] */ BSTR bszPackageName);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Unload )( 
            IRiPackage * This,
            /* [in] */ BSTR bszPackageName);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Import )( 
            IRiPackage * This,
            /* [in] */ BSTR bszConfigFile);
        
        END_INTERFACE
    } IRiPackageVtbl;

    interface IRiPackage
    {
        CONST_VTBL struct IRiPackageVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRiPackage_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRiPackage_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRiPackage_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRiPackage_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IRiPackage_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IRiPackage_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IRiPackage_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IRiPackage_Install(This,bszFileName)	\
    (This)->lpVtbl -> Install(This,bszFileName)

#define IRiPackage_Uninstall(This,bszPackageName)	\
    (This)->lpVtbl -> Uninstall(This,bszPackageName)

#define IRiPackage_Load(This,bszPackageName)	\
    (This)->lpVtbl -> Load(This,bszPackageName)

#define IRiPackage_Unload(This,bszPackageName)	\
    (This)->lpVtbl -> Unload(This,bszPackageName)

#define IRiPackage_Import(This,bszConfigFile)	\
    (This)->lpVtbl -> Import(This,bszConfigFile)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiPackage_Install_Proxy( 
    IRiPackage * This,
    /* [in] */ BSTR bszFileName);


void __RPC_STUB IRiPackage_Install_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiPackage_Uninstall_Proxy( 
    IRiPackage * This,
    /* [in] */ BSTR bszPackageName);


void __RPC_STUB IRiPackage_Uninstall_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiPackage_Load_Proxy( 
    IRiPackage * This,
    /* [in] */ BSTR bszPackageName);


void __RPC_STUB IRiPackage_Load_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiPackage_Unload_Proxy( 
    IRiPackage * This,
    /* [in] */ BSTR bszPackageName);


void __RPC_STUB IRiPackage_Unload_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiPackage_Import_Proxy( 
    IRiPackage * This,
    /* [in] */ BSTR bszConfigFile);


void __RPC_STUB IRiPackage_Import_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRiPackage_INTERFACE_DEFINED__ */


#ifndef __IRnActiveSel_INTERFACE_DEFINED__
#define __IRnActiveSel_INTERFACE_DEFINED__

/* interface IRnActiveSel */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnActiveSel;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("CC1BA6C5-2C76-4C27-9A43-1F36DEDA7FBF")
    IRnActiveSel : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRnActiveSelVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnActiveSel * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnActiveSel * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnActiveSel * This);
        
        END_INTERFACE
    } IRnActiveSelVtbl;

    interface IRnActiveSel
    {
        CONST_VTBL struct IRnActiveSelVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnActiveSel_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnActiveSel_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnActiveSel_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRnActiveSel_INTERFACE_DEFINED__ */


#ifndef __IRnDummy_INTERFACE_DEFINED__
#define __IRnDummy_INTERFACE_DEFINED__

/* interface IRnDummy */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnDummy;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("516DE067-4BF1-4178-9B29-72B4B119FA6B")
    IRnDummy : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRnDummyVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnDummy * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnDummy * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnDummy * This);
        
        END_INTERFACE
    } IRnDummyVtbl;

    interface IRnDummy
    {
        CONST_VTBL struct IRnDummyVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnDummy_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnDummy_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnDummy_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRnDummy_INTERFACE_DEFINED__ */


#ifndef __IRnDummyEncaps_INTERFACE_DEFINED__
#define __IRnDummyEncaps_INTERFACE_DEFINED__

/* interface IRnDummyEncaps */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnDummyEncaps;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("780C58EC-66DC-46aa-90B9-C516C3B4F16F")
    IRnDummyEncaps : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRnDummyEncapsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnDummyEncaps * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnDummyEncaps * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnDummyEncaps * This);
        
        END_INTERFACE
    } IRnDummyEncapsVtbl;

    interface IRnDummyEncaps
    {
        CONST_VTBL struct IRnDummyEncapsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnDummyEncaps_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnDummyEncaps_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnDummyEncaps_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRnDummyEncaps_INTERFACE_DEFINED__ */


#ifndef __IRsViewNode_INTERFACE_DEFINED__
#define __IRsViewNode_INTERFACE_DEFINED__

/* interface IRsViewNode */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsViewNode;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("F46F7C1F-E7A7-4e77-BEC3-E254217566CC")
    IRsViewNode : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AttachViewWindowHandle( 
            /* [in] */ HWND hWnd) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Prepare( 
            /* [in] */ BSTR bsRootNodeName) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE PostShowUpdate( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnWndDestroy( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnSetRoot( 
            /* [in] */ BSTR bsRootNodeName) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE IsValidRoot( 
            /* [in] */ IRsNode *pRootNode) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Dimension( 
            /* [retval][out] */ RtDimension *pVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ExitControl( 
            /* [retval][out] */ RtBool *pVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ShortName( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CanSwitchToNow( 
            /* [retval][out] */ RtBool *pVal) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsViewNodeVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsViewNode * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsViewNode * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsViewNode * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AttachViewWindowHandle )( 
            IRsViewNode * This,
            /* [in] */ HWND hWnd);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Prepare )( 
            IRsViewNode * This,
            /* [in] */ BSTR bsRootNodeName);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *PostShowUpdate )( 
            IRsViewNode * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OnWndDestroy )( 
            IRsViewNode * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OnSetRoot )( 
            IRsViewNode * This,
            /* [in] */ BSTR bsRootNodeName);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *IsValidRoot )( 
            IRsViewNode * This,
            /* [in] */ IRsNode *pRootNode);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Dimension )( 
            IRsViewNode * This,
            /* [retval][out] */ RtDimension *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ExitControl )( 
            IRsViewNode * This,
            /* [retval][out] */ RtBool *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ShortName )( 
            IRsViewNode * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CanSwitchToNow )( 
            IRsViewNode * This,
            /* [retval][out] */ RtBool *pVal);
        
        END_INTERFACE
    } IRsViewNodeVtbl;

    interface IRsViewNode
    {
        CONST_VTBL struct IRsViewNodeVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsViewNode_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsViewNode_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsViewNode_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsViewNode_AttachViewWindowHandle(This,hWnd)	\
    (This)->lpVtbl -> AttachViewWindowHandle(This,hWnd)

#define IRsViewNode_Prepare(This,bsRootNodeName)	\
    (This)->lpVtbl -> Prepare(This,bsRootNodeName)

#define IRsViewNode_PostShowUpdate(This)	\
    (This)->lpVtbl -> PostShowUpdate(This)

#define IRsViewNode_OnWndDestroy(This)	\
    (This)->lpVtbl -> OnWndDestroy(This)

#define IRsViewNode_OnSetRoot(This,bsRootNodeName)	\
    (This)->lpVtbl -> OnSetRoot(This,bsRootNodeName)

#define IRsViewNode_IsValidRoot(This,pRootNode)	\
    (This)->lpVtbl -> IsValidRoot(This,pRootNode)

#define IRsViewNode_get_Dimension(This,pVal)	\
    (This)->lpVtbl -> get_Dimension(This,pVal)

#define IRsViewNode_get_ExitControl(This,pVal)	\
    (This)->lpVtbl -> get_ExitControl(This,pVal)

#define IRsViewNode_get_ShortName(This,pVal)	\
    (This)->lpVtbl -> get_ShortName(This,pVal)

#define IRsViewNode_CanSwitchToNow(This,pVal)	\
    (This)->lpVtbl -> CanSwitchToNow(This,pVal)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsViewNode_AttachViewWindowHandle_Proxy( 
    IRsViewNode * This,
    /* [in] */ HWND hWnd);


void __RPC_STUB IRsViewNode_AttachViewWindowHandle_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsViewNode_Prepare_Proxy( 
    IRsViewNode * This,
    /* [in] */ BSTR bsRootNodeName);


void __RPC_STUB IRsViewNode_Prepare_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsViewNode_PostShowUpdate_Proxy( 
    IRsViewNode * This);


void __RPC_STUB IRsViewNode_PostShowUpdate_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsViewNode_OnWndDestroy_Proxy( 
    IRsViewNode * This);


void __RPC_STUB IRsViewNode_OnWndDestroy_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsViewNode_OnSetRoot_Proxy( 
    IRsViewNode * This,
    /* [in] */ BSTR bsRootNodeName);


void __RPC_STUB IRsViewNode_OnSetRoot_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsViewNode_IsValidRoot_Proxy( 
    IRsViewNode * This,
    /* [in] */ IRsNode *pRootNode);


void __RPC_STUB IRsViewNode_IsValidRoot_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRsViewNode_get_Dimension_Proxy( 
    IRsViewNode * This,
    /* [retval][out] */ RtDimension *pVal);


void __RPC_STUB IRsViewNode_get_Dimension_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRsViewNode_get_ExitControl_Proxy( 
    IRsViewNode * This,
    /* [retval][out] */ RtBool *pVal);


void __RPC_STUB IRsViewNode_get_ExitControl_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRsViewNode_get_ShortName_Proxy( 
    IRsViewNode * This,
    /* [retval][out] */ BSTR *pVal);


void __RPC_STUB IRsViewNode_get_ShortName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsViewNode_CanSwitchToNow_Proxy( 
    IRsViewNode * This,
    /* [retval][out] */ RtBool *pVal);


void __RPC_STUB IRsViewNode_CanSwitchToNow_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsViewNode_INTERFACE_DEFINED__ */


#ifndef __IRsDockedWindow_INTERFACE_DEFINED__
#define __IRsDockedWindow_INTERFACE_DEFINED__

/* interface IRsDockedWindow */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsDockedWindow;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("DD44E750-94F8-4c23-8B1E-EED70E01FDD3")
    IRsDockedWindow : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnMove( 
            /* [in] */ RtShort sDeltaX,
            /* [in] */ RtShort sDeltaY) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnResize( 
            /* [in] */ RtShort sLeft,
            /* [in] */ RtShort sTop,
            /* [in] */ RtShort sWidth,
            /* [in] */ RtShort sHeight) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE UpdatePosition( void) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_TargetCorner( 
            /* [retval][out] */ RtShort *pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_TargetCorner( 
            /* [in] */ RtShort newVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DockedCorner( 
            /* [retval][out] */ RtShort *pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_DockedCorner( 
            /* [in] */ RtShort newVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Docked( 
            /* [retval][out] */ RtBool *pVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_OffsetX( 
            /* [retval][out] */ RtShort *pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_OffsetX( 
            /* [in] */ RtShort newVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_OffsetY( 
            /* [retval][out] */ RtShort *pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_OffsetY( 
            /* [in] */ RtShort newVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DockingTarget( 
            /* [retval][out] */ IUnknown **ppVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_DockingTarget( 
            /* [in] */ IUnknown *pVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DockingRectangle( 
            /* [retval][out] */ RECT *pVal) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsDockedWindowVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsDockedWindow * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsDockedWindow * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsDockedWindow * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OnMove )( 
            IRsDockedWindow * This,
            /* [in] */ RtShort sDeltaX,
            /* [in] */ RtShort sDeltaY);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OnResize )( 
            IRsDockedWindow * This,
            /* [in] */ RtShort sLeft,
            /* [in] */ RtShort sTop,
            /* [in] */ RtShort sWidth,
            /* [in] */ RtShort sHeight);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *UpdatePosition )( 
            IRsDockedWindow * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TargetCorner )( 
            IRsDockedWindow * This,
            /* [retval][out] */ RtShort *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TargetCorner )( 
            IRsDockedWindow * This,
            /* [in] */ RtShort newVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DockedCorner )( 
            IRsDockedWindow * This,
            /* [retval][out] */ RtShort *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DockedCorner )( 
            IRsDockedWindow * This,
            /* [in] */ RtShort newVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Docked )( 
            IRsDockedWindow * This,
            /* [retval][out] */ RtBool *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_OffsetX )( 
            IRsDockedWindow * This,
            /* [retval][out] */ RtShort *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_OffsetX )( 
            IRsDockedWindow * This,
            /* [in] */ RtShort newVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_OffsetY )( 
            IRsDockedWindow * This,
            /* [retval][out] */ RtShort *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_OffsetY )( 
            IRsDockedWindow * This,
            /* [in] */ RtShort newVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DockingTarget )( 
            IRsDockedWindow * This,
            /* [retval][out] */ IUnknown **ppVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DockingTarget )( 
            IRsDockedWindow * This,
            /* [in] */ IUnknown *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DockingRectangle )( 
            IRsDockedWindow * This,
            /* [retval][out] */ RECT *pVal);
        
        END_INTERFACE
    } IRsDockedWindowVtbl;

    interface IRsDockedWindow
    {
        CONST_VTBL struct IRsDockedWindowVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsDockedWindow_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsDockedWindow_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsDockedWindow_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsDockedWindow_OnMove(This,sDeltaX,sDeltaY)	\
    (This)->lpVtbl -> OnMove(This,sDeltaX,sDeltaY)

#define IRsDockedWindow_OnResize(This,sLeft,sTop,sWidth,sHeight)	\
    (This)->lpVtbl -> OnResize(This,sLeft,sTop,sWidth,sHeight)

#define IRsDockedWindow_UpdatePosition(This)	\
    (This)->lpVtbl -> UpdatePosition(This)

#define IRsDockedWindow_get_TargetCorner(This,pVal)	\
    (This)->lpVtbl -> get_TargetCorner(This,pVal)

#define IRsDockedWindow_put_TargetCorner(This,newVal)	\
    (This)->lpVtbl -> put_TargetCorner(This,newVal)

#define IRsDockedWindow_get_DockedCorner(This,pVal)	\
    (This)->lpVtbl -> get_DockedCorner(This,pVal)

#define IRsDockedWindow_put_DockedCorner(This,newVal)	\
    (This)->lpVtbl -> put_DockedCorner(This,newVal)

#define IRsDockedWindow_get_Docked(This,pVal)	\
    (This)->lpVtbl -> get_Docked(This,pVal)

#define IRsDockedWindow_get_OffsetX(This,pVal)	\
    (This)->lpVtbl -> get_OffsetX(This,pVal)

#define IRsDockedWindow_put_OffsetX(This,newVal)	\
    (This)->lpVtbl -> put_OffsetX(This,newVal)

#define IRsDockedWindow_get_OffsetY(This,pVal)	\
    (This)->lpVtbl -> get_OffsetY(This,pVal)

#define IRsDockedWindow_put_OffsetY(This,newVal)	\
    (This)->lpVtbl -> put_OffsetY(This,newVal)

#define IRsDockedWindow_get_DockingTarget(This,ppVal)	\
    (This)->lpVtbl -> get_DockingTarget(This,ppVal)

#define IRsDockedWindow_put_DockingTarget(This,pVal)	\
    (This)->lpVtbl -> put_DockingTarget(This,pVal)

#define IRsDockedWindow_get_DockingRectangle(This,pVal)	\
    (This)->lpVtbl -> get_DockingRectangle(This,pVal)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsDockedWindow_OnMove_Proxy( 
    IRsDockedWindow * This,
    /* [in] */ RtShort sDeltaX,
    /* [in] */ RtShort sDeltaY);


void __RPC_STUB IRsDockedWindow_OnMove_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsDockedWindow_OnResize_Proxy( 
    IRsDockedWindow * This,
    /* [in] */ RtShort sLeft,
    /* [in] */ RtShort sTop,
    /* [in] */ RtShort sWidth,
    /* [in] */ RtShort sHeight);


void __RPC_STUB IRsDockedWindow_OnResize_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsDockedWindow_UpdatePosition_Proxy( 
    IRsDockedWindow * This);


void __RPC_STUB IRsDockedWindow_UpdatePosition_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRsDockedWindow_get_TargetCorner_Proxy( 
    IRsDockedWindow * This,
    /* [retval][out] */ RtShort *pVal);


void __RPC_STUB IRsDockedWindow_get_TargetCorner_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRsDockedWindow_put_TargetCorner_Proxy( 
    IRsDockedWindow * This,
    /* [in] */ RtShort newVal);


void __RPC_STUB IRsDockedWindow_put_TargetCorner_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRsDockedWindow_get_DockedCorner_Proxy( 
    IRsDockedWindow * This,
    /* [retval][out] */ RtShort *pVal);


void __RPC_STUB IRsDockedWindow_get_DockedCorner_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRsDockedWindow_put_DockedCorner_Proxy( 
    IRsDockedWindow * This,
    /* [in] */ RtShort newVal);


void __RPC_STUB IRsDockedWindow_put_DockedCorner_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRsDockedWindow_get_Docked_Proxy( 
    IRsDockedWindow * This,
    /* [retval][out] */ RtBool *pVal);


void __RPC_STUB IRsDockedWindow_get_Docked_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRsDockedWindow_get_OffsetX_Proxy( 
    IRsDockedWindow * This,
    /* [retval][out] */ RtShort *pVal);


void __RPC_STUB IRsDockedWindow_get_OffsetX_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRsDockedWindow_put_OffsetX_Proxy( 
    IRsDockedWindow * This,
    /* [in] */ RtShort newVal);


void __RPC_STUB IRsDockedWindow_put_OffsetX_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRsDockedWindow_get_OffsetY_Proxy( 
    IRsDockedWindow * This,
    /* [retval][out] */ RtShort *pVal);


void __RPC_STUB IRsDockedWindow_get_OffsetY_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRsDockedWindow_put_OffsetY_Proxy( 
    IRsDockedWindow * This,
    /* [in] */ RtShort newVal);


void __RPC_STUB IRsDockedWindow_put_OffsetY_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRsDockedWindow_get_DockingTarget_Proxy( 
    IRsDockedWindow * This,
    /* [retval][out] */ IUnknown **ppVal);


void __RPC_STUB IRsDockedWindow_get_DockingTarget_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRsDockedWindow_put_DockingTarget_Proxy( 
    IRsDockedWindow * This,
    /* [in] */ IUnknown *pVal);


void __RPC_STUB IRsDockedWindow_put_DockingTarget_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRsDockedWindow_get_DockingRectangle_Proxy( 
    IRsDockedWindow * This,
    /* [retval][out] */ RECT *pVal);


void __RPC_STUB IRsDockedWindow_get_DockingRectangle_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsDockedWindow_INTERFACE_DEFINED__ */


#ifndef __IRsDockingTarget_INTERFACE_DEFINED__
#define __IRsDockingTarget_INTERFACE_DEFINED__

/* interface IRsDockingTarget */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsDockingTarget;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("27B12EE6-37C2-4cc7-A2D4-FD35563E9FDB")
    IRsDockingTarget : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddDockedWindow( 
            /* [in] */ IRsDockedWindow *pDockedWindow) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RemoveDockedWindow( 
            /* [in] */ IRsDockedWindow *pDockedWindow) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DockingRectangle( 
            /* [retval][out] */ RECT *pVal) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsDockingTargetVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsDockingTarget * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsDockingTarget * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsDockingTarget * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddDockedWindow )( 
            IRsDockingTarget * This,
            /* [in] */ IRsDockedWindow *pDockedWindow);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RemoveDockedWindow )( 
            IRsDockingTarget * This,
            /* [in] */ IRsDockedWindow *pDockedWindow);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DockingRectangle )( 
            IRsDockingTarget * This,
            /* [retval][out] */ RECT *pVal);
        
        END_INTERFACE
    } IRsDockingTargetVtbl;

    interface IRsDockingTarget
    {
        CONST_VTBL struct IRsDockingTargetVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsDockingTarget_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsDockingTarget_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsDockingTarget_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsDockingTarget_AddDockedWindow(This,pDockedWindow)	\
    (This)->lpVtbl -> AddDockedWindow(This,pDockedWindow)

#define IRsDockingTarget_RemoveDockedWindow(This,pDockedWindow)	\
    (This)->lpVtbl -> RemoveDockedWindow(This,pDockedWindow)

#define IRsDockingTarget_get_DockingRectangle(This,pVal)	\
    (This)->lpVtbl -> get_DockingRectangle(This,pVal)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsDockingTarget_AddDockedWindow_Proxy( 
    IRsDockingTarget * This,
    /* [in] */ IRsDockedWindow *pDockedWindow);


void __RPC_STUB IRsDockingTarget_AddDockedWindow_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsDockingTarget_RemoveDockedWindow_Proxy( 
    IRsDockingTarget * This,
    /* [in] */ IRsDockedWindow *pDockedWindow);


void __RPC_STUB IRsDockingTarget_RemoveDockedWindow_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRsDockingTarget_get_DockingRectangle_Proxy( 
    IRsDockingTarget * This,
    /* [retval][out] */ RECT *pVal);


void __RPC_STUB IRsDockingTarget_get_DockingRectangle_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsDockingTarget_INTERFACE_DEFINED__ */


#ifndef __IRsDaDSource_INTERFACE_DEFINED__
#define __IRsDaDSource_INTERFACE_DEFINED__

/* interface IRsDaDSource */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsDaDSource;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("B270D6D1-C41D-4e36-8FFA-3AEA282FA025")
    IRsDaDSource : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetObjectUnderCursor( 
            /* [in] */ POINT pntCursor,
            /* [retval][out] */ VARIANT *pvVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetImageForDrag( 
            /* [in] */ POINT pntCursor,
            /* [retval][out] */ HBITMAP *pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnClick( 
            /* [in] */ POINT pntCursor,
            /* [in] */ RtUlong ulKey) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE DropObjectWithoutTarget( 
            /* [in] */ POINT pntCursor,
            /* [in] */ RtUlong ulKey,
            /* [in] */ VARIANT vVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AllowDropToTarget( 
            /* [in] */ POINT pntCursor,
            /* [in] */ IRsObject *pTarget,
            /* [out] */ RtBool *bOK) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE DroppedObject( 
            /* [in] */ POINT pntCursor,
            /* [in] */ RtUlong ulKey,
            /* [in] */ VARIANT vVal,
            /* [in] */ IRsObject *pDaDTarget) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsDaDSourceVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsDaDSource * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsDaDSource * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsDaDSource * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetObjectUnderCursor )( 
            IRsDaDSource * This,
            /* [in] */ POINT pntCursor,
            /* [retval][out] */ VARIANT *pvVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetImageForDrag )( 
            IRsDaDSource * This,
            /* [in] */ POINT pntCursor,
            /* [retval][out] */ HBITMAP *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OnClick )( 
            IRsDaDSource * This,
            /* [in] */ POINT pntCursor,
            /* [in] */ RtUlong ulKey);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *DropObjectWithoutTarget )( 
            IRsDaDSource * This,
            /* [in] */ POINT pntCursor,
            /* [in] */ RtUlong ulKey,
            /* [in] */ VARIANT vVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AllowDropToTarget )( 
            IRsDaDSource * This,
            /* [in] */ POINT pntCursor,
            /* [in] */ IRsObject *pTarget,
            /* [out] */ RtBool *bOK);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *DroppedObject )( 
            IRsDaDSource * This,
            /* [in] */ POINT pntCursor,
            /* [in] */ RtUlong ulKey,
            /* [in] */ VARIANT vVal,
            /* [in] */ IRsObject *pDaDTarget);
        
        END_INTERFACE
    } IRsDaDSourceVtbl;

    interface IRsDaDSource
    {
        CONST_VTBL struct IRsDaDSourceVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsDaDSource_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsDaDSource_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsDaDSource_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsDaDSource_GetObjectUnderCursor(This,pntCursor,pvVal)	\
    (This)->lpVtbl -> GetObjectUnderCursor(This,pntCursor,pvVal)

#define IRsDaDSource_GetImageForDrag(This,pntCursor,pVal)	\
    (This)->lpVtbl -> GetImageForDrag(This,pntCursor,pVal)

#define IRsDaDSource_OnClick(This,pntCursor,ulKey)	\
    (This)->lpVtbl -> OnClick(This,pntCursor,ulKey)

#define IRsDaDSource_DropObjectWithoutTarget(This,pntCursor,ulKey,vVal)	\
    (This)->lpVtbl -> DropObjectWithoutTarget(This,pntCursor,ulKey,vVal)

#define IRsDaDSource_AllowDropToTarget(This,pntCursor,pTarget,bOK)	\
    (This)->lpVtbl -> AllowDropToTarget(This,pntCursor,pTarget,bOK)

#define IRsDaDSource_DroppedObject(This,pntCursor,ulKey,vVal,pDaDTarget)	\
    (This)->lpVtbl -> DroppedObject(This,pntCursor,ulKey,vVal,pDaDTarget)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsDaDSource_GetObjectUnderCursor_Proxy( 
    IRsDaDSource * This,
    /* [in] */ POINT pntCursor,
    /* [retval][out] */ VARIANT *pvVal);


void __RPC_STUB IRsDaDSource_GetObjectUnderCursor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsDaDSource_GetImageForDrag_Proxy( 
    IRsDaDSource * This,
    /* [in] */ POINT pntCursor,
    /* [retval][out] */ HBITMAP *pVal);


void __RPC_STUB IRsDaDSource_GetImageForDrag_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsDaDSource_OnClick_Proxy( 
    IRsDaDSource * This,
    /* [in] */ POINT pntCursor,
    /* [in] */ RtUlong ulKey);


void __RPC_STUB IRsDaDSource_OnClick_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsDaDSource_DropObjectWithoutTarget_Proxy( 
    IRsDaDSource * This,
    /* [in] */ POINT pntCursor,
    /* [in] */ RtUlong ulKey,
    /* [in] */ VARIANT vVal);


void __RPC_STUB IRsDaDSource_DropObjectWithoutTarget_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsDaDSource_AllowDropToTarget_Proxy( 
    IRsDaDSource * This,
    /* [in] */ POINT pntCursor,
    /* [in] */ IRsObject *pTarget,
    /* [out] */ RtBool *bOK);


void __RPC_STUB IRsDaDSource_AllowDropToTarget_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsDaDSource_DroppedObject_Proxy( 
    IRsDaDSource * This,
    /* [in] */ POINT pntCursor,
    /* [in] */ RtUlong ulKey,
    /* [in] */ VARIANT vVal,
    /* [in] */ IRsObject *pDaDTarget);


void __RPC_STUB IRsDaDSource_DroppedObject_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsDaDSource_INTERFACE_DEFINED__ */


#ifndef __IRsDaDTarget_INTERFACE_DEFINED__
#define __IRsDaDTarget_INTERFACE_DEFINED__

/* interface IRsDaDTarget */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsDaDTarget;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("9F242EF8-CA9D-4f4c-95B8-10C4CAAB3146")
    IRsDaDTarget : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AllowHighLightDropArea( 
            /* [in] */ RtBool bHighLight) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE HighLightDropArea( 
            /* [in] */ POINT pntCursor) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CanAcceptObject( 
            /* [in] */ POINT pntCursor,
            /* [in] */ RtUlong ulKey,
            /* [in] */ VARIANT vVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE DropObject( 
            /* [in] */ POINT pntCursor,
            /* [in] */ RtUlong ulKey,
            /* [in] */ VARIANT vVal,
            /* [in] */ IRsObject *pDaDSource) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsDaDTargetVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsDaDTarget * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsDaDTarget * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsDaDTarget * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AllowHighLightDropArea )( 
            IRsDaDTarget * This,
            /* [in] */ RtBool bHighLight);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *HighLightDropArea )( 
            IRsDaDTarget * This,
            /* [in] */ POINT pntCursor);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CanAcceptObject )( 
            IRsDaDTarget * This,
            /* [in] */ POINT pntCursor,
            /* [in] */ RtUlong ulKey,
            /* [in] */ VARIANT vVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *DropObject )( 
            IRsDaDTarget * This,
            /* [in] */ POINT pntCursor,
            /* [in] */ RtUlong ulKey,
            /* [in] */ VARIANT vVal,
            /* [in] */ IRsObject *pDaDSource);
        
        END_INTERFACE
    } IRsDaDTargetVtbl;

    interface IRsDaDTarget
    {
        CONST_VTBL struct IRsDaDTargetVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsDaDTarget_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsDaDTarget_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsDaDTarget_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsDaDTarget_AllowHighLightDropArea(This,bHighLight)	\
    (This)->lpVtbl -> AllowHighLightDropArea(This,bHighLight)

#define IRsDaDTarget_HighLightDropArea(This,pntCursor)	\
    (This)->lpVtbl -> HighLightDropArea(This,pntCursor)

#define IRsDaDTarget_CanAcceptObject(This,pntCursor,ulKey,vVal)	\
    (This)->lpVtbl -> CanAcceptObject(This,pntCursor,ulKey,vVal)

#define IRsDaDTarget_DropObject(This,pntCursor,ulKey,vVal,pDaDSource)	\
    (This)->lpVtbl -> DropObject(This,pntCursor,ulKey,vVal,pDaDSource)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsDaDTarget_AllowHighLightDropArea_Proxy( 
    IRsDaDTarget * This,
    /* [in] */ RtBool bHighLight);


void __RPC_STUB IRsDaDTarget_AllowHighLightDropArea_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsDaDTarget_HighLightDropArea_Proxy( 
    IRsDaDTarget * This,
    /* [in] */ POINT pntCursor);


void __RPC_STUB IRsDaDTarget_HighLightDropArea_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsDaDTarget_CanAcceptObject_Proxy( 
    IRsDaDTarget * This,
    /* [in] */ POINT pntCursor,
    /* [in] */ RtUlong ulKey,
    /* [in] */ VARIANT vVal);


void __RPC_STUB IRsDaDTarget_CanAcceptObject_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsDaDTarget_DropObject_Proxy( 
    IRsDaDTarget * This,
    /* [in] */ POINT pntCursor,
    /* [in] */ RtUlong ulKey,
    /* [in] */ VARIANT vVal,
    /* [in] */ IRsObject *pDaDSource);


void __RPC_STUB IRsDaDTarget_DropObject_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsDaDTarget_INTERFACE_DEFINED__ */


#ifndef __IRdColor_INTERFACE_DEFINED__
#define __IRdColor_INTERFACE_DEFINED__

/* interface IRdColor */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRdColor;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("2C6E2DE1-0F81-4EAF-946A-F09A6C9A7067")
    IRdColor : public IRsDataObject
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Clear( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetRed( 
            /* [retval][out] */ float *pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetRed( 
            /* [in] */ float newVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetGreen( 
            /* [retval][out] */ float *pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetGreen( 
            /* [in] */ float newVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetBlue( 
            /* [retval][out] */ float *pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetBlue( 
            /* [in] */ float newVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetAlpha( 
            /* [retval][out] */ float *pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetAlpha( 
            /* [in] */ float newVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetRed8( 
            /* [retval][out] */ RtBYTE *pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetRed8( 
            /* [in] */ RtBYTE newVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetGreen8( 
            /* [retval][out] */ RtBYTE *pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetGreen8( 
            /* [in] */ RtBYTE newVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetBlue8( 
            /* [retval][out] */ RtBYTE *pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetBlue8( 
            /* [in] */ RtBYTE newVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetAlpha8( 
            /* [retval][out] */ RtBYTE *pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetAlpha8( 
            /* [in] */ RtBYTE newVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetColor( 
            /* [in] */ float fRed,
            /* [in] */ float fGreen,
            /* [in] */ float fBlue,
            /* [in] */ float fAlpha) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetColor( 
            /* [out] */ float *fRed,
            /* [out] */ float *fGreen,
            /* [out] */ float *fBlue,
            /* [out] */ float *fAlpha) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetColor32( 
            /* [in] */ ULONG dwColor) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetColor32( 
            /* [retval][out] */ ULONG *pdwColor) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetColorRGBA8( 
            /* [in] */ RtBYTE nRed,
            /* [in] */ RtBYTE nGreen,
            /* [in] */ RtBYTE nBlue,
            /* [in] */ RtBYTE nAlpha) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetColorARGB8( 
            /* [in] */ RtBYTE nAlpha,
            /* [in] */ RtBYTE nRed,
            /* [in] */ RtBYTE nGreen,
            /* [in] */ RtBYTE nBlue) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetColorRGBA8( 
            /* [out] */ RtBYTE *nRed,
            /* [out] */ RtBYTE *nGreen,
            /* [out] */ RtBYTE *nBlue,
            /* [out] */ RtBYTE *nAlpha) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetColorRGB8( 
            /* [in] */ RtBYTE nRed,
            /* [in] */ RtBYTE nGreen,
            /* [in] */ RtBYTE nBlue) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetColorArray( 
            /* [in] */ FLOAT *pfColors) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetColorArray( 
            /* [retval][out] */ FLOAT *pfColors) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetCOLORREF( 
            /* [in] */ COLORREF dwNewValue) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetCOLORREF( 
            /* [out] */ COLORREF *dwValue) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetColorHSL( 
            /* [in] */ float fHue,
            /* [in] */ float fSat,
            /* [in] */ float fLum) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetColorHSL( 
            /* [out] */ float *fHue,
            /* [out] */ float *fSat,
            /* [out] */ float *fLum) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetHue( 
            /* [retval][out] */ float *pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetSat( 
            /* [retval][out] */ float *pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetLum( 
            /* [retval][out] */ float *pVal) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRdColorVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRdColor * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRdColor * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRdColor * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassId )( 
            IRdColor * This,
            /* [retval][out] */ GUID *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassName )( 
            IRdColor * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetDefault )( 
            IRdColor * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Clear )( 
            IRdColor * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetRed )( 
            IRdColor * This,
            /* [retval][out] */ float *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetRed )( 
            IRdColor * This,
            /* [in] */ float newVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetGreen )( 
            IRdColor * This,
            /* [retval][out] */ float *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetGreen )( 
            IRdColor * This,
            /* [in] */ float newVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetBlue )( 
            IRdColor * This,
            /* [retval][out] */ float *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetBlue )( 
            IRdColor * This,
            /* [in] */ float newVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetAlpha )( 
            IRdColor * This,
            /* [retval][out] */ float *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetAlpha )( 
            IRdColor * This,
            /* [in] */ float newVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetRed8 )( 
            IRdColor * This,
            /* [retval][out] */ RtBYTE *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetRed8 )( 
            IRdColor * This,
            /* [in] */ RtBYTE newVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetGreen8 )( 
            IRdColor * This,
            /* [retval][out] */ RtBYTE *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetGreen8 )( 
            IRdColor * This,
            /* [in] */ RtBYTE newVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetBlue8 )( 
            IRdColor * This,
            /* [retval][out] */ RtBYTE *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetBlue8 )( 
            IRdColor * This,
            /* [in] */ RtBYTE newVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetAlpha8 )( 
            IRdColor * This,
            /* [retval][out] */ RtBYTE *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetAlpha8 )( 
            IRdColor * This,
            /* [in] */ RtBYTE newVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetColor )( 
            IRdColor * This,
            /* [in] */ float fRed,
            /* [in] */ float fGreen,
            /* [in] */ float fBlue,
            /* [in] */ float fAlpha);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetColor )( 
            IRdColor * This,
            /* [out] */ float *fRed,
            /* [out] */ float *fGreen,
            /* [out] */ float *fBlue,
            /* [out] */ float *fAlpha);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetColor32 )( 
            IRdColor * This,
            /* [in] */ ULONG dwColor);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetColor32 )( 
            IRdColor * This,
            /* [retval][out] */ ULONG *pdwColor);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetColorRGBA8 )( 
            IRdColor * This,
            /* [in] */ RtBYTE nRed,
            /* [in] */ RtBYTE nGreen,
            /* [in] */ RtBYTE nBlue,
            /* [in] */ RtBYTE nAlpha);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetColorARGB8 )( 
            IRdColor * This,
            /* [in] */ RtBYTE nAlpha,
            /* [in] */ RtBYTE nRed,
            /* [in] */ RtBYTE nGreen,
            /* [in] */ RtBYTE nBlue);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetColorRGBA8 )( 
            IRdColor * This,
            /* [out] */ RtBYTE *nRed,
            /* [out] */ RtBYTE *nGreen,
            /* [out] */ RtBYTE *nBlue,
            /* [out] */ RtBYTE *nAlpha);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetColorRGB8 )( 
            IRdColor * This,
            /* [in] */ RtBYTE nRed,
            /* [in] */ RtBYTE nGreen,
            /* [in] */ RtBYTE nBlue);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetColorArray )( 
            IRdColor * This,
            /* [in] */ FLOAT *pfColors);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetColorArray )( 
            IRdColor * This,
            /* [retval][out] */ FLOAT *pfColors);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetCOLORREF )( 
            IRdColor * This,
            /* [in] */ COLORREF dwNewValue);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetCOLORREF )( 
            IRdColor * This,
            /* [out] */ COLORREF *dwValue);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetColorHSL )( 
            IRdColor * This,
            /* [in] */ float fHue,
            /* [in] */ float fSat,
            /* [in] */ float fLum);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetColorHSL )( 
            IRdColor * This,
            /* [out] */ float *fHue,
            /* [out] */ float *fSat,
            /* [out] */ float *fLum);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetHue )( 
            IRdColor * This,
            /* [retval][out] */ float *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetSat )( 
            IRdColor * This,
            /* [retval][out] */ float *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetLum )( 
            IRdColor * This,
            /* [retval][out] */ float *pVal);
        
        END_INTERFACE
    } IRdColorVtbl;

    interface IRdColor
    {
        CONST_VTBL struct IRdColorVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRdColor_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRdColor_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRdColor_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRdColor_get_ClassId(This,pVal)	\
    (This)->lpVtbl -> get_ClassId(This,pVal)

#define IRdColor_get_ClassName(This,pVal)	\
    (This)->lpVtbl -> get_ClassName(This,pVal)


#define IRdColor_SetDefault(This)	\
    (This)->lpVtbl -> SetDefault(This)


#define IRdColor_Clear(This)	\
    (This)->lpVtbl -> Clear(This)

#define IRdColor_GetRed(This,pVal)	\
    (This)->lpVtbl -> GetRed(This,pVal)

#define IRdColor_SetRed(This,newVal)	\
    (This)->lpVtbl -> SetRed(This,newVal)

#define IRdColor_GetGreen(This,pVal)	\
    (This)->lpVtbl -> GetGreen(This,pVal)

#define IRdColor_SetGreen(This,newVal)	\
    (This)->lpVtbl -> SetGreen(This,newVal)

#define IRdColor_GetBlue(This,pVal)	\
    (This)->lpVtbl -> GetBlue(This,pVal)

#define IRdColor_SetBlue(This,newVal)	\
    (This)->lpVtbl -> SetBlue(This,newVal)

#define IRdColor_GetAlpha(This,pVal)	\
    (This)->lpVtbl -> GetAlpha(This,pVal)

#define IRdColor_SetAlpha(This,newVal)	\
    (This)->lpVtbl -> SetAlpha(This,newVal)

#define IRdColor_GetRed8(This,pVal)	\
    (This)->lpVtbl -> GetRed8(This,pVal)

#define IRdColor_SetRed8(This,newVal)	\
    (This)->lpVtbl -> SetRed8(This,newVal)

#define IRdColor_GetGreen8(This,pVal)	\
    (This)->lpVtbl -> GetGreen8(This,pVal)

#define IRdColor_SetGreen8(This,newVal)	\
    (This)->lpVtbl -> SetGreen8(This,newVal)

#define IRdColor_GetBlue8(This,pVal)	\
    (This)->lpVtbl -> GetBlue8(This,pVal)

#define IRdColor_SetBlue8(This,newVal)	\
    (This)->lpVtbl -> SetBlue8(This,newVal)

#define IRdColor_GetAlpha8(This,pVal)	\
    (This)->lpVtbl -> GetAlpha8(This,pVal)

#define IRdColor_SetAlpha8(This,newVal)	\
    (This)->lpVtbl -> SetAlpha8(This,newVal)

#define IRdColor_SetColor(This,fRed,fGreen,fBlue,fAlpha)	\
    (This)->lpVtbl -> SetColor(This,fRed,fGreen,fBlue,fAlpha)

#define IRdColor_GetColor(This,fRed,fGreen,fBlue,fAlpha)	\
    (This)->lpVtbl -> GetColor(This,fRed,fGreen,fBlue,fAlpha)

#define IRdColor_SetColor32(This,dwColor)	\
    (This)->lpVtbl -> SetColor32(This,dwColor)

#define IRdColor_GetColor32(This,pdwColor)	\
    (This)->lpVtbl -> GetColor32(This,pdwColor)

#define IRdColor_SetColorRGBA8(This,nRed,nGreen,nBlue,nAlpha)	\
    (This)->lpVtbl -> SetColorRGBA8(This,nRed,nGreen,nBlue,nAlpha)

#define IRdColor_SetColorARGB8(This,nAlpha,nRed,nGreen,nBlue)	\
    (This)->lpVtbl -> SetColorARGB8(This,nAlpha,nRed,nGreen,nBlue)

#define IRdColor_GetColorRGBA8(This,nRed,nGreen,nBlue,nAlpha)	\
    (This)->lpVtbl -> GetColorRGBA8(This,nRed,nGreen,nBlue,nAlpha)

#define IRdColor_SetColorRGB8(This,nRed,nGreen,nBlue)	\
    (This)->lpVtbl -> SetColorRGB8(This,nRed,nGreen,nBlue)

#define IRdColor_SetColorArray(This,pfColors)	\
    (This)->lpVtbl -> SetColorArray(This,pfColors)

#define IRdColor_GetColorArray(This,pfColors)	\
    (This)->lpVtbl -> GetColorArray(This,pfColors)

#define IRdColor_SetCOLORREF(This,dwNewValue)	\
    (This)->lpVtbl -> SetCOLORREF(This,dwNewValue)

#define IRdColor_GetCOLORREF(This,dwValue)	\
    (This)->lpVtbl -> GetCOLORREF(This,dwValue)

#define IRdColor_SetColorHSL(This,fHue,fSat,fLum)	\
    (This)->lpVtbl -> SetColorHSL(This,fHue,fSat,fLum)

#define IRdColor_GetColorHSL(This,fHue,fSat,fLum)	\
    (This)->lpVtbl -> GetColorHSL(This,fHue,fSat,fLum)

#define IRdColor_GetHue(This,pVal)	\
    (This)->lpVtbl -> GetHue(This,pVal)

#define IRdColor_GetSat(This,pVal)	\
    (This)->lpVtbl -> GetSat(This,pVal)

#define IRdColor_GetLum(This,pVal)	\
    (This)->lpVtbl -> GetLum(This,pVal)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdColor_Clear_Proxy( 
    IRdColor * This);


void __RPC_STUB IRdColor_Clear_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdColor_GetRed_Proxy( 
    IRdColor * This,
    /* [retval][out] */ float *pVal);


void __RPC_STUB IRdColor_GetRed_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdColor_SetRed_Proxy( 
    IRdColor * This,
    /* [in] */ float newVal);


void __RPC_STUB IRdColor_SetRed_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdColor_GetGreen_Proxy( 
    IRdColor * This,
    /* [retval][out] */ float *pVal);


void __RPC_STUB IRdColor_GetGreen_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdColor_SetGreen_Proxy( 
    IRdColor * This,
    /* [in] */ float newVal);


void __RPC_STUB IRdColor_SetGreen_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdColor_GetBlue_Proxy( 
    IRdColor * This,
    /* [retval][out] */ float *pVal);


void __RPC_STUB IRdColor_GetBlue_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdColor_SetBlue_Proxy( 
    IRdColor * This,
    /* [in] */ float newVal);


void __RPC_STUB IRdColor_SetBlue_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdColor_GetAlpha_Proxy( 
    IRdColor * This,
    /* [retval][out] */ float *pVal);


void __RPC_STUB IRdColor_GetAlpha_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdColor_SetAlpha_Proxy( 
    IRdColor * This,
    /* [in] */ float newVal);


void __RPC_STUB IRdColor_SetAlpha_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdColor_GetRed8_Proxy( 
    IRdColor * This,
    /* [retval][out] */ RtBYTE *pVal);


void __RPC_STUB IRdColor_GetRed8_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdColor_SetRed8_Proxy( 
    IRdColor * This,
    /* [in] */ RtBYTE newVal);


void __RPC_STUB IRdColor_SetRed8_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdColor_GetGreen8_Proxy( 
    IRdColor * This,
    /* [retval][out] */ RtBYTE *pVal);


void __RPC_STUB IRdColor_GetGreen8_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdColor_SetGreen8_Proxy( 
    IRdColor * This,
    /* [in] */ RtBYTE newVal);


void __RPC_STUB IRdColor_SetGreen8_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdColor_GetBlue8_Proxy( 
    IRdColor * This,
    /* [retval][out] */ RtBYTE *pVal);


void __RPC_STUB IRdColor_GetBlue8_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdColor_SetBlue8_Proxy( 
    IRdColor * This,
    /* [in] */ RtBYTE newVal);


void __RPC_STUB IRdColor_SetBlue8_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdColor_GetAlpha8_Proxy( 
    IRdColor * This,
    /* [retval][out] */ RtBYTE *pVal);


void __RPC_STUB IRdColor_GetAlpha8_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdColor_SetAlpha8_Proxy( 
    IRdColor * This,
    /* [in] */ RtBYTE newVal);


void __RPC_STUB IRdColor_SetAlpha8_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdColor_SetColor_Proxy( 
    IRdColor * This,
    /* [in] */ float fRed,
    /* [in] */ float fGreen,
    /* [in] */ float fBlue,
    /* [in] */ float fAlpha);


void __RPC_STUB IRdColor_SetColor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdColor_GetColor_Proxy( 
    IRdColor * This,
    /* [out] */ float *fRed,
    /* [out] */ float *fGreen,
    /* [out] */ float *fBlue,
    /* [out] */ float *fAlpha);


void __RPC_STUB IRdColor_GetColor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdColor_SetColor32_Proxy( 
    IRdColor * This,
    /* [in] */ ULONG dwColor);


void __RPC_STUB IRdColor_SetColor32_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdColor_GetColor32_Proxy( 
    IRdColor * This,
    /* [retval][out] */ ULONG *pdwColor);


void __RPC_STUB IRdColor_GetColor32_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdColor_SetColorRGBA8_Proxy( 
    IRdColor * This,
    /* [in] */ RtBYTE nRed,
    /* [in] */ RtBYTE nGreen,
    /* [in] */ RtBYTE nBlue,
    /* [in] */ RtBYTE nAlpha);


void __RPC_STUB IRdColor_SetColorRGBA8_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdColor_SetColorARGB8_Proxy( 
    IRdColor * This,
    /* [in] */ RtBYTE nAlpha,
    /* [in] */ RtBYTE nRed,
    /* [in] */ RtBYTE nGreen,
    /* [in] */ RtBYTE nBlue);


void __RPC_STUB IRdColor_SetColorARGB8_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdColor_GetColorRGBA8_Proxy( 
    IRdColor * This,
    /* [out] */ RtBYTE *nRed,
    /* [out] */ RtBYTE *nGreen,
    /* [out] */ RtBYTE *nBlue,
    /* [out] */ RtBYTE *nAlpha);


void __RPC_STUB IRdColor_GetColorRGBA8_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdColor_SetColorRGB8_Proxy( 
    IRdColor * This,
    /* [in] */ RtBYTE nRed,
    /* [in] */ RtBYTE nGreen,
    /* [in] */ RtBYTE nBlue);


void __RPC_STUB IRdColor_SetColorRGB8_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdColor_SetColorArray_Proxy( 
    IRdColor * This,
    /* [in] */ FLOAT *pfColors);


void __RPC_STUB IRdColor_SetColorArray_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdColor_GetColorArray_Proxy( 
    IRdColor * This,
    /* [retval][out] */ FLOAT *pfColors);


void __RPC_STUB IRdColor_GetColorArray_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdColor_SetCOLORREF_Proxy( 
    IRdColor * This,
    /* [in] */ COLORREF dwNewValue);


void __RPC_STUB IRdColor_SetCOLORREF_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdColor_GetCOLORREF_Proxy( 
    IRdColor * This,
    /* [out] */ COLORREF *dwValue);


void __RPC_STUB IRdColor_GetCOLORREF_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdColor_SetColorHSL_Proxy( 
    IRdColor * This,
    /* [in] */ float fHue,
    /* [in] */ float fSat,
    /* [in] */ float fLum);


void __RPC_STUB IRdColor_SetColorHSL_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdColor_GetColorHSL_Proxy( 
    IRdColor * This,
    /* [out] */ float *fHue,
    /* [out] */ float *fSat,
    /* [out] */ float *fLum);


void __RPC_STUB IRdColor_GetColorHSL_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdColor_GetHue_Proxy( 
    IRdColor * This,
    /* [retval][out] */ float *pVal);


void __RPC_STUB IRdColor_GetHue_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdColor_GetSat_Proxy( 
    IRdColor * This,
    /* [retval][out] */ float *pVal);


void __RPC_STUB IRdColor_GetSat_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdColor_GetLum_Proxy( 
    IRdColor * This,
    /* [retval][out] */ float *pVal);


void __RPC_STUB IRdColor_GetLum_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRdColor_INTERFACE_DEFINED__ */


/* interface __MIDL_itf__Kernel_0952 */
/* [local] */ 


enum RtBitmapBufferFlags
    {	BFLG_DEFAULT	= 0,
	BFLG_WILLOVERWRITE	= 1,
	BFLG_FORCE_DWORD	= -1
    } ;

enum RtBitmapFileFormat
    {	BFILEFMT_BMP	= 0,
	BFILEFMT_JPG	= 1,
	BFILEFMT_TGA	= 2,
	BFILEFMT_PNG	= 3,
	BFILEFMT_DDS	= 4,
	BFILEFMT_DIB	= 6,
	BFILEFMT_HDR	= 7,
	BFILEFMT_PFM	= 8,
	BFILEFMT_FORCE_DWORD	= 2147483647
    } ;

enum RtPixelFormat
    {	BFMT_UNKNOWN	= 0,
	BFMT_A8R8G8B8	= 1,
	BFMT_A16B16G16R16	= 2,
	BFMT_A32fB32fG32fR32f	= 3,
	BFMT_R8	= 4,
	BFMT_R16	= 5,
	BFMT_R32f	= 6,
	BFMT_FORCE_DWORD	= -1
    } ;
struct RtPixelFormatDesc
    {
    enum RtPixelFormat m_Format;
    DWORD m_dwRedBits;
    DWORD m_dwGreenBits;
    DWORD m_dwBlueBits;
    DWORD m_dwAlphaBits;
    DWORD m_dwPixelSize;
    DWORD m_dwFlags;
    } ;


extern RPC_IF_HANDLE __MIDL_itf__Kernel_0952_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf__Kernel_0952_v0_0_s_ifspec;

#ifndef __IRdBitmap_INTERFACE_DEFINED__
#define __IRdBitmap_INTERFACE_DEFINED__

/* interface IRdBitmap */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRdBitmap;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("65069885-BE53-42BA-85AD-961FAB67638E")
    IRdBitmap : public IRsDataObject
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Clear( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Create( 
            /* [in] */ RtDWORD nWidth,
            /* [in] */ RtDWORD nHeight,
            /* [in] */ enum RtPixelFormat PixelFormat) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ConvertFormat( 
            /* [in] */ enum RtPixelFormat pFormat) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetHeader( 
            /* [out] */ RtDWORD *pdwWidth,
            /* [out] */ RtDWORD *pdwHeight,
            /* [out] */ enum RtPixelFormat *pFormat) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetFormatDesc( 
            /* [out] */ struct RtPixelFormatDesc *pDesc) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetSizeX( 
            /* [retval][out] */ RtDWORD *pOut) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetSizeY( 
            /* [retval][out] */ RtDWORD *pOut) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetFormatString( 
            /* [retval][out] */ BSTR *pOut) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetFormat( 
            /* [retval][out] */ enum RtPixelFormat *pOut) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetFormatNumberFromString( 
            /* [in] */ BSTR bsFormat,
            /* [retval][out] */ enum RtPixelFormat *pOut) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetFormatStringFromNumber( 
            /* [in] */ enum RtPixelFormat Format,
            /* [retval][out] */ BSTR *pOut) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetPixel( 
            /* [in] */ RtDWORD dwPositionX,
            /* [in] */ RtDWORD dwPositionY,
            /* [in] */ IRdColor *pOutValue) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetPixel( 
            /* [in] */ RtDWORD dwPositionX,
            /* [in] */ RtDWORD dwPositionY,
            /* [in] */ IRdColor *pInValue) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetPixelCOLORREF( 
            /* [in] */ RtDWORD dwPositionX,
            /* [in] */ RtDWORD dwPositionY,
            /* [in] */ COLORREF *pOutValue) = 0;
        
        virtual /* [helpstring][local] */ HRESULT STDMETHODCALLTYPE GetPixelBuffer( 
            /* [in] */ RtFlags dwFlags,
            /* [out] */ void **pBuffer) = 0;
        
        virtual /* [helpstring][local] */ HRESULT STDMETHODCALLTYPE CommitPixelBuffer( 
            /* [in] */ void *pBuffer) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE LockBitmap( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE UnlockBitmap( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateDDBitmap( 
            /* [in] */ HDC hDC,
            /* [retval][out] */ HBITMAP *pHBitmap) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateDDBitmapResized( 
            /* [in] */ HDC hDC,
            /* [in] */ int sizeX,
            /* [in] */ int sizeY,
            /* [retval][out] */ HBITMAP *pHBitmap) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE LoadFromFile( 
            /* [in] */ BSTR FileName) = 0;
        
        virtual /* [helpstring][local] */ HRESULT STDMETHODCALLTYPE LoadFromResources( 
            /* [in] */ HINSTANCE hInstance,
            /* [in] */ RtUlong dwResourceId) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetFileName( 
            /* [retval][out] */ BSTR *pFileName) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetIsFromFile( 
            /* [in] */ RtBool bIsFromFile,
            /* [in] */ BSTR bstrFileName) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetHBitmap( 
            /* [in] */ HBITMAP hBitmap) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SaveToFile( 
            /* [in] */ enum RtBitmapFileFormat Format,
            /* [in] */ BSTR FileName) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SaveToFileEx( 
            /* [in] */ enum RtBitmapFileFormat Format,
            /* [in] */ BSTR FileName) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Resize( 
            /* [in] */ RtDWORD dwWidth,
            /* [in] */ RtDWORD dwHeight) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetAdvancedFeature( 
            /* [in] */ GUID FeatureID,
            /* [in] */ DWORD FeatureModifier,
            /* [in] */ VARIANT FeatureData) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetAdvancedFeature( 
            /* [in] */ GUID FeatureID,
            /* [out] */ DWORD *FeatureModifier,
            /* [out] */ VARIANT *FeatureData) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE IsAdvancedFeatureSupported( 
            /* [in] */ GUID FeatureID) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetSupportedFormatCount( 
            /* [retval][out] */ DWORD *dwFormatCount) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetSupportedFormat( 
            /* [in] */ DWORD dwFormat,
            /* [out] */ BSTR *bsMasks,
            /* [out] */ BSTR *bsFormatName) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE IsEqual( 
            /* [in] */ IRdBitmap *pBitmap,
            /* [retval][out] */ BOOL *bEqualityResult) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ImageSizeFromFile( 
            /* [in] */ BSTR FileName,
            /* [out] */ DWORD *width,
            /* [out] */ DWORD *height) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetDownsampledFlag( 
            /* [retval][out] */ RtBool *pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetDownsampledFlag( 
            /* [in] */ RtBool newVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SaveAsFileToStream( 
            /* [in] */ IStream *pStream,
            /* [in] */ enum RtBitmapFileFormat format,
            /* [in] */ RtBool bSaveSizeToStream,
            /* [retval][out] */ RtDWORD *pdwSize) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE LoadAsFileFromStream( 
            /* [in] */ IStream *pStream,
            /* [in] */ RtDWORD dwSize) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateDIBitmap32( 
            /* [in] */ HDC hDC,
            /* [retval][out] */ HBITMAP *pHBitmap) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GrayscaleBitmap( 
            /* [in] */ int iGrayPercent,
            /* [in] */ RtBool bPixelTransparent) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE DrawBitmap( 
            /* [in] */ HDC hDC,
            /* [in] */ int left,
            /* [in] */ int top,
            /* [in] */ RtBool bPixelTransparent) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetAlphaBlendBitmap( 
            /* [in] */ HDC hDC,
            /* [in] */ int left,
            /* [in] */ int top,
            /* [in] */ RtBool bPixelTransparent,
            /* [retval][out] */ HBITMAP *pHBitmap) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetBitmapSize( 
            /* [out] */ SIZE *pSize) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE DrawBitmap32( 
            /* [in] */ HDC hDC,
            /* [in] */ int left,
            /* [in] */ int top,
            /* [in] */ RtBYTE bConsAlphaBlend,
            /* [in] */ RtBool bKeepVisible) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRdBitmapVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRdBitmap * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRdBitmap * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRdBitmap * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassId )( 
            IRdBitmap * This,
            /* [retval][out] */ GUID *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassName )( 
            IRdBitmap * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetDefault )( 
            IRdBitmap * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Clear )( 
            IRdBitmap * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Create )( 
            IRdBitmap * This,
            /* [in] */ RtDWORD nWidth,
            /* [in] */ RtDWORD nHeight,
            /* [in] */ enum RtPixelFormat PixelFormat);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ConvertFormat )( 
            IRdBitmap * This,
            /* [in] */ enum RtPixelFormat pFormat);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetHeader )( 
            IRdBitmap * This,
            /* [out] */ RtDWORD *pdwWidth,
            /* [out] */ RtDWORD *pdwHeight,
            /* [out] */ enum RtPixelFormat *pFormat);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetFormatDesc )( 
            IRdBitmap * This,
            /* [out] */ struct RtPixelFormatDesc *pDesc);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetSizeX )( 
            IRdBitmap * This,
            /* [retval][out] */ RtDWORD *pOut);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetSizeY )( 
            IRdBitmap * This,
            /* [retval][out] */ RtDWORD *pOut);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetFormatString )( 
            IRdBitmap * This,
            /* [retval][out] */ BSTR *pOut);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetFormat )( 
            IRdBitmap * This,
            /* [retval][out] */ enum RtPixelFormat *pOut);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetFormatNumberFromString )( 
            IRdBitmap * This,
            /* [in] */ BSTR bsFormat,
            /* [retval][out] */ enum RtPixelFormat *pOut);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetFormatStringFromNumber )( 
            IRdBitmap * This,
            /* [in] */ enum RtPixelFormat Format,
            /* [retval][out] */ BSTR *pOut);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetPixel )( 
            IRdBitmap * This,
            /* [in] */ RtDWORD dwPositionX,
            /* [in] */ RtDWORD dwPositionY,
            /* [in] */ IRdColor *pOutValue);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetPixel )( 
            IRdBitmap * This,
            /* [in] */ RtDWORD dwPositionX,
            /* [in] */ RtDWORD dwPositionY,
            /* [in] */ IRdColor *pInValue);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetPixelCOLORREF )( 
            IRdBitmap * This,
            /* [in] */ RtDWORD dwPositionX,
            /* [in] */ RtDWORD dwPositionY,
            /* [in] */ COLORREF *pOutValue);
        
        /* [helpstring][local] */ HRESULT ( STDMETHODCALLTYPE *GetPixelBuffer )( 
            IRdBitmap * This,
            /* [in] */ RtFlags dwFlags,
            /* [out] */ void **pBuffer);
        
        /* [helpstring][local] */ HRESULT ( STDMETHODCALLTYPE *CommitPixelBuffer )( 
            IRdBitmap * This,
            /* [in] */ void *pBuffer);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *LockBitmap )( 
            IRdBitmap * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *UnlockBitmap )( 
            IRdBitmap * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateDDBitmap )( 
            IRdBitmap * This,
            /* [in] */ HDC hDC,
            /* [retval][out] */ HBITMAP *pHBitmap);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateDDBitmapResized )( 
            IRdBitmap * This,
            /* [in] */ HDC hDC,
            /* [in] */ int sizeX,
            /* [in] */ int sizeY,
            /* [retval][out] */ HBITMAP *pHBitmap);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *LoadFromFile )( 
            IRdBitmap * This,
            /* [in] */ BSTR FileName);
        
        /* [helpstring][local] */ HRESULT ( STDMETHODCALLTYPE *LoadFromResources )( 
            IRdBitmap * This,
            /* [in] */ HINSTANCE hInstance,
            /* [in] */ RtUlong dwResourceId);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetFileName )( 
            IRdBitmap * This,
            /* [retval][out] */ BSTR *pFileName);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetIsFromFile )( 
            IRdBitmap * This,
            /* [in] */ RtBool bIsFromFile,
            /* [in] */ BSTR bstrFileName);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetHBitmap )( 
            IRdBitmap * This,
            /* [in] */ HBITMAP hBitmap);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SaveToFile )( 
            IRdBitmap * This,
            /* [in] */ enum RtBitmapFileFormat Format,
            /* [in] */ BSTR FileName);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SaveToFileEx )( 
            IRdBitmap * This,
            /* [in] */ enum RtBitmapFileFormat Format,
            /* [in] */ BSTR FileName);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Resize )( 
            IRdBitmap * This,
            /* [in] */ RtDWORD dwWidth,
            /* [in] */ RtDWORD dwHeight);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetAdvancedFeature )( 
            IRdBitmap * This,
            /* [in] */ GUID FeatureID,
            /* [in] */ DWORD FeatureModifier,
            /* [in] */ VARIANT FeatureData);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetAdvancedFeature )( 
            IRdBitmap * This,
            /* [in] */ GUID FeatureID,
            /* [out] */ DWORD *FeatureModifier,
            /* [out] */ VARIANT *FeatureData);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *IsAdvancedFeatureSupported )( 
            IRdBitmap * This,
            /* [in] */ GUID FeatureID);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetSupportedFormatCount )( 
            IRdBitmap * This,
            /* [retval][out] */ DWORD *dwFormatCount);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetSupportedFormat )( 
            IRdBitmap * This,
            /* [in] */ DWORD dwFormat,
            /* [out] */ BSTR *bsMasks,
            /* [out] */ BSTR *bsFormatName);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *IsEqual )( 
            IRdBitmap * This,
            /* [in] */ IRdBitmap *pBitmap,
            /* [retval][out] */ BOOL *bEqualityResult);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ImageSizeFromFile )( 
            IRdBitmap * This,
            /* [in] */ BSTR FileName,
            /* [out] */ DWORD *width,
            /* [out] */ DWORD *height);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetDownsampledFlag )( 
            IRdBitmap * This,
            /* [retval][out] */ RtBool *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetDownsampledFlag )( 
            IRdBitmap * This,
            /* [in] */ RtBool newVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SaveAsFileToStream )( 
            IRdBitmap * This,
            /* [in] */ IStream *pStream,
            /* [in] */ enum RtBitmapFileFormat format,
            /* [in] */ RtBool bSaveSizeToStream,
            /* [retval][out] */ RtDWORD *pdwSize);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *LoadAsFileFromStream )( 
            IRdBitmap * This,
            /* [in] */ IStream *pStream,
            /* [in] */ RtDWORD dwSize);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateDIBitmap32 )( 
            IRdBitmap * This,
            /* [in] */ HDC hDC,
            /* [retval][out] */ HBITMAP *pHBitmap);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GrayscaleBitmap )( 
            IRdBitmap * This,
            /* [in] */ int iGrayPercent,
            /* [in] */ RtBool bPixelTransparent);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *DrawBitmap )( 
            IRdBitmap * This,
            /* [in] */ HDC hDC,
            /* [in] */ int left,
            /* [in] */ int top,
            /* [in] */ RtBool bPixelTransparent);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetAlphaBlendBitmap )( 
            IRdBitmap * This,
            /* [in] */ HDC hDC,
            /* [in] */ int left,
            /* [in] */ int top,
            /* [in] */ RtBool bPixelTransparent,
            /* [retval][out] */ HBITMAP *pHBitmap);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetBitmapSize )( 
            IRdBitmap * This,
            /* [out] */ SIZE *pSize);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *DrawBitmap32 )( 
            IRdBitmap * This,
            /* [in] */ HDC hDC,
            /* [in] */ int left,
            /* [in] */ int top,
            /* [in] */ RtBYTE bConsAlphaBlend,
            /* [in] */ RtBool bKeepVisible);
        
        END_INTERFACE
    } IRdBitmapVtbl;

    interface IRdBitmap
    {
        CONST_VTBL struct IRdBitmapVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRdBitmap_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRdBitmap_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRdBitmap_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRdBitmap_get_ClassId(This,pVal)	\
    (This)->lpVtbl -> get_ClassId(This,pVal)

#define IRdBitmap_get_ClassName(This,pVal)	\
    (This)->lpVtbl -> get_ClassName(This,pVal)


#define IRdBitmap_SetDefault(This)	\
    (This)->lpVtbl -> SetDefault(This)


#define IRdBitmap_Clear(This)	\
    (This)->lpVtbl -> Clear(This)

#define IRdBitmap_Create(This,nWidth,nHeight,PixelFormat)	\
    (This)->lpVtbl -> Create(This,nWidth,nHeight,PixelFormat)

#define IRdBitmap_ConvertFormat(This,pFormat)	\
    (This)->lpVtbl -> ConvertFormat(This,pFormat)

#define IRdBitmap_GetHeader(This,pdwWidth,pdwHeight,pFormat)	\
    (This)->lpVtbl -> GetHeader(This,pdwWidth,pdwHeight,pFormat)

#define IRdBitmap_GetFormatDesc(This,pDesc)	\
    (This)->lpVtbl -> GetFormatDesc(This,pDesc)

#define IRdBitmap_GetSizeX(This,pOut)	\
    (This)->lpVtbl -> GetSizeX(This,pOut)

#define IRdBitmap_GetSizeY(This,pOut)	\
    (This)->lpVtbl -> GetSizeY(This,pOut)

#define IRdBitmap_GetFormatString(This,pOut)	\
    (This)->lpVtbl -> GetFormatString(This,pOut)

#define IRdBitmap_GetFormat(This,pOut)	\
    (This)->lpVtbl -> GetFormat(This,pOut)

#define IRdBitmap_GetFormatNumberFromString(This,bsFormat,pOut)	\
    (This)->lpVtbl -> GetFormatNumberFromString(This,bsFormat,pOut)

#define IRdBitmap_GetFormatStringFromNumber(This,Format,pOut)	\
    (This)->lpVtbl -> GetFormatStringFromNumber(This,Format,pOut)

#define IRdBitmap_GetPixel(This,dwPositionX,dwPositionY,pOutValue)	\
    (This)->lpVtbl -> GetPixel(This,dwPositionX,dwPositionY,pOutValue)

#define IRdBitmap_SetPixel(This,dwPositionX,dwPositionY,pInValue)	\
    (This)->lpVtbl -> SetPixel(This,dwPositionX,dwPositionY,pInValue)

#define IRdBitmap_GetPixelCOLORREF(This,dwPositionX,dwPositionY,pOutValue)	\
    (This)->lpVtbl -> GetPixelCOLORREF(This,dwPositionX,dwPositionY,pOutValue)

#define IRdBitmap_GetPixelBuffer(This,dwFlags,pBuffer)	\
    (This)->lpVtbl -> GetPixelBuffer(This,dwFlags,pBuffer)

#define IRdBitmap_CommitPixelBuffer(This,pBuffer)	\
    (This)->lpVtbl -> CommitPixelBuffer(This,pBuffer)

#define IRdBitmap_LockBitmap(This)	\
    (This)->lpVtbl -> LockBitmap(This)

#define IRdBitmap_UnlockBitmap(This)	\
    (This)->lpVtbl -> UnlockBitmap(This)

#define IRdBitmap_CreateDDBitmap(This,hDC,pHBitmap)	\
    (This)->lpVtbl -> CreateDDBitmap(This,hDC,pHBitmap)

#define IRdBitmap_CreateDDBitmapResized(This,hDC,sizeX,sizeY,pHBitmap)	\
    (This)->lpVtbl -> CreateDDBitmapResized(This,hDC,sizeX,sizeY,pHBitmap)

#define IRdBitmap_LoadFromFile(This,FileName)	\
    (This)->lpVtbl -> LoadFromFile(This,FileName)

#define IRdBitmap_LoadFromResources(This,hInstance,dwResourceId)	\
    (This)->lpVtbl -> LoadFromResources(This,hInstance,dwResourceId)

#define IRdBitmap_GetFileName(This,pFileName)	\
    (This)->lpVtbl -> GetFileName(This,pFileName)

#define IRdBitmap_SetIsFromFile(This,bIsFromFile,bstrFileName)	\
    (This)->lpVtbl -> SetIsFromFile(This,bIsFromFile,bstrFileName)

#define IRdBitmap_SetHBitmap(This,hBitmap)	\
    (This)->lpVtbl -> SetHBitmap(This,hBitmap)

#define IRdBitmap_SaveToFile(This,Format,FileName)	\
    (This)->lpVtbl -> SaveToFile(This,Format,FileName)

#define IRdBitmap_SaveToFileEx(This,Format,FileName)	\
    (This)->lpVtbl -> SaveToFileEx(This,Format,FileName)

#define IRdBitmap_Resize(This,dwWidth,dwHeight)	\
    (This)->lpVtbl -> Resize(This,dwWidth,dwHeight)

#define IRdBitmap_SetAdvancedFeature(This,FeatureID,FeatureModifier,FeatureData)	\
    (This)->lpVtbl -> SetAdvancedFeature(This,FeatureID,FeatureModifier,FeatureData)

#define IRdBitmap_GetAdvancedFeature(This,FeatureID,FeatureModifier,FeatureData)	\
    (This)->lpVtbl -> GetAdvancedFeature(This,FeatureID,FeatureModifier,FeatureData)

#define IRdBitmap_IsAdvancedFeatureSupported(This,FeatureID)	\
    (This)->lpVtbl -> IsAdvancedFeatureSupported(This,FeatureID)

#define IRdBitmap_GetSupportedFormatCount(This,dwFormatCount)	\
    (This)->lpVtbl -> GetSupportedFormatCount(This,dwFormatCount)

#define IRdBitmap_GetSupportedFormat(This,dwFormat,bsMasks,bsFormatName)	\
    (This)->lpVtbl -> GetSupportedFormat(This,dwFormat,bsMasks,bsFormatName)

#define IRdBitmap_IsEqual(This,pBitmap,bEqualityResult)	\
    (This)->lpVtbl -> IsEqual(This,pBitmap,bEqualityResult)

#define IRdBitmap_ImageSizeFromFile(This,FileName,width,height)	\
    (This)->lpVtbl -> ImageSizeFromFile(This,FileName,width,height)

#define IRdBitmap_GetDownsampledFlag(This,pVal)	\
    (This)->lpVtbl -> GetDownsampledFlag(This,pVal)

#define IRdBitmap_SetDownsampledFlag(This,newVal)	\
    (This)->lpVtbl -> SetDownsampledFlag(This,newVal)

#define IRdBitmap_SaveAsFileToStream(This,pStream,format,bSaveSizeToStream,pdwSize)	\
    (This)->lpVtbl -> SaveAsFileToStream(This,pStream,format,bSaveSizeToStream,pdwSize)

#define IRdBitmap_LoadAsFileFromStream(This,pStream,dwSize)	\
    (This)->lpVtbl -> LoadAsFileFromStream(This,pStream,dwSize)

#define IRdBitmap_CreateDIBitmap32(This,hDC,pHBitmap)	\
    (This)->lpVtbl -> CreateDIBitmap32(This,hDC,pHBitmap)

#define IRdBitmap_GrayscaleBitmap(This,iGrayPercent,bPixelTransparent)	\
    (This)->lpVtbl -> GrayscaleBitmap(This,iGrayPercent,bPixelTransparent)

#define IRdBitmap_DrawBitmap(This,hDC,left,top,bPixelTransparent)	\
    (This)->lpVtbl -> DrawBitmap(This,hDC,left,top,bPixelTransparent)

#define IRdBitmap_GetAlphaBlendBitmap(This,hDC,left,top,bPixelTransparent,pHBitmap)	\
    (This)->lpVtbl -> GetAlphaBlendBitmap(This,hDC,left,top,bPixelTransparent,pHBitmap)

#define IRdBitmap_GetBitmapSize(This,pSize)	\
    (This)->lpVtbl -> GetBitmapSize(This,pSize)

#define IRdBitmap_DrawBitmap32(This,hDC,left,top,bConsAlphaBlend,bKeepVisible)	\
    (This)->lpVtbl -> DrawBitmap32(This,hDC,left,top,bConsAlphaBlend,bKeepVisible)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdBitmap_Clear_Proxy( 
    IRdBitmap * This);


void __RPC_STUB IRdBitmap_Clear_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdBitmap_Create_Proxy( 
    IRdBitmap * This,
    /* [in] */ RtDWORD nWidth,
    /* [in] */ RtDWORD nHeight,
    /* [in] */ enum RtPixelFormat PixelFormat);


void __RPC_STUB IRdBitmap_Create_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdBitmap_ConvertFormat_Proxy( 
    IRdBitmap * This,
    /* [in] */ enum RtPixelFormat pFormat);


void __RPC_STUB IRdBitmap_ConvertFormat_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdBitmap_GetHeader_Proxy( 
    IRdBitmap * This,
    /* [out] */ RtDWORD *pdwWidth,
    /* [out] */ RtDWORD *pdwHeight,
    /* [out] */ enum RtPixelFormat *pFormat);


void __RPC_STUB IRdBitmap_GetHeader_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdBitmap_GetFormatDesc_Proxy( 
    IRdBitmap * This,
    /* [out] */ struct RtPixelFormatDesc *pDesc);


void __RPC_STUB IRdBitmap_GetFormatDesc_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdBitmap_GetSizeX_Proxy( 
    IRdBitmap * This,
    /* [retval][out] */ RtDWORD *pOut);


void __RPC_STUB IRdBitmap_GetSizeX_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdBitmap_GetSizeY_Proxy( 
    IRdBitmap * This,
    /* [retval][out] */ RtDWORD *pOut);


void __RPC_STUB IRdBitmap_GetSizeY_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdBitmap_GetFormatString_Proxy( 
    IRdBitmap * This,
    /* [retval][out] */ BSTR *pOut);


void __RPC_STUB IRdBitmap_GetFormatString_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdBitmap_GetFormat_Proxy( 
    IRdBitmap * This,
    /* [retval][out] */ enum RtPixelFormat *pOut);


void __RPC_STUB IRdBitmap_GetFormat_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdBitmap_GetFormatNumberFromString_Proxy( 
    IRdBitmap * This,
    /* [in] */ BSTR bsFormat,
    /* [retval][out] */ enum RtPixelFormat *pOut);


void __RPC_STUB IRdBitmap_GetFormatNumberFromString_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdBitmap_GetFormatStringFromNumber_Proxy( 
    IRdBitmap * This,
    /* [in] */ enum RtPixelFormat Format,
    /* [retval][out] */ BSTR *pOut);


void __RPC_STUB IRdBitmap_GetFormatStringFromNumber_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdBitmap_GetPixel_Proxy( 
    IRdBitmap * This,
    /* [in] */ RtDWORD dwPositionX,
    /* [in] */ RtDWORD dwPositionY,
    /* [in] */ IRdColor *pOutValue);


void __RPC_STUB IRdBitmap_GetPixel_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdBitmap_SetPixel_Proxy( 
    IRdBitmap * This,
    /* [in] */ RtDWORD dwPositionX,
    /* [in] */ RtDWORD dwPositionY,
    /* [in] */ IRdColor *pInValue);


void __RPC_STUB IRdBitmap_SetPixel_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdBitmap_GetPixelCOLORREF_Proxy( 
    IRdBitmap * This,
    /* [in] */ RtDWORD dwPositionX,
    /* [in] */ RtDWORD dwPositionY,
    /* [in] */ COLORREF *pOutValue);


void __RPC_STUB IRdBitmap_GetPixelCOLORREF_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][local] */ HRESULT STDMETHODCALLTYPE IRdBitmap_GetPixelBuffer_Proxy( 
    IRdBitmap * This,
    /* [in] */ RtFlags dwFlags,
    /* [out] */ void **pBuffer);


void __RPC_STUB IRdBitmap_GetPixelBuffer_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][local] */ HRESULT STDMETHODCALLTYPE IRdBitmap_CommitPixelBuffer_Proxy( 
    IRdBitmap * This,
    /* [in] */ void *pBuffer);


void __RPC_STUB IRdBitmap_CommitPixelBuffer_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdBitmap_LockBitmap_Proxy( 
    IRdBitmap * This);


void __RPC_STUB IRdBitmap_LockBitmap_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdBitmap_UnlockBitmap_Proxy( 
    IRdBitmap * This);


void __RPC_STUB IRdBitmap_UnlockBitmap_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdBitmap_CreateDDBitmap_Proxy( 
    IRdBitmap * This,
    /* [in] */ HDC hDC,
    /* [retval][out] */ HBITMAP *pHBitmap);


void __RPC_STUB IRdBitmap_CreateDDBitmap_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdBitmap_CreateDDBitmapResized_Proxy( 
    IRdBitmap * This,
    /* [in] */ HDC hDC,
    /* [in] */ int sizeX,
    /* [in] */ int sizeY,
    /* [retval][out] */ HBITMAP *pHBitmap);


void __RPC_STUB IRdBitmap_CreateDDBitmapResized_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdBitmap_LoadFromFile_Proxy( 
    IRdBitmap * This,
    /* [in] */ BSTR FileName);


void __RPC_STUB IRdBitmap_LoadFromFile_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][local] */ HRESULT STDMETHODCALLTYPE IRdBitmap_LoadFromResources_Proxy( 
    IRdBitmap * This,
    /* [in] */ HINSTANCE hInstance,
    /* [in] */ RtUlong dwResourceId);


void __RPC_STUB IRdBitmap_LoadFromResources_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdBitmap_GetFileName_Proxy( 
    IRdBitmap * This,
    /* [retval][out] */ BSTR *pFileName);


void __RPC_STUB IRdBitmap_GetFileName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdBitmap_SetIsFromFile_Proxy( 
    IRdBitmap * This,
    /* [in] */ RtBool bIsFromFile,
    /* [in] */ BSTR bstrFileName);


void __RPC_STUB IRdBitmap_SetIsFromFile_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdBitmap_SetHBitmap_Proxy( 
    IRdBitmap * This,
    /* [in] */ HBITMAP hBitmap);


void __RPC_STUB IRdBitmap_SetHBitmap_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdBitmap_SaveToFile_Proxy( 
    IRdBitmap * This,
    /* [in] */ enum RtBitmapFileFormat Format,
    /* [in] */ BSTR FileName);


void __RPC_STUB IRdBitmap_SaveToFile_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdBitmap_SaveToFileEx_Proxy( 
    IRdBitmap * This,
    /* [in] */ enum RtBitmapFileFormat Format,
    /* [in] */ BSTR FileName);


void __RPC_STUB IRdBitmap_SaveToFileEx_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdBitmap_Resize_Proxy( 
    IRdBitmap * This,
    /* [in] */ RtDWORD dwWidth,
    /* [in] */ RtDWORD dwHeight);


void __RPC_STUB IRdBitmap_Resize_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdBitmap_SetAdvancedFeature_Proxy( 
    IRdBitmap * This,
    /* [in] */ GUID FeatureID,
    /* [in] */ DWORD FeatureModifier,
    /* [in] */ VARIANT FeatureData);


void __RPC_STUB IRdBitmap_SetAdvancedFeature_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdBitmap_GetAdvancedFeature_Proxy( 
    IRdBitmap * This,
    /* [in] */ GUID FeatureID,
    /* [out] */ DWORD *FeatureModifier,
    /* [out] */ VARIANT *FeatureData);


void __RPC_STUB IRdBitmap_GetAdvancedFeature_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdBitmap_IsAdvancedFeatureSupported_Proxy( 
    IRdBitmap * This,
    /* [in] */ GUID FeatureID);


void __RPC_STUB IRdBitmap_IsAdvancedFeatureSupported_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdBitmap_GetSupportedFormatCount_Proxy( 
    IRdBitmap * This,
    /* [retval][out] */ DWORD *dwFormatCount);


void __RPC_STUB IRdBitmap_GetSupportedFormatCount_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdBitmap_GetSupportedFormat_Proxy( 
    IRdBitmap * This,
    /* [in] */ DWORD dwFormat,
    /* [out] */ BSTR *bsMasks,
    /* [out] */ BSTR *bsFormatName);


void __RPC_STUB IRdBitmap_GetSupportedFormat_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdBitmap_IsEqual_Proxy( 
    IRdBitmap * This,
    /* [in] */ IRdBitmap *pBitmap,
    /* [retval][out] */ BOOL *bEqualityResult);


void __RPC_STUB IRdBitmap_IsEqual_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdBitmap_ImageSizeFromFile_Proxy( 
    IRdBitmap * This,
    /* [in] */ BSTR FileName,
    /* [out] */ DWORD *width,
    /* [out] */ DWORD *height);


void __RPC_STUB IRdBitmap_ImageSizeFromFile_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdBitmap_GetDownsampledFlag_Proxy( 
    IRdBitmap * This,
    /* [retval][out] */ RtBool *pVal);


void __RPC_STUB IRdBitmap_GetDownsampledFlag_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdBitmap_SetDownsampledFlag_Proxy( 
    IRdBitmap * This,
    /* [in] */ RtBool newVal);


void __RPC_STUB IRdBitmap_SetDownsampledFlag_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdBitmap_SaveAsFileToStream_Proxy( 
    IRdBitmap * This,
    /* [in] */ IStream *pStream,
    /* [in] */ enum RtBitmapFileFormat format,
    /* [in] */ RtBool bSaveSizeToStream,
    /* [retval][out] */ RtDWORD *pdwSize);


void __RPC_STUB IRdBitmap_SaveAsFileToStream_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdBitmap_LoadAsFileFromStream_Proxy( 
    IRdBitmap * This,
    /* [in] */ IStream *pStream,
    /* [in] */ RtDWORD dwSize);


void __RPC_STUB IRdBitmap_LoadAsFileFromStream_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdBitmap_CreateDIBitmap32_Proxy( 
    IRdBitmap * This,
    /* [in] */ HDC hDC,
    /* [retval][out] */ HBITMAP *pHBitmap);


void __RPC_STUB IRdBitmap_CreateDIBitmap32_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdBitmap_GrayscaleBitmap_Proxy( 
    IRdBitmap * This,
    /* [in] */ int iGrayPercent,
    /* [in] */ RtBool bPixelTransparent);


void __RPC_STUB IRdBitmap_GrayscaleBitmap_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdBitmap_DrawBitmap_Proxy( 
    IRdBitmap * This,
    /* [in] */ HDC hDC,
    /* [in] */ int left,
    /* [in] */ int top,
    /* [in] */ RtBool bPixelTransparent);


void __RPC_STUB IRdBitmap_DrawBitmap_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdBitmap_GetAlphaBlendBitmap_Proxy( 
    IRdBitmap * This,
    /* [in] */ HDC hDC,
    /* [in] */ int left,
    /* [in] */ int top,
    /* [in] */ RtBool bPixelTransparent,
    /* [retval][out] */ HBITMAP *pHBitmap);


void __RPC_STUB IRdBitmap_GetAlphaBlendBitmap_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdBitmap_GetBitmapSize_Proxy( 
    IRdBitmap * This,
    /* [out] */ SIZE *pSize);


void __RPC_STUB IRdBitmap_GetBitmapSize_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdBitmap_DrawBitmap32_Proxy( 
    IRdBitmap * This,
    /* [in] */ HDC hDC,
    /* [in] */ int left,
    /* [in] */ int top,
    /* [in] */ RtBYTE bConsAlphaBlend,
    /* [in] */ RtBool bKeepVisible);


void __RPC_STUB IRdBitmap_DrawBitmap32_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRdBitmap_INTERFACE_DEFINED__ */


#ifndef __IRsBitmapD3DSupport_INTERFACE_DEFINED__
#define __IRsBitmapD3DSupport_INTERFACE_DEFINED__

/* interface IRsBitmapD3DSupport */
/* [unique][helpstring][uuid][local][object] */ 


EXTERN_C const IID IID_IRsBitmapD3DSupport;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("1858F9DB-4362-4bd9-BB75-9687550468D7")
    IRsBitmapD3DSupport : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ConvertFromD3DTexture( 
            /* [in] */ IUnknown *pTexture,
            /* [in] */ PALETTEENTRY *pPalette) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ConvertToD3DTexture( 
            /* [in] */ BOOL bCompress,
            /* [in] */ BOOL bGenerateMipMaps,
            /* [in] */ IUnknown *pDevice,
            /* [out] */ IUnknown **pOutTexture) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ConvertToD3DTextureEx( 
            /* [in] */ UINT Width,
            /* [in] */ UINT Height,
            /* [in] */ UINT MipLevels,
            /* [in] */ DWORD Usage,
            /* [in] */ DWORD Format,
            /* [in] */ DWORD ePool,
            /* [in] */ DWORD SizeFilter,
            /* [in] */ DWORD MipFilter,
            /* [in] */ IUnknown *pDevice,
            /* [out] */ IUnknown **pOutTexture) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsBitmapD3DSupportVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsBitmapD3DSupport * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsBitmapD3DSupport * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsBitmapD3DSupport * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ConvertFromD3DTexture )( 
            IRsBitmapD3DSupport * This,
            /* [in] */ IUnknown *pTexture,
            /* [in] */ PALETTEENTRY *pPalette);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ConvertToD3DTexture )( 
            IRsBitmapD3DSupport * This,
            /* [in] */ BOOL bCompress,
            /* [in] */ BOOL bGenerateMipMaps,
            /* [in] */ IUnknown *pDevice,
            /* [out] */ IUnknown **pOutTexture);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ConvertToD3DTextureEx )( 
            IRsBitmapD3DSupport * This,
            /* [in] */ UINT Width,
            /* [in] */ UINT Height,
            /* [in] */ UINT MipLevels,
            /* [in] */ DWORD Usage,
            /* [in] */ DWORD Format,
            /* [in] */ DWORD ePool,
            /* [in] */ DWORD SizeFilter,
            /* [in] */ DWORD MipFilter,
            /* [in] */ IUnknown *pDevice,
            /* [out] */ IUnknown **pOutTexture);
        
        END_INTERFACE
    } IRsBitmapD3DSupportVtbl;

    interface IRsBitmapD3DSupport
    {
        CONST_VTBL struct IRsBitmapD3DSupportVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsBitmapD3DSupport_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsBitmapD3DSupport_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsBitmapD3DSupport_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsBitmapD3DSupport_ConvertFromD3DTexture(This,pTexture,pPalette)	\
    (This)->lpVtbl -> ConvertFromD3DTexture(This,pTexture,pPalette)

#define IRsBitmapD3DSupport_ConvertToD3DTexture(This,bCompress,bGenerateMipMaps,pDevice,pOutTexture)	\
    (This)->lpVtbl -> ConvertToD3DTexture(This,bCompress,bGenerateMipMaps,pDevice,pOutTexture)

#define IRsBitmapD3DSupport_ConvertToD3DTextureEx(This,Width,Height,MipLevels,Usage,Format,ePool,SizeFilter,MipFilter,pDevice,pOutTexture)	\
    (This)->lpVtbl -> ConvertToD3DTextureEx(This,Width,Height,MipLevels,Usage,Format,ePool,SizeFilter,MipFilter,pDevice,pOutTexture)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsBitmapD3DSupport_ConvertFromD3DTexture_Proxy( 
    IRsBitmapD3DSupport * This,
    /* [in] */ IUnknown *pTexture,
    /* [in] */ PALETTEENTRY *pPalette);


void __RPC_STUB IRsBitmapD3DSupport_ConvertFromD3DTexture_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsBitmapD3DSupport_ConvertToD3DTexture_Proxy( 
    IRsBitmapD3DSupport * This,
    /* [in] */ BOOL bCompress,
    /* [in] */ BOOL bGenerateMipMaps,
    /* [in] */ IUnknown *pDevice,
    /* [out] */ IUnknown **pOutTexture);


void __RPC_STUB IRsBitmapD3DSupport_ConvertToD3DTexture_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsBitmapD3DSupport_ConvertToD3DTextureEx_Proxy( 
    IRsBitmapD3DSupport * This,
    /* [in] */ UINT Width,
    /* [in] */ UINT Height,
    /* [in] */ UINT MipLevels,
    /* [in] */ DWORD Usage,
    /* [in] */ DWORD Format,
    /* [in] */ DWORD ePool,
    /* [in] */ DWORD SizeFilter,
    /* [in] */ DWORD MipFilter,
    /* [in] */ IUnknown *pDevice,
    /* [out] */ IUnknown **pOutTexture);


void __RPC_STUB IRsBitmapD3DSupport_ConvertToD3DTextureEx_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsBitmapD3DSupport_INTERFACE_DEFINED__ */


#ifndef __IRnLibraryItemPreview_INTERFACE_DEFINED__
#define __IRnLibraryItemPreview_INTERFACE_DEFINED__

/* interface IRnLibraryItemPreview */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnLibraryItemPreview;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("24309F12-EDFD-40cc-A2A3-E3B517017862")
    IRnLibraryItemPreview : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GenerateLibraryItemPreview( 
            /* [retval][out] */ IRdBitmap **pVal) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRnLibraryItemPreviewVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnLibraryItemPreview * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnLibraryItemPreview * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnLibraryItemPreview * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GenerateLibraryItemPreview )( 
            IRnLibraryItemPreview * This,
            /* [retval][out] */ IRdBitmap **pVal);
        
        END_INTERFACE
    } IRnLibraryItemPreviewVtbl;

    interface IRnLibraryItemPreview
    {
        CONST_VTBL struct IRnLibraryItemPreviewVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnLibraryItemPreview_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnLibraryItemPreview_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnLibraryItemPreview_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRnLibraryItemPreview_GenerateLibraryItemPreview(This,pVal)	\
    (This)->lpVtbl -> GenerateLibraryItemPreview(This,pVal)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnLibraryItemPreview_GenerateLibraryItemPreview_Proxy( 
    IRnLibraryItemPreview * This,
    /* [retval][out] */ IRdBitmap **pVal);


void __RPC_STUB IRnLibraryItemPreview_GenerateLibraryItemPreview_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRnLibraryItemPreview_INTERFACE_DEFINED__ */


#ifndef __IRnLibraryItemActions_INTERFACE_DEFINED__
#define __IRnLibraryItemActions_INTERFACE_DEFINED__

/* interface IRnLibraryItemActions */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnLibraryItemActions;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("696C5DD1-A750-4267-B9CC-06A171A21B34")
    IRnLibraryItemActions : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE BeforeDelete( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRnLibraryItemActionsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnLibraryItemActions * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnLibraryItemActions * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnLibraryItemActions * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *BeforeDelete )( 
            IRnLibraryItemActions * This);
        
        END_INTERFACE
    } IRnLibraryItemActionsVtbl;

    interface IRnLibraryItemActions
    {
        CONST_VTBL struct IRnLibraryItemActionsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnLibraryItemActions_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnLibraryItemActions_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnLibraryItemActions_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRnLibraryItemActions_BeforeDelete(This)	\
    (This)->lpVtbl -> BeforeDelete(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnLibraryItemActions_BeforeDelete_Proxy( 
    IRnLibraryItemActions * This);


void __RPC_STUB IRnLibraryItemActions_BeforeDelete_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRnLibraryItemActions_INTERFACE_DEFINED__ */


#ifndef __IRnLibraryItem_INTERFACE_DEFINED__
#define __IRnLibraryItem_INTERFACE_DEFINED__

/* interface IRnLibraryItem */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnLibraryItem;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("C47F21A0-C656-4365-8E2C-2081D7ADED8A")
    IRnLibraryItem : public IUnknown
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Name( 
            /* [in] */ BSTR newVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_LeftClickCommand( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_LeftClickCommand( 
            /* [in] */ BSTR newVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_LeftDBClickCommand( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_LeftDBClickCommand( 
            /* [in] */ BSTR newVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_ForcedName( 
            /* [in] */ BSTR newVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_HelpText( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_HelpText( 
            /* [in] */ BSTR newVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Bitmap( 
            /* [in] */ HDC hDC,
            /* [in] */ RtBool bPreview3D,
            /* [retval][out] */ HBITMAP *pVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_BmpObj( 
            /* [retval][out] */ IRdBitmap **ppVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_BmpObj( 
            /* [in] */ IRdBitmap *pVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_MaskedBitmap( 
            /* [retval][out] */ RtBool *ppVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_MaskedBitmap( 
            /* [in] */ RtBool pVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_IsLoadingItem( 
            /* [retval][out] */ RtBool *ppVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_IsChangingLocalIndexes( 
            /* [retval][out] */ RtBool *ppVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Item( 
            /* [retval][out] */ IRsNode **ppVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Item( 
            /* [in] */ IRsNode *pVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Index( 
            /* [retval][out] */ RtUlong *pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Index( 
            /* [in] */ RtUlong newVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_ForcedIndex( 
            /* [in] */ RtUlong newVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_LocalFileName( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_LocalFileName( 
            /* [in] */ BSTR newVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ItemPresence( 
            /* [retval][out] */ RtBool *ppVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_ItemPresence( 
            /* [in] */ RtBool pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetBitmapSize( 
            /* [in] */ RtBool bPreview3D,
            /* [in] */ HDC hDC,
            /* [out] */ RtShort *psWidth,
            /* [out] */ RtShort *psHeight) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetItemContent( 
            /* [retval][out] */ IRsNode **ppNode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Get3DPreviewBitmap( 
            /* [in] */ RtDWORD dwWidth,
            /* [in] */ RtDWORD dwHeight,
            /* [in] */ COLORREF clrBckg,
            /* [retval][out] */ IRdBitmap **ppBitmap) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Use3DPreviewBitmapFromNode( 
            /* [in] */ BSTR bNodeName,
            /* [in] */ RtDWORD dwWidth,
            /* [in] */ RtDWORD dwHeight,
            /* [in] */ COLORREF clrBckg) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE EnsureItemPresence( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE BeforeOwnerLibraryExport( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AfterOwnerLibraryExport( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ExportItemToFile( 
            /* [in] */ BSTR bszFileName,
            /* [in] */ RtBool bSaveItems) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ReloadItem( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE LoadItem( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SaveItem( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AttachItem( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE UnattachItem( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnDeleteItem( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GenerateExportFileName( 
            /* [out] */ BSTR *file_name) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRnLibraryItemVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnLibraryItem * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnLibraryItem * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnLibraryItem * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IRnLibraryItem * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Name )( 
            IRnLibraryItem * This,
            /* [in] */ BSTR newVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LeftClickCommand )( 
            IRnLibraryItem * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LeftClickCommand )( 
            IRnLibraryItem * This,
            /* [in] */ BSTR newVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LeftDBClickCommand )( 
            IRnLibraryItem * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LeftDBClickCommand )( 
            IRnLibraryItem * This,
            /* [in] */ BSTR newVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ForcedName )( 
            IRnLibraryItem * This,
            /* [in] */ BSTR newVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HelpText )( 
            IRnLibraryItem * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_HelpText )( 
            IRnLibraryItem * This,
            /* [in] */ BSTR newVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Bitmap )( 
            IRnLibraryItem * This,
            /* [in] */ HDC hDC,
            /* [in] */ RtBool bPreview3D,
            /* [retval][out] */ HBITMAP *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_BmpObj )( 
            IRnLibraryItem * This,
            /* [retval][out] */ IRdBitmap **ppVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_BmpObj )( 
            IRnLibraryItem * This,
            /* [in] */ IRdBitmap *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_MaskedBitmap )( 
            IRnLibraryItem * This,
            /* [retval][out] */ RtBool *ppVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_MaskedBitmap )( 
            IRnLibraryItem * This,
            /* [in] */ RtBool pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsLoadingItem )( 
            IRnLibraryItem * This,
            /* [retval][out] */ RtBool *ppVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsChangingLocalIndexes )( 
            IRnLibraryItem * This,
            /* [retval][out] */ RtBool *ppVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Item )( 
            IRnLibraryItem * This,
            /* [retval][out] */ IRsNode **ppVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Item )( 
            IRnLibraryItem * This,
            /* [in] */ IRsNode *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Index )( 
            IRnLibraryItem * This,
            /* [retval][out] */ RtUlong *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Index )( 
            IRnLibraryItem * This,
            /* [in] */ RtUlong newVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ForcedIndex )( 
            IRnLibraryItem * This,
            /* [in] */ RtUlong newVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LocalFileName )( 
            IRnLibraryItem * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LocalFileName )( 
            IRnLibraryItem * This,
            /* [in] */ BSTR newVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ItemPresence )( 
            IRnLibraryItem * This,
            /* [retval][out] */ RtBool *ppVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ItemPresence )( 
            IRnLibraryItem * This,
            /* [in] */ RtBool pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetBitmapSize )( 
            IRnLibraryItem * This,
            /* [in] */ RtBool bPreview3D,
            /* [in] */ HDC hDC,
            /* [out] */ RtShort *psWidth,
            /* [out] */ RtShort *psHeight);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetItemContent )( 
            IRnLibraryItem * This,
            /* [retval][out] */ IRsNode **ppNode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Get3DPreviewBitmap )( 
            IRnLibraryItem * This,
            /* [in] */ RtDWORD dwWidth,
            /* [in] */ RtDWORD dwHeight,
            /* [in] */ COLORREF clrBckg,
            /* [retval][out] */ IRdBitmap **ppBitmap);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Use3DPreviewBitmapFromNode )( 
            IRnLibraryItem * This,
            /* [in] */ BSTR bNodeName,
            /* [in] */ RtDWORD dwWidth,
            /* [in] */ RtDWORD dwHeight,
            /* [in] */ COLORREF clrBckg);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *EnsureItemPresence )( 
            IRnLibraryItem * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *BeforeOwnerLibraryExport )( 
            IRnLibraryItem * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AfterOwnerLibraryExport )( 
            IRnLibraryItem * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ExportItemToFile )( 
            IRnLibraryItem * This,
            /* [in] */ BSTR bszFileName,
            /* [in] */ RtBool bSaveItems);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ReloadItem )( 
            IRnLibraryItem * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *LoadItem )( 
            IRnLibraryItem * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SaveItem )( 
            IRnLibraryItem * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AttachItem )( 
            IRnLibraryItem * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *UnattachItem )( 
            IRnLibraryItem * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OnDeleteItem )( 
            IRnLibraryItem * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GenerateExportFileName )( 
            IRnLibraryItem * This,
            /* [out] */ BSTR *file_name);
        
        END_INTERFACE
    } IRnLibraryItemVtbl;

    interface IRnLibraryItem
    {
        CONST_VTBL struct IRnLibraryItemVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnLibraryItem_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnLibraryItem_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnLibraryItem_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRnLibraryItem_get_Name(This,pVal)	\
    (This)->lpVtbl -> get_Name(This,pVal)

#define IRnLibraryItem_put_Name(This,newVal)	\
    (This)->lpVtbl -> put_Name(This,newVal)

#define IRnLibraryItem_get_LeftClickCommand(This,pVal)	\
    (This)->lpVtbl -> get_LeftClickCommand(This,pVal)

#define IRnLibraryItem_put_LeftClickCommand(This,newVal)	\
    (This)->lpVtbl -> put_LeftClickCommand(This,newVal)

#define IRnLibraryItem_get_LeftDBClickCommand(This,pVal)	\
    (This)->lpVtbl -> get_LeftDBClickCommand(This,pVal)

#define IRnLibraryItem_put_LeftDBClickCommand(This,newVal)	\
    (This)->lpVtbl -> put_LeftDBClickCommand(This,newVal)

#define IRnLibraryItem_put_ForcedName(This,newVal)	\
    (This)->lpVtbl -> put_ForcedName(This,newVal)

#define IRnLibraryItem_get_HelpText(This,pVal)	\
    (This)->lpVtbl -> get_HelpText(This,pVal)

#define IRnLibraryItem_put_HelpText(This,newVal)	\
    (This)->lpVtbl -> put_HelpText(This,newVal)

#define IRnLibraryItem_get_Bitmap(This,hDC,bPreview3D,pVal)	\
    (This)->lpVtbl -> get_Bitmap(This,hDC,bPreview3D,pVal)

#define IRnLibraryItem_get_BmpObj(This,ppVal)	\
    (This)->lpVtbl -> get_BmpObj(This,ppVal)

#define IRnLibraryItem_put_BmpObj(This,pVal)	\
    (This)->lpVtbl -> put_BmpObj(This,pVal)

#define IRnLibraryItem_get_MaskedBitmap(This,ppVal)	\
    (This)->lpVtbl -> get_MaskedBitmap(This,ppVal)

#define IRnLibraryItem_put_MaskedBitmap(This,pVal)	\
    (This)->lpVtbl -> put_MaskedBitmap(This,pVal)

#define IRnLibraryItem_get_IsLoadingItem(This,ppVal)	\
    (This)->lpVtbl -> get_IsLoadingItem(This,ppVal)

#define IRnLibraryItem_get_IsChangingLocalIndexes(This,ppVal)	\
    (This)->lpVtbl -> get_IsChangingLocalIndexes(This,ppVal)

#define IRnLibraryItem_get_Item(This,ppVal)	\
    (This)->lpVtbl -> get_Item(This,ppVal)

#define IRnLibraryItem_put_Item(This,pVal)	\
    (This)->lpVtbl -> put_Item(This,pVal)

#define IRnLibraryItem_get_Index(This,pVal)	\
    (This)->lpVtbl -> get_Index(This,pVal)

#define IRnLibraryItem_put_Index(This,newVal)	\
    (This)->lpVtbl -> put_Index(This,newVal)

#define IRnLibraryItem_put_ForcedIndex(This,newVal)	\
    (This)->lpVtbl -> put_ForcedIndex(This,newVal)

#define IRnLibraryItem_get_LocalFileName(This,pVal)	\
    (This)->lpVtbl -> get_LocalFileName(This,pVal)

#define IRnLibraryItem_put_LocalFileName(This,newVal)	\
    (This)->lpVtbl -> put_LocalFileName(This,newVal)

#define IRnLibraryItem_get_ItemPresence(This,ppVal)	\
    (This)->lpVtbl -> get_ItemPresence(This,ppVal)

#define IRnLibraryItem_put_ItemPresence(This,pVal)	\
    (This)->lpVtbl -> put_ItemPresence(This,pVal)

#define IRnLibraryItem_GetBitmapSize(This,bPreview3D,hDC,psWidth,psHeight)	\
    (This)->lpVtbl -> GetBitmapSize(This,bPreview3D,hDC,psWidth,psHeight)

#define IRnLibraryItem_GetItemContent(This,ppNode)	\
    (This)->lpVtbl -> GetItemContent(This,ppNode)

#define IRnLibraryItem_Get3DPreviewBitmap(This,dwWidth,dwHeight,clrBckg,ppBitmap)	\
    (This)->lpVtbl -> Get3DPreviewBitmap(This,dwWidth,dwHeight,clrBckg,ppBitmap)

#define IRnLibraryItem_Use3DPreviewBitmapFromNode(This,bNodeName,dwWidth,dwHeight,clrBckg)	\
    (This)->lpVtbl -> Use3DPreviewBitmapFromNode(This,bNodeName,dwWidth,dwHeight,clrBckg)

#define IRnLibraryItem_EnsureItemPresence(This)	\
    (This)->lpVtbl -> EnsureItemPresence(This)

#define IRnLibraryItem_BeforeOwnerLibraryExport(This)	\
    (This)->lpVtbl -> BeforeOwnerLibraryExport(This)

#define IRnLibraryItem_AfterOwnerLibraryExport(This)	\
    (This)->lpVtbl -> AfterOwnerLibraryExport(This)

#define IRnLibraryItem_ExportItemToFile(This,bszFileName,bSaveItems)	\
    (This)->lpVtbl -> ExportItemToFile(This,bszFileName,bSaveItems)

#define IRnLibraryItem_ReloadItem(This)	\
    (This)->lpVtbl -> ReloadItem(This)

#define IRnLibraryItem_LoadItem(This)	\
    (This)->lpVtbl -> LoadItem(This)

#define IRnLibraryItem_SaveItem(This)	\
    (This)->lpVtbl -> SaveItem(This)

#define IRnLibraryItem_AttachItem(This)	\
    (This)->lpVtbl -> AttachItem(This)

#define IRnLibraryItem_UnattachItem(This)	\
    (This)->lpVtbl -> UnattachItem(This)

#define IRnLibraryItem_OnDeleteItem(This)	\
    (This)->lpVtbl -> OnDeleteItem(This)

#define IRnLibraryItem_GenerateExportFileName(This,file_name)	\
    (This)->lpVtbl -> GenerateExportFileName(This,file_name)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRnLibraryItem_get_Name_Proxy( 
    IRnLibraryItem * This,
    /* [retval][out] */ BSTR *pVal);


void __RPC_STUB IRnLibraryItem_get_Name_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRnLibraryItem_put_Name_Proxy( 
    IRnLibraryItem * This,
    /* [in] */ BSTR newVal);


void __RPC_STUB IRnLibraryItem_put_Name_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRnLibraryItem_get_LeftClickCommand_Proxy( 
    IRnLibraryItem * This,
    /* [retval][out] */ BSTR *pVal);


void __RPC_STUB IRnLibraryItem_get_LeftClickCommand_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRnLibraryItem_put_LeftClickCommand_Proxy( 
    IRnLibraryItem * This,
    /* [in] */ BSTR newVal);


void __RPC_STUB IRnLibraryItem_put_LeftClickCommand_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRnLibraryItem_get_LeftDBClickCommand_Proxy( 
    IRnLibraryItem * This,
    /* [retval][out] */ BSTR *pVal);


void __RPC_STUB IRnLibraryItem_get_LeftDBClickCommand_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRnLibraryItem_put_LeftDBClickCommand_Proxy( 
    IRnLibraryItem * This,
    /* [in] */ BSTR newVal);


void __RPC_STUB IRnLibraryItem_put_LeftDBClickCommand_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRnLibraryItem_put_ForcedName_Proxy( 
    IRnLibraryItem * This,
    /* [in] */ BSTR newVal);


void __RPC_STUB IRnLibraryItem_put_ForcedName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRnLibraryItem_get_HelpText_Proxy( 
    IRnLibraryItem * This,
    /* [retval][out] */ BSTR *pVal);


void __RPC_STUB IRnLibraryItem_get_HelpText_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRnLibraryItem_put_HelpText_Proxy( 
    IRnLibraryItem * This,
    /* [in] */ BSTR newVal);


void __RPC_STUB IRnLibraryItem_put_HelpText_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRnLibraryItem_get_Bitmap_Proxy( 
    IRnLibraryItem * This,
    /* [in] */ HDC hDC,
    /* [in] */ RtBool bPreview3D,
    /* [retval][out] */ HBITMAP *pVal);


void __RPC_STUB IRnLibraryItem_get_Bitmap_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRnLibraryItem_get_BmpObj_Proxy( 
    IRnLibraryItem * This,
    /* [retval][out] */ IRdBitmap **ppVal);


void __RPC_STUB IRnLibraryItem_get_BmpObj_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRnLibraryItem_put_BmpObj_Proxy( 
    IRnLibraryItem * This,
    /* [in] */ IRdBitmap *pVal);


void __RPC_STUB IRnLibraryItem_put_BmpObj_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRnLibraryItem_get_MaskedBitmap_Proxy( 
    IRnLibraryItem * This,
    /* [retval][out] */ RtBool *ppVal);


void __RPC_STUB IRnLibraryItem_get_MaskedBitmap_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRnLibraryItem_put_MaskedBitmap_Proxy( 
    IRnLibraryItem * This,
    /* [in] */ RtBool pVal);


void __RPC_STUB IRnLibraryItem_put_MaskedBitmap_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRnLibraryItem_get_IsLoadingItem_Proxy( 
    IRnLibraryItem * This,
    /* [retval][out] */ RtBool *ppVal);


void __RPC_STUB IRnLibraryItem_get_IsLoadingItem_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRnLibraryItem_get_IsChangingLocalIndexes_Proxy( 
    IRnLibraryItem * This,
    /* [retval][out] */ RtBool *ppVal);


void __RPC_STUB IRnLibraryItem_get_IsChangingLocalIndexes_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRnLibraryItem_get_Item_Proxy( 
    IRnLibraryItem * This,
    /* [retval][out] */ IRsNode **ppVal);


void __RPC_STUB IRnLibraryItem_get_Item_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRnLibraryItem_put_Item_Proxy( 
    IRnLibraryItem * This,
    /* [in] */ IRsNode *pVal);


void __RPC_STUB IRnLibraryItem_put_Item_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRnLibraryItem_get_Index_Proxy( 
    IRnLibraryItem * This,
    /* [retval][out] */ RtUlong *pVal);


void __RPC_STUB IRnLibraryItem_get_Index_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRnLibraryItem_put_Index_Proxy( 
    IRnLibraryItem * This,
    /* [in] */ RtUlong newVal);


void __RPC_STUB IRnLibraryItem_put_Index_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRnLibraryItem_put_ForcedIndex_Proxy( 
    IRnLibraryItem * This,
    /* [in] */ RtUlong newVal);


void __RPC_STUB IRnLibraryItem_put_ForcedIndex_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRnLibraryItem_get_LocalFileName_Proxy( 
    IRnLibraryItem * This,
    /* [retval][out] */ BSTR *pVal);


void __RPC_STUB IRnLibraryItem_get_LocalFileName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRnLibraryItem_put_LocalFileName_Proxy( 
    IRnLibraryItem * This,
    /* [in] */ BSTR newVal);


void __RPC_STUB IRnLibraryItem_put_LocalFileName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRnLibraryItem_get_ItemPresence_Proxy( 
    IRnLibraryItem * This,
    /* [retval][out] */ RtBool *ppVal);


void __RPC_STUB IRnLibraryItem_get_ItemPresence_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRnLibraryItem_put_ItemPresence_Proxy( 
    IRnLibraryItem * This,
    /* [in] */ RtBool pVal);


void __RPC_STUB IRnLibraryItem_put_ItemPresence_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnLibraryItem_GetBitmapSize_Proxy( 
    IRnLibraryItem * This,
    /* [in] */ RtBool bPreview3D,
    /* [in] */ HDC hDC,
    /* [out] */ RtShort *psWidth,
    /* [out] */ RtShort *psHeight);


void __RPC_STUB IRnLibraryItem_GetBitmapSize_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnLibraryItem_GetItemContent_Proxy( 
    IRnLibraryItem * This,
    /* [retval][out] */ IRsNode **ppNode);


void __RPC_STUB IRnLibraryItem_GetItemContent_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnLibraryItem_Get3DPreviewBitmap_Proxy( 
    IRnLibraryItem * This,
    /* [in] */ RtDWORD dwWidth,
    /* [in] */ RtDWORD dwHeight,
    /* [in] */ COLORREF clrBckg,
    /* [retval][out] */ IRdBitmap **ppBitmap);


void __RPC_STUB IRnLibraryItem_Get3DPreviewBitmap_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnLibraryItem_Use3DPreviewBitmapFromNode_Proxy( 
    IRnLibraryItem * This,
    /* [in] */ BSTR bNodeName,
    /* [in] */ RtDWORD dwWidth,
    /* [in] */ RtDWORD dwHeight,
    /* [in] */ COLORREF clrBckg);


void __RPC_STUB IRnLibraryItem_Use3DPreviewBitmapFromNode_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnLibraryItem_EnsureItemPresence_Proxy( 
    IRnLibraryItem * This);


void __RPC_STUB IRnLibraryItem_EnsureItemPresence_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnLibraryItem_BeforeOwnerLibraryExport_Proxy( 
    IRnLibraryItem * This);


void __RPC_STUB IRnLibraryItem_BeforeOwnerLibraryExport_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnLibraryItem_AfterOwnerLibraryExport_Proxy( 
    IRnLibraryItem * This);


void __RPC_STUB IRnLibraryItem_AfterOwnerLibraryExport_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnLibraryItem_ExportItemToFile_Proxy( 
    IRnLibraryItem * This,
    /* [in] */ BSTR bszFileName,
    /* [in] */ RtBool bSaveItems);


void __RPC_STUB IRnLibraryItem_ExportItemToFile_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnLibraryItem_ReloadItem_Proxy( 
    IRnLibraryItem * This);


void __RPC_STUB IRnLibraryItem_ReloadItem_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnLibraryItem_LoadItem_Proxy( 
    IRnLibraryItem * This);


void __RPC_STUB IRnLibraryItem_LoadItem_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnLibraryItem_SaveItem_Proxy( 
    IRnLibraryItem * This);


void __RPC_STUB IRnLibraryItem_SaveItem_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnLibraryItem_AttachItem_Proxy( 
    IRnLibraryItem * This);


void __RPC_STUB IRnLibraryItem_AttachItem_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnLibraryItem_UnattachItem_Proxy( 
    IRnLibraryItem * This);


void __RPC_STUB IRnLibraryItem_UnattachItem_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnLibraryItem_OnDeleteItem_Proxy( 
    IRnLibraryItem * This);


void __RPC_STUB IRnLibraryItem_OnDeleteItem_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnLibraryItem_GenerateExportFileName_Proxy( 
    IRnLibraryItem * This,
    /* [out] */ BSTR *file_name);


void __RPC_STUB IRnLibraryItem_GenerateExportFileName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRnLibraryItem_INTERFACE_DEFINED__ */


#ifndef __IRnSceneLibraryItem_INTERFACE_DEFINED__
#define __IRnSceneLibraryItem_INTERFACE_DEFINED__

/* interface IRnSceneLibraryItem */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnSceneLibraryItem;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("706A3F48-9EB8-42c5-8B46-DC215DD32D08")
    IRnSceneLibraryItem : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRnSceneLibraryItemVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnSceneLibraryItem * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnSceneLibraryItem * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnSceneLibraryItem * This);
        
        END_INTERFACE
    } IRnSceneLibraryItemVtbl;

    interface IRnSceneLibraryItem
    {
        CONST_VTBL struct IRnSceneLibraryItemVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnSceneLibraryItem_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnSceneLibraryItem_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnSceneLibraryItem_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRnSceneLibraryItem_INTERFACE_DEFINED__ */


#ifndef __IRnContextLibItem_INTERFACE_DEFINED__
#define __IRnContextLibItem_INTERFACE_DEFINED__

/* interface IRnContextLibItem */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnContextLibItem;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("F98145E1-99F5-41A6-888A-C992639CA528")
    IRnContextLibItem : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRnContextLibItemVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnContextLibItem * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnContextLibItem * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnContextLibItem * This);
        
        END_INTERFACE
    } IRnContextLibItemVtbl;

    interface IRnContextLibItem
    {
        CONST_VTBL struct IRnContextLibItemVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnContextLibItem_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnContextLibItem_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnContextLibItem_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRnContextLibItem_INTERFACE_DEFINED__ */


#ifndef __IRnLayoutLibraryItem_INTERFACE_DEFINED__
#define __IRnLayoutLibraryItem_INTERFACE_DEFINED__

/* interface IRnLayoutLibraryItem */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnLayoutLibraryItem;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("F6383B7E-FD1C-49ee-B1B8-6F52ECCBC265")
    IRnLayoutLibraryItem : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRnLayoutLibraryItemVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnLayoutLibraryItem * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnLayoutLibraryItem * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnLayoutLibraryItem * This);
        
        END_INTERFACE
    } IRnLayoutLibraryItemVtbl;

    interface IRnLayoutLibraryItem
    {
        CONST_VTBL struct IRnLayoutLibraryItemVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnLayoutLibraryItem_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnLayoutLibraryItem_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnLayoutLibraryItem_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRnLayoutLibraryItem_INTERFACE_DEFINED__ */


#ifndef __IRnPreferencesLibraryItem_INTERFACE_DEFINED__
#define __IRnPreferencesLibraryItem_INTERFACE_DEFINED__

/* interface IRnPreferencesLibraryItem */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnPreferencesLibraryItem;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("68EB1880-4C25-4d8d-B12E-06C3E8E19B68")
    IRnPreferencesLibraryItem : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRnPreferencesLibraryItemVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnPreferencesLibraryItem * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnPreferencesLibraryItem * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnPreferencesLibraryItem * This);
        
        END_INTERFACE
    } IRnPreferencesLibraryItemVtbl;

    interface IRnPreferencesLibraryItem
    {
        CONST_VTBL struct IRnPreferencesLibraryItemVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnPreferencesLibraryItem_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnPreferencesLibraryItem_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnPreferencesLibraryItem_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRnPreferencesLibraryItem_INTERFACE_DEFINED__ */


#ifndef __IRnProjectLibItem_INTERFACE_DEFINED__
#define __IRnProjectLibItem_INTERFACE_DEFINED__

/* interface IRnProjectLibItem */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnProjectLibItem;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("BB82668D-606A-492f-B396-1F48E3ED863B")
    IRnProjectLibItem : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRnProjectLibItemVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnProjectLibItem * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnProjectLibItem * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnProjectLibItem * This);
        
        END_INTERFACE
    } IRnProjectLibItemVtbl;

    interface IRnProjectLibItem
    {
        CONST_VTBL struct IRnProjectLibItemVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnProjectLibItem_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnProjectLibItem_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnProjectLibItem_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRnProjectLibItem_INTERFACE_DEFINED__ */


#ifndef __IRnRecordLibItem_INTERFACE_DEFINED__
#define __IRnRecordLibItem_INTERFACE_DEFINED__

/* interface IRnRecordLibItem */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnRecordLibItem;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("0ADB3918-F0C5-4372-8CDA-BEECB8627923")
    IRnRecordLibItem : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRnRecordLibItemVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnRecordLibItem * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnRecordLibItem * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnRecordLibItem * This);
        
        END_INTERFACE
    } IRnRecordLibItemVtbl;

    interface IRnRecordLibItem
    {
        CONST_VTBL struct IRnRecordLibItemVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnRecordLibItem_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnRecordLibItem_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnRecordLibItem_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRnRecordLibItem_INTERFACE_DEFINED__ */


/* interface __MIDL_itf__Kernel_0963 */
/* [local] */ 

typedef 
enum _tagRtLibraryType
    {	LT_UNDEFINED	= 0,
	LT_OBJECTS	= 1,
	LT_SHAPES	= 2,
	LT_MATERIALS	= 3,
	LT_ACTIVITIES	= 4,
	LT_CONFIGURATIONS	= 5,
	LT_CONTEXTS	= 6,
	LT_CONSTRAINTS	= 7,
	LT_CONTROL_OBJECTS	= 8,
	LT_SHADER_BRICKS	= 9,
	LT_COMMANDS	= 10,
	LT_COMPONENTS	= 11,
	LT_ACTIONS	= 12,
	LT_LWMATERIALS	= 13,
	LT_LWSHADER_BRICKS	= 14,
	LT_TOOLS	= 15,
	LT_COMPONENTS_UI	= 16,
	LT_COMPONENTS_DX	= 17,
	LT_COMPONENTS_MATH	= 18,
	LT_COMPONENTS_SYSTEM	= 19,
	LT_COMPONENTS_ACTIVITY	= 20,
	LT_BITMAPS	= 21,
	LT_SCENE	= 22,
	LT_PHYSICS	= 23,
	LT_PROJECTS	= 24,
	LT_SHADER_SHADERS	= 25,
	LT_TOOLBARS	= 26,
	LT_BUTTONS	= 27,
	LT_PREFERENCES	= 28,
	LT_ANIMATIONS	= 29,
	LT_LIGHTS	= 30,
	LT_RECORDING	= 31
    } 	RtLibraryType;



extern RPC_IF_HANDLE __MIDL_itf__Kernel_0963_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf__Kernel_0963_v0_0_s_ifspec;

#ifndef __IRnLibrary_INTERFACE_DEFINED__
#define __IRnLibrary_INTERFACE_DEFINED__

/* interface IRnLibrary */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnLibrary;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("8C924FA6-1798-4EFA-B077-555F10943AB2")
    IRnLibrary : public IUnknown
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Name( 
            /* [in] */ BSTR newVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_HelpText( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_HelpText( 
            /* [in] */ BSTR newVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Bitmap( 
            /* [in] */ HDC hDC,
            /* [in] */ RtBool bPreview3D,
            /* [retval][out] */ HBITMAP *pVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Index( 
            /* [retval][out] */ RtUlong *pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Index( 
            /* [in] */ RtUlong newVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_ForcedIndex( 
            /* [in] */ RtUlong newVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_NumOfItems( 
            /* [retval][out] */ RtUlong *pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_NumOfItems( 
            /* [in] */ RtUlong newVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_NumOfSubLibraries( 
            /* [retval][out] */ RtUlong *pVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_NumOfLibraryItems( 
            /* [retval][out] */ RtUlong *pVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Type( 
            /* [retval][out] */ RtLibraryType *pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Type( 
            /* [in] */ RtLibraryType newVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_LocalFlag( 
            /* [retval][out] */ RtUlong *pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_LocalFlag( 
            /* [in] */ RtUlong newVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_LocalFileName( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_LocalFileName( 
            /* [in] */ BSTR newVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_LocalPositionInGraph( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_LocalPositionInGraph( 
            /* [in] */ BSTR newVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_BmpObj( 
            /* [retval][out] */ IRdBitmap **ppVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_BmpObj( 
            /* [in] */ IRdBitmap *pVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_SmallBmpObj( 
            /* [retval][out] */ IRdBitmap **ppVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_SmallBmpObj( 
            /* [in] */ IRdBitmap *pVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ExportFileName( 
            /* [retval][out] */ BSTR *bszFileName) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_IsPerformingLocalSaveOperations( 
            /* [retval][out] */ RtBool *pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetBitmapSize( 
            /* [in] */ RtBool bPreview3D,
            /* [in] */ HDC hDC,
            /* [out] */ RtShort *psWidth,
            /* [out] */ RtShort *psHeight) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetSubLibrary( 
            /* [in] */ RtUlong nIndex,
            /* [retval][out] */ IRnLibrary **pLibrary) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetLibraryItem( 
            /* [in] */ RtUlong nIndex,
            /* [out] */ IRnLibraryItem **pLibraryItem) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetLibrariesHeight( 
            /* [retval][out] */ RtUlong *pVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_CustomLibraryBitmap( 
            /* [retval][out] */ RtBool *pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_CustomLibraryBitmap( 
            /* [in] */ RtBool newVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddItem( 
            /* [in] */ IRsNode *pNode,
            /* [retval][out] */ IRnLibraryItem **lppItem) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddLibrary( 
            /* [in] */ IRnLibrary *pLibrary,
            /* [retval][out] */ IRnLibrary **lppLibrary) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ChangeLibraryIndex( 
            /* [out][in] */ RtUlong *index,
            /* [in] */ IRnLibrary *lpLibrary) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ChangeLibraryItemIndex( 
            /* [out][in] */ RtUlong *index,
            /* [in] */ IRnLibraryItem *lpLibraryItem) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetCorrectLibraryItemName( 
            /* [in] */ IRnLibraryItem *libraryItem,
            /* [in] */ BSTR oldName,
            /* [retval][out] */ BSTR *newName) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CorrectLibraryItemName( 
            /* [in] */ IRnLibraryItem *libraryItem,
            /* [retval][out] */ BSTR *newName) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetAndSaveLocalSave( 
            /* [in] */ RtBool bLocalSave) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RestoreAfterExport( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE PrepareForExport( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RestoreLocalSave( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE StoreCurrentName( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ExportLibraryToFile( 
            /* [in] */ BSTR bszFileName,
            /* [in] */ RtBool bSaveItems) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CanBeLocal( 
            /* [out] */ RtBool *pResult) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_GroupId( 
            /* [retval][out] */ RtUlong *pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_GroupId( 
            /* [in] */ RtUlong newVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE PrepareItemsBeforeExport( 
            /* [in] */ RtBool bSaveItems) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RestoreItemsAfterExport( 
            /* [in] */ RtBool bSaveItems) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE EnsureItemsPresence( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SaveAsLocal( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnDeleteLibrary( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE NameExists( 
            /* [in] */ BSTR nameToCheck,
            /* [out] */ IRnLibrary **foundLibrary,
            /* [out] */ IRnLibraryItem **foundLibraryItem) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRnLibraryVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnLibrary * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnLibrary * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnLibrary * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IRnLibrary * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Name )( 
            IRnLibrary * This,
            /* [in] */ BSTR newVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HelpText )( 
            IRnLibrary * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_HelpText )( 
            IRnLibrary * This,
            /* [in] */ BSTR newVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Bitmap )( 
            IRnLibrary * This,
            /* [in] */ HDC hDC,
            /* [in] */ RtBool bPreview3D,
            /* [retval][out] */ HBITMAP *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Index )( 
            IRnLibrary * This,
            /* [retval][out] */ RtUlong *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Index )( 
            IRnLibrary * This,
            /* [in] */ RtUlong newVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ForcedIndex )( 
            IRnLibrary * This,
            /* [in] */ RtUlong newVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_NumOfItems )( 
            IRnLibrary * This,
            /* [retval][out] */ RtUlong *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_NumOfItems )( 
            IRnLibrary * This,
            /* [in] */ RtUlong newVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_NumOfSubLibraries )( 
            IRnLibrary * This,
            /* [retval][out] */ RtUlong *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_NumOfLibraryItems )( 
            IRnLibrary * This,
            /* [retval][out] */ RtUlong *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            IRnLibrary * This,
            /* [retval][out] */ RtLibraryType *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Type )( 
            IRnLibrary * This,
            /* [in] */ RtLibraryType newVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LocalFlag )( 
            IRnLibrary * This,
            /* [retval][out] */ RtUlong *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LocalFlag )( 
            IRnLibrary * This,
            /* [in] */ RtUlong newVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LocalFileName )( 
            IRnLibrary * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LocalFileName )( 
            IRnLibrary * This,
            /* [in] */ BSTR newVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LocalPositionInGraph )( 
            IRnLibrary * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LocalPositionInGraph )( 
            IRnLibrary * This,
            /* [in] */ BSTR newVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_BmpObj )( 
            IRnLibrary * This,
            /* [retval][out] */ IRdBitmap **ppVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_BmpObj )( 
            IRnLibrary * This,
            /* [in] */ IRdBitmap *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SmallBmpObj )( 
            IRnLibrary * This,
            /* [retval][out] */ IRdBitmap **ppVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_SmallBmpObj )( 
            IRnLibrary * This,
            /* [in] */ IRdBitmap *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ExportFileName )( 
            IRnLibrary * This,
            /* [retval][out] */ BSTR *bszFileName);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsPerformingLocalSaveOperations )( 
            IRnLibrary * This,
            /* [retval][out] */ RtBool *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetBitmapSize )( 
            IRnLibrary * This,
            /* [in] */ RtBool bPreview3D,
            /* [in] */ HDC hDC,
            /* [out] */ RtShort *psWidth,
            /* [out] */ RtShort *psHeight);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetSubLibrary )( 
            IRnLibrary * This,
            /* [in] */ RtUlong nIndex,
            /* [retval][out] */ IRnLibrary **pLibrary);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetLibraryItem )( 
            IRnLibrary * This,
            /* [in] */ RtUlong nIndex,
            /* [out] */ IRnLibraryItem **pLibraryItem);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetLibrariesHeight )( 
            IRnLibrary * This,
            /* [retval][out] */ RtUlong *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CustomLibraryBitmap )( 
            IRnLibrary * This,
            /* [retval][out] */ RtBool *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_CustomLibraryBitmap )( 
            IRnLibrary * This,
            /* [in] */ RtBool newVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddItem )( 
            IRnLibrary * This,
            /* [in] */ IRsNode *pNode,
            /* [retval][out] */ IRnLibraryItem **lppItem);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddLibrary )( 
            IRnLibrary * This,
            /* [in] */ IRnLibrary *pLibrary,
            /* [retval][out] */ IRnLibrary **lppLibrary);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ChangeLibraryIndex )( 
            IRnLibrary * This,
            /* [out][in] */ RtUlong *index,
            /* [in] */ IRnLibrary *lpLibrary);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ChangeLibraryItemIndex )( 
            IRnLibrary * This,
            /* [out][in] */ RtUlong *index,
            /* [in] */ IRnLibraryItem *lpLibraryItem);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetCorrectLibraryItemName )( 
            IRnLibrary * This,
            /* [in] */ IRnLibraryItem *libraryItem,
            /* [in] */ BSTR oldName,
            /* [retval][out] */ BSTR *newName);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CorrectLibraryItemName )( 
            IRnLibrary * This,
            /* [in] */ IRnLibraryItem *libraryItem,
            /* [retval][out] */ BSTR *newName);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetAndSaveLocalSave )( 
            IRnLibrary * This,
            /* [in] */ RtBool bLocalSave);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RestoreAfterExport )( 
            IRnLibrary * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *PrepareForExport )( 
            IRnLibrary * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RestoreLocalSave )( 
            IRnLibrary * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *StoreCurrentName )( 
            IRnLibrary * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ExportLibraryToFile )( 
            IRnLibrary * This,
            /* [in] */ BSTR bszFileName,
            /* [in] */ RtBool bSaveItems);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CanBeLocal )( 
            IRnLibrary * This,
            /* [out] */ RtBool *pResult);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_GroupId )( 
            IRnLibrary * This,
            /* [retval][out] */ RtUlong *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_GroupId )( 
            IRnLibrary * This,
            /* [in] */ RtUlong newVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *PrepareItemsBeforeExport )( 
            IRnLibrary * This,
            /* [in] */ RtBool bSaveItems);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RestoreItemsAfterExport )( 
            IRnLibrary * This,
            /* [in] */ RtBool bSaveItems);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *EnsureItemsPresence )( 
            IRnLibrary * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SaveAsLocal )( 
            IRnLibrary * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OnDeleteLibrary )( 
            IRnLibrary * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *NameExists )( 
            IRnLibrary * This,
            /* [in] */ BSTR nameToCheck,
            /* [out] */ IRnLibrary **foundLibrary,
            /* [out] */ IRnLibraryItem **foundLibraryItem);
        
        END_INTERFACE
    } IRnLibraryVtbl;

    interface IRnLibrary
    {
        CONST_VTBL struct IRnLibraryVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnLibrary_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnLibrary_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnLibrary_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRnLibrary_get_Name(This,pVal)	\
    (This)->lpVtbl -> get_Name(This,pVal)

#define IRnLibrary_put_Name(This,newVal)	\
    (This)->lpVtbl -> put_Name(This,newVal)

#define IRnLibrary_get_HelpText(This,pVal)	\
    (This)->lpVtbl -> get_HelpText(This,pVal)

#define IRnLibrary_put_HelpText(This,newVal)	\
    (This)->lpVtbl -> put_HelpText(This,newVal)

#define IRnLibrary_get_Bitmap(This,hDC,bPreview3D,pVal)	\
    (This)->lpVtbl -> get_Bitmap(This,hDC,bPreview3D,pVal)

#define IRnLibrary_get_Index(This,pVal)	\
    (This)->lpVtbl -> get_Index(This,pVal)

#define IRnLibrary_put_Index(This,newVal)	\
    (This)->lpVtbl -> put_Index(This,newVal)

#define IRnLibrary_put_ForcedIndex(This,newVal)	\
    (This)->lpVtbl -> put_ForcedIndex(This,newVal)

#define IRnLibrary_get_NumOfItems(This,pVal)	\
    (This)->lpVtbl -> get_NumOfItems(This,pVal)

#define IRnLibrary_put_NumOfItems(This,newVal)	\
    (This)->lpVtbl -> put_NumOfItems(This,newVal)

#define IRnLibrary_get_NumOfSubLibraries(This,pVal)	\
    (This)->lpVtbl -> get_NumOfSubLibraries(This,pVal)

#define IRnLibrary_get_NumOfLibraryItems(This,pVal)	\
    (This)->lpVtbl -> get_NumOfLibraryItems(This,pVal)

#define IRnLibrary_get_Type(This,pVal)	\
    (This)->lpVtbl -> get_Type(This,pVal)

#define IRnLibrary_put_Type(This,newVal)	\
    (This)->lpVtbl -> put_Type(This,newVal)

#define IRnLibrary_get_LocalFlag(This,pVal)	\
    (This)->lpVtbl -> get_LocalFlag(This,pVal)

#define IRnLibrary_put_LocalFlag(This,newVal)	\
    (This)->lpVtbl -> put_LocalFlag(This,newVal)

#define IRnLibrary_get_LocalFileName(This,pVal)	\
    (This)->lpVtbl -> get_LocalFileName(This,pVal)

#define IRnLibrary_put_LocalFileName(This,newVal)	\
    (This)->lpVtbl -> put_LocalFileName(This,newVal)

#define IRnLibrary_get_LocalPositionInGraph(This,pVal)	\
    (This)->lpVtbl -> get_LocalPositionInGraph(This,pVal)

#define IRnLibrary_put_LocalPositionInGraph(This,newVal)	\
    (This)->lpVtbl -> put_LocalPositionInGraph(This,newVal)

#define IRnLibrary_get_BmpObj(This,ppVal)	\
    (This)->lpVtbl -> get_BmpObj(This,ppVal)

#define IRnLibrary_put_BmpObj(This,pVal)	\
    (This)->lpVtbl -> put_BmpObj(This,pVal)

#define IRnLibrary_get_SmallBmpObj(This,ppVal)	\
    (This)->lpVtbl -> get_SmallBmpObj(This,ppVal)

#define IRnLibrary_put_SmallBmpObj(This,pVal)	\
    (This)->lpVtbl -> put_SmallBmpObj(This,pVal)

#define IRnLibrary_get_ExportFileName(This,bszFileName)	\
    (This)->lpVtbl -> get_ExportFileName(This,bszFileName)

#define IRnLibrary_get_IsPerformingLocalSaveOperations(This,pVal)	\
    (This)->lpVtbl -> get_IsPerformingLocalSaveOperations(This,pVal)

#define IRnLibrary_GetBitmapSize(This,bPreview3D,hDC,psWidth,psHeight)	\
    (This)->lpVtbl -> GetBitmapSize(This,bPreview3D,hDC,psWidth,psHeight)

#define IRnLibrary_GetSubLibrary(This,nIndex,pLibrary)	\
    (This)->lpVtbl -> GetSubLibrary(This,nIndex,pLibrary)

#define IRnLibrary_GetLibraryItem(This,nIndex,pLibraryItem)	\
    (This)->lpVtbl -> GetLibraryItem(This,nIndex,pLibraryItem)

#define IRnLibrary_GetLibrariesHeight(This,pVal)	\
    (This)->lpVtbl -> GetLibrariesHeight(This,pVal)

#define IRnLibrary_get_CustomLibraryBitmap(This,pVal)	\
    (This)->lpVtbl -> get_CustomLibraryBitmap(This,pVal)

#define IRnLibrary_put_CustomLibraryBitmap(This,newVal)	\
    (This)->lpVtbl -> put_CustomLibraryBitmap(This,newVal)

#define IRnLibrary_AddItem(This,pNode,lppItem)	\
    (This)->lpVtbl -> AddItem(This,pNode,lppItem)

#define IRnLibrary_AddLibrary(This,pLibrary,lppLibrary)	\
    (This)->lpVtbl -> AddLibrary(This,pLibrary,lppLibrary)

#define IRnLibrary_ChangeLibraryIndex(This,index,lpLibrary)	\
    (This)->lpVtbl -> ChangeLibraryIndex(This,index,lpLibrary)

#define IRnLibrary_ChangeLibraryItemIndex(This,index,lpLibraryItem)	\
    (This)->lpVtbl -> ChangeLibraryItemIndex(This,index,lpLibraryItem)

#define IRnLibrary_GetCorrectLibraryItemName(This,libraryItem,oldName,newName)	\
    (This)->lpVtbl -> GetCorrectLibraryItemName(This,libraryItem,oldName,newName)

#define IRnLibrary_CorrectLibraryItemName(This,libraryItem,newName)	\
    (This)->lpVtbl -> CorrectLibraryItemName(This,libraryItem,newName)

#define IRnLibrary_SetAndSaveLocalSave(This,bLocalSave)	\
    (This)->lpVtbl -> SetAndSaveLocalSave(This,bLocalSave)

#define IRnLibrary_RestoreAfterExport(This)	\
    (This)->lpVtbl -> RestoreAfterExport(This)

#define IRnLibrary_PrepareForExport(This)	\
    (This)->lpVtbl -> PrepareForExport(This)

#define IRnLibrary_RestoreLocalSave(This)	\
    (This)->lpVtbl -> RestoreLocalSave(This)

#define IRnLibrary_StoreCurrentName(This)	\
    (This)->lpVtbl -> StoreCurrentName(This)

#define IRnLibrary_ExportLibraryToFile(This,bszFileName,bSaveItems)	\
    (This)->lpVtbl -> ExportLibraryToFile(This,bszFileName,bSaveItems)

#define IRnLibrary_CanBeLocal(This,pResult)	\
    (This)->lpVtbl -> CanBeLocal(This,pResult)

#define IRnLibrary_get_GroupId(This,pVal)	\
    (This)->lpVtbl -> get_GroupId(This,pVal)

#define IRnLibrary_put_GroupId(This,newVal)	\
    (This)->lpVtbl -> put_GroupId(This,newVal)

#define IRnLibrary_PrepareItemsBeforeExport(This,bSaveItems)	\
    (This)->lpVtbl -> PrepareItemsBeforeExport(This,bSaveItems)

#define IRnLibrary_RestoreItemsAfterExport(This,bSaveItems)	\
    (This)->lpVtbl -> RestoreItemsAfterExport(This,bSaveItems)

#define IRnLibrary_EnsureItemsPresence(This)	\
    (This)->lpVtbl -> EnsureItemsPresence(This)

#define IRnLibrary_SaveAsLocal(This)	\
    (This)->lpVtbl -> SaveAsLocal(This)

#define IRnLibrary_OnDeleteLibrary(This)	\
    (This)->lpVtbl -> OnDeleteLibrary(This)

#define IRnLibrary_NameExists(This,nameToCheck,foundLibrary,foundLibraryItem)	\
    (This)->lpVtbl -> NameExists(This,nameToCheck,foundLibrary,foundLibraryItem)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRnLibrary_get_Name_Proxy( 
    IRnLibrary * This,
    /* [retval][out] */ BSTR *pVal);


void __RPC_STUB IRnLibrary_get_Name_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRnLibrary_put_Name_Proxy( 
    IRnLibrary * This,
    /* [in] */ BSTR newVal);


void __RPC_STUB IRnLibrary_put_Name_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRnLibrary_get_HelpText_Proxy( 
    IRnLibrary * This,
    /* [retval][out] */ BSTR *pVal);


void __RPC_STUB IRnLibrary_get_HelpText_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRnLibrary_put_HelpText_Proxy( 
    IRnLibrary * This,
    /* [in] */ BSTR newVal);


void __RPC_STUB IRnLibrary_put_HelpText_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRnLibrary_get_Bitmap_Proxy( 
    IRnLibrary * This,
    /* [in] */ HDC hDC,
    /* [in] */ RtBool bPreview3D,
    /* [retval][out] */ HBITMAP *pVal);


void __RPC_STUB IRnLibrary_get_Bitmap_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRnLibrary_get_Index_Proxy( 
    IRnLibrary * This,
    /* [retval][out] */ RtUlong *pVal);


void __RPC_STUB IRnLibrary_get_Index_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRnLibrary_put_Index_Proxy( 
    IRnLibrary * This,
    /* [in] */ RtUlong newVal);


void __RPC_STUB IRnLibrary_put_Index_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRnLibrary_put_ForcedIndex_Proxy( 
    IRnLibrary * This,
    /* [in] */ RtUlong newVal);


void __RPC_STUB IRnLibrary_put_ForcedIndex_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRnLibrary_get_NumOfItems_Proxy( 
    IRnLibrary * This,
    /* [retval][out] */ RtUlong *pVal);


void __RPC_STUB IRnLibrary_get_NumOfItems_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRnLibrary_put_NumOfItems_Proxy( 
    IRnLibrary * This,
    /* [in] */ RtUlong newVal);


void __RPC_STUB IRnLibrary_put_NumOfItems_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRnLibrary_get_NumOfSubLibraries_Proxy( 
    IRnLibrary * This,
    /* [retval][out] */ RtUlong *pVal);


void __RPC_STUB IRnLibrary_get_NumOfSubLibraries_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRnLibrary_get_NumOfLibraryItems_Proxy( 
    IRnLibrary * This,
    /* [retval][out] */ RtUlong *pVal);


void __RPC_STUB IRnLibrary_get_NumOfLibraryItems_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRnLibrary_get_Type_Proxy( 
    IRnLibrary * This,
    /* [retval][out] */ RtLibraryType *pVal);


void __RPC_STUB IRnLibrary_get_Type_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRnLibrary_put_Type_Proxy( 
    IRnLibrary * This,
    /* [in] */ RtLibraryType newVal);


void __RPC_STUB IRnLibrary_put_Type_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRnLibrary_get_LocalFlag_Proxy( 
    IRnLibrary * This,
    /* [retval][out] */ RtUlong *pVal);


void __RPC_STUB IRnLibrary_get_LocalFlag_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRnLibrary_put_LocalFlag_Proxy( 
    IRnLibrary * This,
    /* [in] */ RtUlong newVal);


void __RPC_STUB IRnLibrary_put_LocalFlag_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRnLibrary_get_LocalFileName_Proxy( 
    IRnLibrary * This,
    /* [retval][out] */ BSTR *pVal);


void __RPC_STUB IRnLibrary_get_LocalFileName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRnLibrary_put_LocalFileName_Proxy( 
    IRnLibrary * This,
    /* [in] */ BSTR newVal);


void __RPC_STUB IRnLibrary_put_LocalFileName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRnLibrary_get_LocalPositionInGraph_Proxy( 
    IRnLibrary * This,
    /* [retval][out] */ BSTR *pVal);


void __RPC_STUB IRnLibrary_get_LocalPositionInGraph_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRnLibrary_put_LocalPositionInGraph_Proxy( 
    IRnLibrary * This,
    /* [in] */ BSTR newVal);


void __RPC_STUB IRnLibrary_put_LocalPositionInGraph_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRnLibrary_get_BmpObj_Proxy( 
    IRnLibrary * This,
    /* [retval][out] */ IRdBitmap **ppVal);


void __RPC_STUB IRnLibrary_get_BmpObj_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRnLibrary_put_BmpObj_Proxy( 
    IRnLibrary * This,
    /* [in] */ IRdBitmap *pVal);


void __RPC_STUB IRnLibrary_put_BmpObj_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRnLibrary_get_SmallBmpObj_Proxy( 
    IRnLibrary * This,
    /* [retval][out] */ IRdBitmap **ppVal);


void __RPC_STUB IRnLibrary_get_SmallBmpObj_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRnLibrary_put_SmallBmpObj_Proxy( 
    IRnLibrary * This,
    /* [in] */ IRdBitmap *pVal);


void __RPC_STUB IRnLibrary_put_SmallBmpObj_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRnLibrary_get_ExportFileName_Proxy( 
    IRnLibrary * This,
    /* [retval][out] */ BSTR *bszFileName);


void __RPC_STUB IRnLibrary_get_ExportFileName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRnLibrary_get_IsPerformingLocalSaveOperations_Proxy( 
    IRnLibrary * This,
    /* [retval][out] */ RtBool *pVal);


void __RPC_STUB IRnLibrary_get_IsPerformingLocalSaveOperations_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnLibrary_GetBitmapSize_Proxy( 
    IRnLibrary * This,
    /* [in] */ RtBool bPreview3D,
    /* [in] */ HDC hDC,
    /* [out] */ RtShort *psWidth,
    /* [out] */ RtShort *psHeight);


void __RPC_STUB IRnLibrary_GetBitmapSize_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnLibrary_GetSubLibrary_Proxy( 
    IRnLibrary * This,
    /* [in] */ RtUlong nIndex,
    /* [retval][out] */ IRnLibrary **pLibrary);


void __RPC_STUB IRnLibrary_GetSubLibrary_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnLibrary_GetLibraryItem_Proxy( 
    IRnLibrary * This,
    /* [in] */ RtUlong nIndex,
    /* [out] */ IRnLibraryItem **pLibraryItem);


void __RPC_STUB IRnLibrary_GetLibraryItem_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnLibrary_GetLibrariesHeight_Proxy( 
    IRnLibrary * This,
    /* [retval][out] */ RtUlong *pVal);


void __RPC_STUB IRnLibrary_GetLibrariesHeight_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRnLibrary_get_CustomLibraryBitmap_Proxy( 
    IRnLibrary * This,
    /* [retval][out] */ RtBool *pVal);


void __RPC_STUB IRnLibrary_get_CustomLibraryBitmap_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRnLibrary_put_CustomLibraryBitmap_Proxy( 
    IRnLibrary * This,
    /* [in] */ RtBool newVal);


void __RPC_STUB IRnLibrary_put_CustomLibraryBitmap_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnLibrary_AddItem_Proxy( 
    IRnLibrary * This,
    /* [in] */ IRsNode *pNode,
    /* [retval][out] */ IRnLibraryItem **lppItem);


void __RPC_STUB IRnLibrary_AddItem_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnLibrary_AddLibrary_Proxy( 
    IRnLibrary * This,
    /* [in] */ IRnLibrary *pLibrary,
    /* [retval][out] */ IRnLibrary **lppLibrary);


void __RPC_STUB IRnLibrary_AddLibrary_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnLibrary_ChangeLibraryIndex_Proxy( 
    IRnLibrary * This,
    /* [out][in] */ RtUlong *index,
    /* [in] */ IRnLibrary *lpLibrary);


void __RPC_STUB IRnLibrary_ChangeLibraryIndex_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnLibrary_ChangeLibraryItemIndex_Proxy( 
    IRnLibrary * This,
    /* [out][in] */ RtUlong *index,
    /* [in] */ IRnLibraryItem *lpLibraryItem);


void __RPC_STUB IRnLibrary_ChangeLibraryItemIndex_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnLibrary_GetCorrectLibraryItemName_Proxy( 
    IRnLibrary * This,
    /* [in] */ IRnLibraryItem *libraryItem,
    /* [in] */ BSTR oldName,
    /* [retval][out] */ BSTR *newName);


void __RPC_STUB IRnLibrary_GetCorrectLibraryItemName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnLibrary_CorrectLibraryItemName_Proxy( 
    IRnLibrary * This,
    /* [in] */ IRnLibraryItem *libraryItem,
    /* [retval][out] */ BSTR *newName);


void __RPC_STUB IRnLibrary_CorrectLibraryItemName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnLibrary_SetAndSaveLocalSave_Proxy( 
    IRnLibrary * This,
    /* [in] */ RtBool bLocalSave);


void __RPC_STUB IRnLibrary_SetAndSaveLocalSave_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnLibrary_RestoreAfterExport_Proxy( 
    IRnLibrary * This);


void __RPC_STUB IRnLibrary_RestoreAfterExport_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnLibrary_PrepareForExport_Proxy( 
    IRnLibrary * This);


void __RPC_STUB IRnLibrary_PrepareForExport_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnLibrary_RestoreLocalSave_Proxy( 
    IRnLibrary * This);


void __RPC_STUB IRnLibrary_RestoreLocalSave_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnLibrary_StoreCurrentName_Proxy( 
    IRnLibrary * This);


void __RPC_STUB IRnLibrary_StoreCurrentName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnLibrary_ExportLibraryToFile_Proxy( 
    IRnLibrary * This,
    /* [in] */ BSTR bszFileName,
    /* [in] */ RtBool bSaveItems);


void __RPC_STUB IRnLibrary_ExportLibraryToFile_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnLibrary_CanBeLocal_Proxy( 
    IRnLibrary * This,
    /* [out] */ RtBool *pResult);


void __RPC_STUB IRnLibrary_CanBeLocal_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRnLibrary_get_GroupId_Proxy( 
    IRnLibrary * This,
    /* [retval][out] */ RtUlong *pVal);


void __RPC_STUB IRnLibrary_get_GroupId_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRnLibrary_put_GroupId_Proxy( 
    IRnLibrary * This,
    /* [in] */ RtUlong newVal);


void __RPC_STUB IRnLibrary_put_GroupId_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnLibrary_PrepareItemsBeforeExport_Proxy( 
    IRnLibrary * This,
    /* [in] */ RtBool bSaveItems);


void __RPC_STUB IRnLibrary_PrepareItemsBeforeExport_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnLibrary_RestoreItemsAfterExport_Proxy( 
    IRnLibrary * This,
    /* [in] */ RtBool bSaveItems);


void __RPC_STUB IRnLibrary_RestoreItemsAfterExport_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnLibrary_EnsureItemsPresence_Proxy( 
    IRnLibrary * This);


void __RPC_STUB IRnLibrary_EnsureItemsPresence_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnLibrary_SaveAsLocal_Proxy( 
    IRnLibrary * This);


void __RPC_STUB IRnLibrary_SaveAsLocal_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnLibrary_OnDeleteLibrary_Proxy( 
    IRnLibrary * This);


void __RPC_STUB IRnLibrary_OnDeleteLibrary_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnLibrary_NameExists_Proxy( 
    IRnLibrary * This,
    /* [in] */ BSTR nameToCheck,
    /* [out] */ IRnLibrary **foundLibrary,
    /* [out] */ IRnLibraryItem **foundLibraryItem);


void __RPC_STUB IRnLibrary_NameExists_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRnLibrary_INTERFACE_DEFINED__ */


/* interface __MIDL_itf__Kernel_0964 */
/* [local] */ 

typedef 
enum _tagRtLibraryMouseEvent
    {	LME_NOTHING	= 0,
	LME_LCLICK	= 1,
	LME_LDOUBLECLICK	= 2,
	LME_RCLICK	= 3,
	LME_RDOUBLECLICK	= 4,
	LME_MCLICK	= 5,
	LME_MDOUBLECLICK	= 6
    } 	RtLibraryMouseEvent;



extern RPC_IF_HANDLE __MIDL_itf__Kernel_0964_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf__Kernel_0964_v0_0_s_ifspec;

#ifndef __IRsLibraryEventReceiver_INTERFACE_DEFINED__
#define __IRsLibraryEventReceiver_INTERFACE_DEFINED__

/* interface IRsLibraryEventReceiver */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsLibraryEventReceiver;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("12DFCE8E-E342-4733-9046-8A774F5F8E7A")
    IRsLibraryEventReceiver : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnLibraryMouseEvent( 
            /* [in] */ RtLibraryMouseEvent iEvent,
            /* [in] */ IRnLibraryItem *pLibraryItem,
            /* [in] */ IRsNode *pLibraryVisualEncapsulator) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsLibraryEventReceiverVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsLibraryEventReceiver * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsLibraryEventReceiver * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsLibraryEventReceiver * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OnLibraryMouseEvent )( 
            IRsLibraryEventReceiver * This,
            /* [in] */ RtLibraryMouseEvent iEvent,
            /* [in] */ IRnLibraryItem *pLibraryItem,
            /* [in] */ IRsNode *pLibraryVisualEncapsulator);
        
        END_INTERFACE
    } IRsLibraryEventReceiverVtbl;

    interface IRsLibraryEventReceiver
    {
        CONST_VTBL struct IRsLibraryEventReceiverVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsLibraryEventReceiver_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsLibraryEventReceiver_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsLibraryEventReceiver_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsLibraryEventReceiver_OnLibraryMouseEvent(This,iEvent,pLibraryItem,pLibraryVisualEncapsulator)	\
    (This)->lpVtbl -> OnLibraryMouseEvent(This,iEvent,pLibraryItem,pLibraryVisualEncapsulator)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsLibraryEventReceiver_OnLibraryMouseEvent_Proxy( 
    IRsLibraryEventReceiver * This,
    /* [in] */ RtLibraryMouseEvent iEvent,
    /* [in] */ IRnLibraryItem *pLibraryItem,
    /* [in] */ IRsNode *pLibraryVisualEncapsulator);


void __RPC_STUB IRsLibraryEventReceiver_OnLibraryMouseEvent_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsLibraryEventReceiver_INTERFACE_DEFINED__ */


#ifndef __IRsBaseScript_INTERFACE_DEFINED__
#define __IRsBaseScript_INTERFACE_DEFINED__

/* interface IRsBaseScript */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsBaseScript;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("156BDF54-97D1-477d-9ACB-D8ECF35E1C81")
    IRsBaseScript : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetScriptDO( 
            /* [in] */ IRdScriptObject *pScriptData) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetScriptDO( 
            /* [in] */ IRdScriptObject **ppScriptData) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ReloadDefault( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsBaseScriptVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsBaseScript * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsBaseScript * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsBaseScript * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetScriptDO )( 
            IRsBaseScript * This,
            /* [in] */ IRdScriptObject *pScriptData);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetScriptDO )( 
            IRsBaseScript * This,
            /* [in] */ IRdScriptObject **ppScriptData);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ReloadDefault )( 
            IRsBaseScript * This);
        
        END_INTERFACE
    } IRsBaseScriptVtbl;

    interface IRsBaseScript
    {
        CONST_VTBL struct IRsBaseScriptVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsBaseScript_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsBaseScript_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsBaseScript_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsBaseScript_SetScriptDO(This,pScriptData)	\
    (This)->lpVtbl -> SetScriptDO(This,pScriptData)

#define IRsBaseScript_GetScriptDO(This,ppScriptData)	\
    (This)->lpVtbl -> GetScriptDO(This,ppScriptData)

#define IRsBaseScript_ReloadDefault(This)	\
    (This)->lpVtbl -> ReloadDefault(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsBaseScript_SetScriptDO_Proxy( 
    IRsBaseScript * This,
    /* [in] */ IRdScriptObject *pScriptData);


void __RPC_STUB IRsBaseScript_SetScriptDO_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsBaseScript_GetScriptDO_Proxy( 
    IRsBaseScript * This,
    /* [in] */ IRdScriptObject **ppScriptData);


void __RPC_STUB IRsBaseScript_GetScriptDO_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsBaseScript_ReloadDefault_Proxy( 
    IRsBaseScript * This);


void __RPC_STUB IRsBaseScript_ReloadDefault_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsBaseScript_INTERFACE_DEFINED__ */


#ifndef __IRcScriptCmd_INTERFACE_DEFINED__
#define __IRcScriptCmd_INTERFACE_DEFINED__

/* interface IRcScriptCmd */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcScriptCmd;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("F514EE34-388D-4A40-831B-1C150D3C70A4")
    IRcScriptCmd : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE FillParamConnectors( 
            /* [in] */ DISPPARAMS *pdispparams) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE FillParamConnectors2( 
            /* [in] */ LPSAFEARRAY pSA) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE InitializeFromScriptLine( 
            /* [in] */ BSTR bsScriptLine) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetQuietMode( 
            /* [in] */ RtBOOL bQuiet) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetLastErrorInfo( 
            /* [out] */ RtScriptErrorInfo *pErrInfo) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE StartMacroRecording( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE StopMacroRecording( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRcScriptCmdVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcScriptCmd * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcScriptCmd * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcScriptCmd * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *FillParamConnectors )( 
            IRcScriptCmd * This,
            /* [in] */ DISPPARAMS *pdispparams);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *FillParamConnectors2 )( 
            IRcScriptCmd * This,
            /* [in] */ LPSAFEARRAY pSA);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *InitializeFromScriptLine )( 
            IRcScriptCmd * This,
            /* [in] */ BSTR bsScriptLine);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetQuietMode )( 
            IRcScriptCmd * This,
            /* [in] */ RtBOOL bQuiet);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetLastErrorInfo )( 
            IRcScriptCmd * This,
            /* [out] */ RtScriptErrorInfo *pErrInfo);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *StartMacroRecording )( 
            IRcScriptCmd * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *StopMacroRecording )( 
            IRcScriptCmd * This);
        
        END_INTERFACE
    } IRcScriptCmdVtbl;

    interface IRcScriptCmd
    {
        CONST_VTBL struct IRcScriptCmdVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcScriptCmd_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcScriptCmd_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcScriptCmd_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRcScriptCmd_FillParamConnectors(This,pdispparams)	\
    (This)->lpVtbl -> FillParamConnectors(This,pdispparams)

#define IRcScriptCmd_FillParamConnectors2(This,pSA)	\
    (This)->lpVtbl -> FillParamConnectors2(This,pSA)

#define IRcScriptCmd_InitializeFromScriptLine(This,bsScriptLine)	\
    (This)->lpVtbl -> InitializeFromScriptLine(This,bsScriptLine)

#define IRcScriptCmd_SetQuietMode(This,bQuiet)	\
    (This)->lpVtbl -> SetQuietMode(This,bQuiet)

#define IRcScriptCmd_GetLastErrorInfo(This,pErrInfo)	\
    (This)->lpVtbl -> GetLastErrorInfo(This,pErrInfo)

#define IRcScriptCmd_StartMacroRecording(This)	\
    (This)->lpVtbl -> StartMacroRecording(This)

#define IRcScriptCmd_StopMacroRecording(This)	\
    (This)->lpVtbl -> StopMacroRecording(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRcScriptCmd_FillParamConnectors_Proxy( 
    IRcScriptCmd * This,
    /* [in] */ DISPPARAMS *pdispparams);


void __RPC_STUB IRcScriptCmd_FillParamConnectors_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRcScriptCmd_FillParamConnectors2_Proxy( 
    IRcScriptCmd * This,
    /* [in] */ LPSAFEARRAY pSA);


void __RPC_STUB IRcScriptCmd_FillParamConnectors2_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRcScriptCmd_InitializeFromScriptLine_Proxy( 
    IRcScriptCmd * This,
    /* [in] */ BSTR bsScriptLine);


void __RPC_STUB IRcScriptCmd_InitializeFromScriptLine_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRcScriptCmd_SetQuietMode_Proxy( 
    IRcScriptCmd * This,
    /* [in] */ RtBOOL bQuiet);


void __RPC_STUB IRcScriptCmd_SetQuietMode_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRcScriptCmd_GetLastErrorInfo_Proxy( 
    IRcScriptCmd * This,
    /* [out] */ RtScriptErrorInfo *pErrInfo);


void __RPC_STUB IRcScriptCmd_GetLastErrorInfo_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRcScriptCmd_StartMacroRecording_Proxy( 
    IRcScriptCmd * This);


void __RPC_STUB IRcScriptCmd_StartMacroRecording_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRcScriptCmd_StopMacroRecording_Proxy( 
    IRcScriptCmd * This);


void __RPC_STUB IRcScriptCmd_StopMacroRecording_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRcScriptCmd_INTERFACE_DEFINED__ */


#ifndef __IRnScriptNode_INTERFACE_DEFINED__
#define __IRnScriptNode_INTERFACE_DEFINED__

/* interface IRnScriptNode */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnScriptNode;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("C9E2A4CD-2AE5-4513-9EE1-6762C4ACDAE6")
    IRnScriptNode : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ConNameToGUID( 
            /* [in] */ BSTR *bsName,
            /* [in] */ GUID *pCon_id,
            /* [in] */ VARTYPE *pVarType) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetDefaultDependency( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetDepend( 
            /* [in] */ BSTR nameFrom,
            /* [in] */ BSTR nameTo) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE InvalidateAllCons( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRnScriptNodeVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnScriptNode * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnScriptNode * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnScriptNode * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ConNameToGUID )( 
            IRnScriptNode * This,
            /* [in] */ BSTR *bsName,
            /* [in] */ GUID *pCon_id,
            /* [in] */ VARTYPE *pVarType);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetDefaultDependency )( 
            IRnScriptNode * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetDepend )( 
            IRnScriptNode * This,
            /* [in] */ BSTR nameFrom,
            /* [in] */ BSTR nameTo);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *InvalidateAllCons )( 
            IRnScriptNode * This);
        
        END_INTERFACE
    } IRnScriptNodeVtbl;

    interface IRnScriptNode
    {
        CONST_VTBL struct IRnScriptNodeVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnScriptNode_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnScriptNode_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnScriptNode_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRnScriptNode_ConNameToGUID(This,bsName,pCon_id,pVarType)	\
    (This)->lpVtbl -> ConNameToGUID(This,bsName,pCon_id,pVarType)

#define IRnScriptNode_SetDefaultDependency(This)	\
    (This)->lpVtbl -> SetDefaultDependency(This)

#define IRnScriptNode_SetDepend(This,nameFrom,nameTo)	\
    (This)->lpVtbl -> SetDepend(This,nameFrom,nameTo)

#define IRnScriptNode_InvalidateAllCons(This)	\
    (This)->lpVtbl -> InvalidateAllCons(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnScriptNode_ConNameToGUID_Proxy( 
    IRnScriptNode * This,
    /* [in] */ BSTR *bsName,
    /* [in] */ GUID *pCon_id,
    /* [in] */ VARTYPE *pVarType);


void __RPC_STUB IRnScriptNode_ConNameToGUID_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnScriptNode_SetDefaultDependency_Proxy( 
    IRnScriptNode * This);


void __RPC_STUB IRnScriptNode_SetDefaultDependency_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnScriptNode_SetDepend_Proxy( 
    IRnScriptNode * This,
    /* [in] */ BSTR nameFrom,
    /* [in] */ BSTR nameTo);


void __RPC_STUB IRnScriptNode_SetDepend_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnScriptNode_InvalidateAllCons_Proxy( 
    IRnScriptNode * This);


void __RPC_STUB IRnScriptNode_InvalidateAllCons_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRnScriptNode_INTERFACE_DEFINED__ */


#ifndef __IRfScriptFnSet_INTERFACE_DEFINED__
#define __IRfScriptFnSet_INTERFACE_DEFINED__

/* interface IRfScriptFnSet */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRfScriptFnSet;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("E66AC5D0-C1EF-4a93-9A29-4DB9521D0AD9")
    IRfScriptFnSet : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Access( 
            /* [in] */ IDispatch **ppScriptDisp) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRfScriptFnSetVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRfScriptFnSet * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRfScriptFnSet * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRfScriptFnSet * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Access )( 
            IRfScriptFnSet * This,
            /* [in] */ IDispatch **ppScriptDisp);
        
        END_INTERFACE
    } IRfScriptFnSetVtbl;

    interface IRfScriptFnSet
    {
        CONST_VTBL struct IRfScriptFnSetVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRfScriptFnSet_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRfScriptFnSet_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRfScriptFnSet_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRfScriptFnSet_Access(This,ppScriptDisp)	\
    (This)->lpVtbl -> Access(This,ppScriptDisp)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfScriptFnSet_Access_Proxy( 
    IRfScriptFnSet * This,
    /* [in] */ IDispatch **ppScriptDisp);


void __RPC_STUB IRfScriptFnSet_Access_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRfScriptFnSet_INTERFACE_DEFINED__ */


#ifndef __IRsUIControlSize_INTERFACE_DEFINED__
#define __IRsUIControlSize_INTERFACE_DEFINED__

/* interface IRsUIControlSize */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsUIControlSize;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("2697CC23-6B26-4d9c-B0C5-082B5ADED6DA")
    IRsUIControlSize : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetTextSize( 
            /* [in] */ BOOL bAspectToolbar,
            /* [out] */ RtShort *psWidth,
            /* [out] */ RtShort *psHeight) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsUIControlSizeVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsUIControlSize * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsUIControlSize * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsUIControlSize * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetTextSize )( 
            IRsUIControlSize * This,
            /* [in] */ BOOL bAspectToolbar,
            /* [out] */ RtShort *psWidth,
            /* [out] */ RtShort *psHeight);
        
        END_INTERFACE
    } IRsUIControlSizeVtbl;

    interface IRsUIControlSize
    {
        CONST_VTBL struct IRsUIControlSizeVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsUIControlSize_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsUIControlSize_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsUIControlSize_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsUIControlSize_GetTextSize(This,bAspectToolbar,psWidth,psHeight)	\
    (This)->lpVtbl -> GetTextSize(This,bAspectToolbar,psWidth,psHeight)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsUIControlSize_GetTextSize_Proxy( 
    IRsUIControlSize * This,
    /* [in] */ BOOL bAspectToolbar,
    /* [out] */ RtShort *psWidth,
    /* [out] */ RtShort *psHeight);


void __RPC_STUB IRsUIControlSize_GetTextSize_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsUIControlSize_INTERFACE_DEFINED__ */


/* interface __MIDL_itf__Kernel_0970 */
/* [local] */ 

typedef 
enum _tagRtUIDescFlags
    {	UIFLAG_DEFAULT	= 1,
	UIFLAG_CONTENTICON	= 2,
	UIFLAG_DUAL	= 3,
	UIFLAG_NOTCUSTOMIZABLE	= 4
    } 	RtUIDescFlags;

typedef struct _tagRtUIControlDesc
    {
    const IID *piid;
    const CLSID *ciid;
    BSTR bsName;
    BSTR bsAxString;
    RtUIDescFlags dwFlags;
    RtUshort usRes2D;
    } 	RtUIControlDesc;



extern RPC_IF_HANDLE __MIDL_itf__Kernel_0970_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf__Kernel_0970_v0_0_s_ifspec;

#ifndef __IRsUIControlDesc_INTERFACE_DEFINED__
#define __IRsUIControlDesc_INTERFACE_DEFINED__

/* interface IRsUIControlDesc */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsUIControlDesc;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("2BFFC7AA-52D0-4C9B-8774-7B28F7272167")
    IRsUIControlDesc : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Initialize( 
            /* [in] */ RtUIControlDesc desc) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetIID( 
            /* [retval][out] */ IID *piid) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetPackageCLSID( 
            /* [retval][out] */ CLSID *ciid) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetName( 
            /* [retval][out] */ BSTR *bsName) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetAxString( 
            /* [retval][out] */ BSTR *bsAxString) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetFlags( 
            /* [retval][out] */ RtUIDescFlags *pFlags) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetResId( 
            /* [retval][out] */ RtUshort *pRes2D) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsUIControlDescVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsUIControlDesc * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsUIControlDesc * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsUIControlDesc * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Initialize )( 
            IRsUIControlDesc * This,
            /* [in] */ RtUIControlDesc desc);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetIID )( 
            IRsUIControlDesc * This,
            /* [retval][out] */ IID *piid);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetPackageCLSID )( 
            IRsUIControlDesc * This,
            /* [retval][out] */ CLSID *ciid);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetName )( 
            IRsUIControlDesc * This,
            /* [retval][out] */ BSTR *bsName);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetAxString )( 
            IRsUIControlDesc * This,
            /* [retval][out] */ BSTR *bsAxString);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetFlags )( 
            IRsUIControlDesc * This,
            /* [retval][out] */ RtUIDescFlags *pFlags);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetResId )( 
            IRsUIControlDesc * This,
            /* [retval][out] */ RtUshort *pRes2D);
        
        END_INTERFACE
    } IRsUIControlDescVtbl;

    interface IRsUIControlDesc
    {
        CONST_VTBL struct IRsUIControlDescVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsUIControlDesc_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsUIControlDesc_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsUIControlDesc_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsUIControlDesc_Initialize(This,desc)	\
    (This)->lpVtbl -> Initialize(This,desc)

#define IRsUIControlDesc_GetIID(This,piid)	\
    (This)->lpVtbl -> GetIID(This,piid)

#define IRsUIControlDesc_GetPackageCLSID(This,ciid)	\
    (This)->lpVtbl -> GetPackageCLSID(This,ciid)

#define IRsUIControlDesc_GetName(This,bsName)	\
    (This)->lpVtbl -> GetName(This,bsName)

#define IRsUIControlDesc_GetAxString(This,bsAxString)	\
    (This)->lpVtbl -> GetAxString(This,bsAxString)

#define IRsUIControlDesc_GetFlags(This,pFlags)	\
    (This)->lpVtbl -> GetFlags(This,pFlags)

#define IRsUIControlDesc_GetResId(This,pRes2D)	\
    (This)->lpVtbl -> GetResId(This,pRes2D)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsUIControlDesc_Initialize_Proxy( 
    IRsUIControlDesc * This,
    /* [in] */ RtUIControlDesc desc);


void __RPC_STUB IRsUIControlDesc_Initialize_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsUIControlDesc_GetIID_Proxy( 
    IRsUIControlDesc * This,
    /* [retval][out] */ IID *piid);


void __RPC_STUB IRsUIControlDesc_GetIID_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsUIControlDesc_GetPackageCLSID_Proxy( 
    IRsUIControlDesc * This,
    /* [retval][out] */ CLSID *ciid);


void __RPC_STUB IRsUIControlDesc_GetPackageCLSID_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsUIControlDesc_GetName_Proxy( 
    IRsUIControlDesc * This,
    /* [retval][out] */ BSTR *bsName);


void __RPC_STUB IRsUIControlDesc_GetName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsUIControlDesc_GetAxString_Proxy( 
    IRsUIControlDesc * This,
    /* [retval][out] */ BSTR *bsAxString);


void __RPC_STUB IRsUIControlDesc_GetAxString_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsUIControlDesc_GetFlags_Proxy( 
    IRsUIControlDesc * This,
    /* [retval][out] */ RtUIDescFlags *pFlags);


void __RPC_STUB IRsUIControlDesc_GetFlags_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsUIControlDesc_GetResId_Proxy( 
    IRsUIControlDesc * This,
    /* [retval][out] */ RtUshort *pRes2D);


void __RPC_STUB IRsUIControlDesc_GetResId_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsUIControlDesc_INTERFACE_DEFINED__ */


#ifndef __IRsEnumUIControlDesc_INTERFACE_DEFINED__
#define __IRsEnumUIControlDesc_INTERFACE_DEFINED__

/* interface IRsEnumUIControlDesc */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsEnumUIControlDesc;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("09C0580E-0F24-45D7-A7B5-81A6845AC848")
    IRsEnumUIControlDesc : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Next( 
            /* [in] */ ULONG cControls,
            /* [out] */ IRsUIControlDesc **ppUIControlDescArray,
            /* [out] */ ULONG *pcFetched) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Skip( 
            /* [in] */ ULONG cControls) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Reset( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Clone( 
            /* [out] */ IRsEnumUIControlDesc **ppEnum) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsEnumUIControlDescVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsEnumUIControlDesc * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsEnumUIControlDesc * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsEnumUIControlDesc * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Next )( 
            IRsEnumUIControlDesc * This,
            /* [in] */ ULONG cControls,
            /* [out] */ IRsUIControlDesc **ppUIControlDescArray,
            /* [out] */ ULONG *pcFetched);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Skip )( 
            IRsEnumUIControlDesc * This,
            /* [in] */ ULONG cControls);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Reset )( 
            IRsEnumUIControlDesc * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Clone )( 
            IRsEnumUIControlDesc * This,
            /* [out] */ IRsEnumUIControlDesc **ppEnum);
        
        END_INTERFACE
    } IRsEnumUIControlDescVtbl;

    interface IRsEnumUIControlDesc
    {
        CONST_VTBL struct IRsEnumUIControlDescVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsEnumUIControlDesc_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsEnumUIControlDesc_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsEnumUIControlDesc_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsEnumUIControlDesc_Next(This,cControls,ppUIControlDescArray,pcFetched)	\
    (This)->lpVtbl -> Next(This,cControls,ppUIControlDescArray,pcFetched)

#define IRsEnumUIControlDesc_Skip(This,cControls)	\
    (This)->lpVtbl -> Skip(This,cControls)

#define IRsEnumUIControlDesc_Reset(This)	\
    (This)->lpVtbl -> Reset(This)

#define IRsEnumUIControlDesc_Clone(This,ppEnum)	\
    (This)->lpVtbl -> Clone(This,ppEnum)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsEnumUIControlDesc_Next_Proxy( 
    IRsEnumUIControlDesc * This,
    /* [in] */ ULONG cControls,
    /* [out] */ IRsUIControlDesc **ppUIControlDescArray,
    /* [out] */ ULONG *pcFetched);


void __RPC_STUB IRsEnumUIControlDesc_Next_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsEnumUIControlDesc_Skip_Proxy( 
    IRsEnumUIControlDesc * This,
    /* [in] */ ULONG cControls);


void __RPC_STUB IRsEnumUIControlDesc_Skip_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsEnumUIControlDesc_Reset_Proxy( 
    IRsEnumUIControlDesc * This);


void __RPC_STUB IRsEnumUIControlDesc_Reset_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsEnumUIControlDesc_Clone_Proxy( 
    IRsEnumUIControlDesc * This,
    /* [out] */ IRsEnumUIControlDesc **ppEnum);


void __RPC_STUB IRsEnumUIControlDesc_Clone_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsEnumUIControlDesc_INTERFACE_DEFINED__ */


#ifndef __IRsPanel_INTERFACE_DEFINED__
#define __IRsPanel_INTERFACE_DEFINED__

/* interface IRsPanel */
/* [unique][helpstring][uuid][local][object] */ 


EXTERN_C const IID IID_IRsPanel;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("DFA57CBB-B7DA-4B22-A89E-DBD96EF0FD7A")
    IRsPanel : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetBoundingRect( 
            /* [out] */ RECT *rc) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetBoundingRegion( 
            /* [out] */ HRGN *hRgn) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetHandle( 
            /* [out] */ HWND *hWnd) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE HighlightPanel( 
            /* [in] */ RtUlong ulIntensity) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsPanelVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsPanel * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsPanel * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsPanel * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetBoundingRect )( 
            IRsPanel * This,
            /* [out] */ RECT *rc);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetBoundingRegion )( 
            IRsPanel * This,
            /* [out] */ HRGN *hRgn);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetHandle )( 
            IRsPanel * This,
            /* [out] */ HWND *hWnd);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *HighlightPanel )( 
            IRsPanel * This,
            /* [in] */ RtUlong ulIntensity);
        
        END_INTERFACE
    } IRsPanelVtbl;

    interface IRsPanel
    {
        CONST_VTBL struct IRsPanelVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsPanel_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsPanel_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsPanel_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsPanel_GetBoundingRect(This,rc)	\
    (This)->lpVtbl -> GetBoundingRect(This,rc)

#define IRsPanel_GetBoundingRegion(This,hRgn)	\
    (This)->lpVtbl -> GetBoundingRegion(This,hRgn)

#define IRsPanel_GetHandle(This,hWnd)	\
    (This)->lpVtbl -> GetHandle(This,hWnd)

#define IRsPanel_HighlightPanel(This,ulIntensity)	\
    (This)->lpVtbl -> HighlightPanel(This,ulIntensity)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsPanel_GetBoundingRect_Proxy( 
    IRsPanel * This,
    /* [out] */ RECT *rc);


void __RPC_STUB IRsPanel_GetBoundingRect_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsPanel_GetBoundingRegion_Proxy( 
    IRsPanel * This,
    /* [out] */ HRGN *hRgn);


void __RPC_STUB IRsPanel_GetBoundingRegion_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsPanel_GetHandle_Proxy( 
    IRsPanel * This,
    /* [out] */ HWND *hWnd);


void __RPC_STUB IRsPanel_GetHandle_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsPanel_HighlightPanel_Proxy( 
    IRsPanel * This,
    /* [in] */ RtUlong ulIntensity);


void __RPC_STUB IRsPanel_HighlightPanel_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsPanel_INTERFACE_DEFINED__ */


#ifndef __IRsPanelOwner_INTERFACE_DEFINED__
#define __IRsPanelOwner_INTERFACE_DEFINED__

/* interface IRsPanelOwner */
/* [unique][helpstring][uuid][local][object] */ 


EXTERN_C const IID IID_IRsPanelOwner;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("41AA6E0C-5D4C-4631-AFDD-A39911E1AD18")
    IRsPanelOwner : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE PanelDragInit( 
            /* [in] */ IRsPanel *pPanel) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE PanelDragMove( 
            /* [in] */ IRsPanel *pPanel) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE PanelDragEnd( 
            /* [in] */ IRsPanel *pPanel) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetWindow( 
            /* [out] */ HWND *hWnd) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE PanelMouseMove( 
            /* [in] */ IRsPanel *pPanel) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE PanelLMDown( 
            /* [in] */ IRsPanel *pPanel) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE PanelLMUp( 
            /* [in] */ IRsPanel *pPanel) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE PanelConChanged( 
            /* [in] */ GUID idPanel,
            /* [in] */ CONID idCon) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnPanelEvent( 
            /* [in] */ UINT uMsg,
            /* [in] */ IRsPanel *pPanel,
            /* [in] */ WPARAM wParam,
            /* [in] */ LPARAM lParam) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetOwnerId( 
            /* [retval][out] */ GUID *idOwner) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsPanelOwnerVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsPanelOwner * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsPanelOwner * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsPanelOwner * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *PanelDragInit )( 
            IRsPanelOwner * This,
            /* [in] */ IRsPanel *pPanel);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *PanelDragMove )( 
            IRsPanelOwner * This,
            /* [in] */ IRsPanel *pPanel);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *PanelDragEnd )( 
            IRsPanelOwner * This,
            /* [in] */ IRsPanel *pPanel);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetWindow )( 
            IRsPanelOwner * This,
            /* [out] */ HWND *hWnd);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *PanelMouseMove )( 
            IRsPanelOwner * This,
            /* [in] */ IRsPanel *pPanel);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *PanelLMDown )( 
            IRsPanelOwner * This,
            /* [in] */ IRsPanel *pPanel);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *PanelLMUp )( 
            IRsPanelOwner * This,
            /* [in] */ IRsPanel *pPanel);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *PanelConChanged )( 
            IRsPanelOwner * This,
            /* [in] */ GUID idPanel,
            /* [in] */ CONID idCon);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OnPanelEvent )( 
            IRsPanelOwner * This,
            /* [in] */ UINT uMsg,
            /* [in] */ IRsPanel *pPanel,
            /* [in] */ WPARAM wParam,
            /* [in] */ LPARAM lParam);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetOwnerId )( 
            IRsPanelOwner * This,
            /* [retval][out] */ GUID *idOwner);
        
        END_INTERFACE
    } IRsPanelOwnerVtbl;

    interface IRsPanelOwner
    {
        CONST_VTBL struct IRsPanelOwnerVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsPanelOwner_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsPanelOwner_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsPanelOwner_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsPanelOwner_PanelDragInit(This,pPanel)	\
    (This)->lpVtbl -> PanelDragInit(This,pPanel)

#define IRsPanelOwner_PanelDragMove(This,pPanel)	\
    (This)->lpVtbl -> PanelDragMove(This,pPanel)

#define IRsPanelOwner_PanelDragEnd(This,pPanel)	\
    (This)->lpVtbl -> PanelDragEnd(This,pPanel)

#define IRsPanelOwner_GetWindow(This,hWnd)	\
    (This)->lpVtbl -> GetWindow(This,hWnd)

#define IRsPanelOwner_PanelMouseMove(This,pPanel)	\
    (This)->lpVtbl -> PanelMouseMove(This,pPanel)

#define IRsPanelOwner_PanelLMDown(This,pPanel)	\
    (This)->lpVtbl -> PanelLMDown(This,pPanel)

#define IRsPanelOwner_PanelLMUp(This,pPanel)	\
    (This)->lpVtbl -> PanelLMUp(This,pPanel)

#define IRsPanelOwner_PanelConChanged(This,idPanel,idCon)	\
    (This)->lpVtbl -> PanelConChanged(This,idPanel,idCon)

#define IRsPanelOwner_OnPanelEvent(This,uMsg,pPanel,wParam,lParam)	\
    (This)->lpVtbl -> OnPanelEvent(This,uMsg,pPanel,wParam,lParam)

#define IRsPanelOwner_GetOwnerId(This,idOwner)	\
    (This)->lpVtbl -> GetOwnerId(This,idOwner)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsPanelOwner_PanelDragInit_Proxy( 
    IRsPanelOwner * This,
    /* [in] */ IRsPanel *pPanel);


void __RPC_STUB IRsPanelOwner_PanelDragInit_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsPanelOwner_PanelDragMove_Proxy( 
    IRsPanelOwner * This,
    /* [in] */ IRsPanel *pPanel);


void __RPC_STUB IRsPanelOwner_PanelDragMove_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsPanelOwner_PanelDragEnd_Proxy( 
    IRsPanelOwner * This,
    /* [in] */ IRsPanel *pPanel);


void __RPC_STUB IRsPanelOwner_PanelDragEnd_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsPanelOwner_GetWindow_Proxy( 
    IRsPanelOwner * This,
    /* [out] */ HWND *hWnd);


void __RPC_STUB IRsPanelOwner_GetWindow_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsPanelOwner_PanelMouseMove_Proxy( 
    IRsPanelOwner * This,
    /* [in] */ IRsPanel *pPanel);


void __RPC_STUB IRsPanelOwner_PanelMouseMove_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsPanelOwner_PanelLMDown_Proxy( 
    IRsPanelOwner * This,
    /* [in] */ IRsPanel *pPanel);


void __RPC_STUB IRsPanelOwner_PanelLMDown_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsPanelOwner_PanelLMUp_Proxy( 
    IRsPanelOwner * This,
    /* [in] */ IRsPanel *pPanel);


void __RPC_STUB IRsPanelOwner_PanelLMUp_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsPanelOwner_PanelConChanged_Proxy( 
    IRsPanelOwner * This,
    /* [in] */ GUID idPanel,
    /* [in] */ CONID idCon);


void __RPC_STUB IRsPanelOwner_PanelConChanged_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsPanelOwner_OnPanelEvent_Proxy( 
    IRsPanelOwner * This,
    /* [in] */ UINT uMsg,
    /* [in] */ IRsPanel *pPanel,
    /* [in] */ WPARAM wParam,
    /* [in] */ LPARAM lParam);


void __RPC_STUB IRsPanelOwner_OnPanelEvent_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsPanelOwner_GetOwnerId_Proxy( 
    IRsPanelOwner * This,
    /* [retval][out] */ GUID *idOwner);


void __RPC_STUB IRsPanelOwner_GetOwnerId_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsPanelOwner_INTERFACE_DEFINED__ */


#ifndef __IRsLEPanelData_INTERFACE_DEFINED__
#define __IRsLEPanelData_INTERFACE_DEFINED__

/* interface IRsLEPanelData */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsLEPanelData;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("C082747E-29B1-44b1-9FE5-D30051A72CD5")
    IRsLEPanelData : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetPanelOwner( 
            /* [retval][out] */ IRsPanelOwner **pPanelOwner) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetNode( 
            /* [retval][out] */ IRsNode **ppNode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetAspect( 
            /* [retval][out] */ RtUlong *pAspect) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsLEPanelDataVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsLEPanelData * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsLEPanelData * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsLEPanelData * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetPanelOwner )( 
            IRsLEPanelData * This,
            /* [retval][out] */ IRsPanelOwner **pPanelOwner);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetNode )( 
            IRsLEPanelData * This,
            /* [retval][out] */ IRsNode **ppNode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetAspect )( 
            IRsLEPanelData * This,
            /* [retval][out] */ RtUlong *pAspect);
        
        END_INTERFACE
    } IRsLEPanelDataVtbl;

    interface IRsLEPanelData
    {
        CONST_VTBL struct IRsLEPanelDataVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsLEPanelData_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsLEPanelData_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsLEPanelData_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsLEPanelData_GetPanelOwner(This,pPanelOwner)	\
    (This)->lpVtbl -> GetPanelOwner(This,pPanelOwner)

#define IRsLEPanelData_GetNode(This,ppNode)	\
    (This)->lpVtbl -> GetNode(This,ppNode)

#define IRsLEPanelData_GetAspect(This,pAspect)	\
    (This)->lpVtbl -> GetAspect(This,pAspect)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsLEPanelData_GetPanelOwner_Proxy( 
    IRsLEPanelData * This,
    /* [retval][out] */ IRsPanelOwner **pPanelOwner);


void __RPC_STUB IRsLEPanelData_GetPanelOwner_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsLEPanelData_GetNode_Proxy( 
    IRsLEPanelData * This,
    /* [retval][out] */ IRsNode **ppNode);


void __RPC_STUB IRsLEPanelData_GetNode_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsLEPanelData_GetAspect_Proxy( 
    IRsLEPanelData * This,
    /* [retval][out] */ RtUlong *pAspect);


void __RPC_STUB IRsLEPanelData_GetAspect_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsLEPanelData_INTERFACE_DEFINED__ */


#ifndef __IRsUIControlBase_INTERFACE_DEFINED__
#define __IRsUIControlBase_INTERFACE_DEFINED__

/* interface IRsUIControlBase */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsUIControlBase;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("805F8A77-C7B4-4761-89C3-6FDAFDECBF2D")
    IRsUIControlBase : public IRsObject
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetHandle( 
            /* [retval][out] */ HWND *hWnd) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsUIControlBaseVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsUIControlBase * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsUIControlBase * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsUIControlBase * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassId )( 
            IRsUIControlBase * This,
            /* [retval][out] */ GUID *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassName )( 
            IRsUIControlBase * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetHandle )( 
            IRsUIControlBase * This,
            /* [retval][out] */ HWND *hWnd);
        
        END_INTERFACE
    } IRsUIControlBaseVtbl;

    interface IRsUIControlBase
    {
        CONST_VTBL struct IRsUIControlBaseVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsUIControlBase_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsUIControlBase_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsUIControlBase_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsUIControlBase_get_ClassId(This,pVal)	\
    (This)->lpVtbl -> get_ClassId(This,pVal)

#define IRsUIControlBase_get_ClassName(This,pVal)	\
    (This)->lpVtbl -> get_ClassName(This,pVal)


#define IRsUIControlBase_GetHandle(This,hWnd)	\
    (This)->lpVtbl -> GetHandle(This,hWnd)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsUIControlBase_GetHandle_Proxy( 
    IRsUIControlBase * This,
    /* [retval][out] */ HWND *hWnd);


void __RPC_STUB IRsUIControlBase_GetHandle_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsUIControlBase_INTERFACE_DEFINED__ */


#ifndef __IRsUIControlOwner_INTERFACE_DEFINED__
#define __IRsUIControlOwner_INTERFACE_DEFINED__

/* interface IRsUIControlOwner */
/* [unique][helpstring][uuid][local][object] */ 


EXTERN_C const IID IID_IRsUIControlOwner;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("A4A26C0F-B6BC-4298-A59D-3515CA0A1482")
    IRsUIControlOwner : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE UIControlMouseMove( 
            /* [in] */ IRsUIControlBase *pUIControl,
            /* [in] */ int px,
            /* [in] */ int py) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE UIControlLBDown( 
            /* [in] */ IRsUIControlBase *pUIControl,
            /* [in] */ int px,
            /* [in] */ int py) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE UIControlLBUp( 
            /* [in] */ IRsUIControlBase *pUIControl,
            /* [in] */ int px,
            /* [in] */ int py) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE UIControlRBDown( 
            /* [in] */ IRsUIControlBase *pUIControl,
            /* [in] */ int px,
            /* [in] */ int py) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE UIControlRBUp( 
            /* [in] */ IRsUIControlBase *pUIControl,
            /* [in] */ int px,
            /* [in] */ int py) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE UIControlValueChanged( 
            /* [in] */ IRsUIControlBase *pUIControl,
            /* [in] */ int action) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE FocusNextControl( 
            /* [in] */ IRsUIControlBase *pPrevControl) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE FocusPrevControl( 
            /* [in] */ IRsUIControlBase *pNextControl) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetControlledNodeName( 
            /* [retval][out] */ BSTR *pbszNodeName) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsUIControlOwnerVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsUIControlOwner * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsUIControlOwner * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsUIControlOwner * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *UIControlMouseMove )( 
            IRsUIControlOwner * This,
            /* [in] */ IRsUIControlBase *pUIControl,
            /* [in] */ int px,
            /* [in] */ int py);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *UIControlLBDown )( 
            IRsUIControlOwner * This,
            /* [in] */ IRsUIControlBase *pUIControl,
            /* [in] */ int px,
            /* [in] */ int py);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *UIControlLBUp )( 
            IRsUIControlOwner * This,
            /* [in] */ IRsUIControlBase *pUIControl,
            /* [in] */ int px,
            /* [in] */ int py);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *UIControlRBDown )( 
            IRsUIControlOwner * This,
            /* [in] */ IRsUIControlBase *pUIControl,
            /* [in] */ int px,
            /* [in] */ int py);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *UIControlRBUp )( 
            IRsUIControlOwner * This,
            /* [in] */ IRsUIControlBase *pUIControl,
            /* [in] */ int px,
            /* [in] */ int py);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *UIControlValueChanged )( 
            IRsUIControlOwner * This,
            /* [in] */ IRsUIControlBase *pUIControl,
            /* [in] */ int action);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *FocusNextControl )( 
            IRsUIControlOwner * This,
            /* [in] */ IRsUIControlBase *pPrevControl);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *FocusPrevControl )( 
            IRsUIControlOwner * This,
            /* [in] */ IRsUIControlBase *pNextControl);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetControlledNodeName )( 
            IRsUIControlOwner * This,
            /* [retval][out] */ BSTR *pbszNodeName);
        
        END_INTERFACE
    } IRsUIControlOwnerVtbl;

    interface IRsUIControlOwner
    {
        CONST_VTBL struct IRsUIControlOwnerVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsUIControlOwner_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsUIControlOwner_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsUIControlOwner_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsUIControlOwner_UIControlMouseMove(This,pUIControl,px,py)	\
    (This)->lpVtbl -> UIControlMouseMove(This,pUIControl,px,py)

#define IRsUIControlOwner_UIControlLBDown(This,pUIControl,px,py)	\
    (This)->lpVtbl -> UIControlLBDown(This,pUIControl,px,py)

#define IRsUIControlOwner_UIControlLBUp(This,pUIControl,px,py)	\
    (This)->lpVtbl -> UIControlLBUp(This,pUIControl,px,py)

#define IRsUIControlOwner_UIControlRBDown(This,pUIControl,px,py)	\
    (This)->lpVtbl -> UIControlRBDown(This,pUIControl,px,py)

#define IRsUIControlOwner_UIControlRBUp(This,pUIControl,px,py)	\
    (This)->lpVtbl -> UIControlRBUp(This,pUIControl,px,py)

#define IRsUIControlOwner_UIControlValueChanged(This,pUIControl,action)	\
    (This)->lpVtbl -> UIControlValueChanged(This,pUIControl,action)

#define IRsUIControlOwner_FocusNextControl(This,pPrevControl)	\
    (This)->lpVtbl -> FocusNextControl(This,pPrevControl)

#define IRsUIControlOwner_FocusPrevControl(This,pNextControl)	\
    (This)->lpVtbl -> FocusPrevControl(This,pNextControl)

#define IRsUIControlOwner_GetControlledNodeName(This,pbszNodeName)	\
    (This)->lpVtbl -> GetControlledNodeName(This,pbszNodeName)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsUIControlOwner_UIControlMouseMove_Proxy( 
    IRsUIControlOwner * This,
    /* [in] */ IRsUIControlBase *pUIControl,
    /* [in] */ int px,
    /* [in] */ int py);


void __RPC_STUB IRsUIControlOwner_UIControlMouseMove_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsUIControlOwner_UIControlLBDown_Proxy( 
    IRsUIControlOwner * This,
    /* [in] */ IRsUIControlBase *pUIControl,
    /* [in] */ int px,
    /* [in] */ int py);


void __RPC_STUB IRsUIControlOwner_UIControlLBDown_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsUIControlOwner_UIControlLBUp_Proxy( 
    IRsUIControlOwner * This,
    /* [in] */ IRsUIControlBase *pUIControl,
    /* [in] */ int px,
    /* [in] */ int py);


void __RPC_STUB IRsUIControlOwner_UIControlLBUp_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsUIControlOwner_UIControlRBDown_Proxy( 
    IRsUIControlOwner * This,
    /* [in] */ IRsUIControlBase *pUIControl,
    /* [in] */ int px,
    /* [in] */ int py);


void __RPC_STUB IRsUIControlOwner_UIControlRBDown_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsUIControlOwner_UIControlRBUp_Proxy( 
    IRsUIControlOwner * This,
    /* [in] */ IRsUIControlBase *pUIControl,
    /* [in] */ int px,
    /* [in] */ int py);


void __RPC_STUB IRsUIControlOwner_UIControlRBUp_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsUIControlOwner_UIControlValueChanged_Proxy( 
    IRsUIControlOwner * This,
    /* [in] */ IRsUIControlBase *pUIControl,
    /* [in] */ int action);


void __RPC_STUB IRsUIControlOwner_UIControlValueChanged_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsUIControlOwner_FocusNextControl_Proxy( 
    IRsUIControlOwner * This,
    /* [in] */ IRsUIControlBase *pPrevControl);


void __RPC_STUB IRsUIControlOwner_FocusNextControl_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsUIControlOwner_FocusPrevControl_Proxy( 
    IRsUIControlOwner * This,
    /* [in] */ IRsUIControlBase *pNextControl);


void __RPC_STUB IRsUIControlOwner_FocusPrevControl_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsUIControlOwner_GetControlledNodeName_Proxy( 
    IRsUIControlOwner * This,
    /* [retval][out] */ BSTR *pbszNodeName);


void __RPC_STUB IRsUIControlOwner_GetControlledNodeName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsUIControlOwner_INTERFACE_DEFINED__ */


#ifndef __IRsUIControl_INTERFACE_DEFINED__
#define __IRsUIControl_INTERFACE_DEFINED__

/* interface IRsUIControl */
/* [unique][helpstring][uuid][local][object] */ 


EXTERN_C const IID IID_IRsUIControl;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("0AED0800-AFEF-4A60-819C-27EAEB47405B")
    IRsUIControl : public IRsUIControlBase
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetPinsCount( 
            /* [out] */ RtUlong *ulPinsCount) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetDefaultPins( 
            /* [in] */ IRsNode *pBaseNode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetConnForPin( 
            /* [in] */ RtUlong ulPin,
            /* [out] */ CONID *idCon) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetConnForPin( 
            /* [in] */ RtUlong ulPin,
            /* [in] */ CONID idCon) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RemoveConnForPin( 
            /* [in] */ RtUlong ulPin) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE IsDataCompatibile( 
            /* [in] */ RtUlong ulPin,
            /* [in] */ VARTYPE vt,
            /* [in] */ CLSID *dataType) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetName( 
            /* [in] */ BSTR bsName) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetName( 
            /* [out] */ BSTR *bsName) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetData( 
            /* [in] */ RtUlong ulPin,
            /* [in] */ VARIANT vData) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetData( 
            /* [in] */ RtUlong ulPin,
            /* [out] */ VARIANT *vData) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ShowSettingWnd( 
            /* [in] */ RtUlong ulShow,
            /* [in] */ HWND hparentWnd) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetHostWindow( 
            /* [out] */ HWND *hWndHost) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE LoadLayout( 
            /* [in] */ IStream *pStm,
            /* [in] */ RtUlong streamversion) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SaveLayout( 
            /* [in] */ IStream *pStm) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetDefaultLayout( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetState( 
            /* [in] */ RtUlong ulState) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetRegion( 
            /* [retval][out] */ HRGN *hRgn) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Highlight( 
            /* [in] */ RtUlong ulIntensity) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE PutOwner( 
            /* [in] */ IRsUIControlOwner *pOwner) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnCtrlDestroy( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE UpdateByPropDlg( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetSettingWindow( 
            /* [out] */ HWND *wndSetting) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetPinRefPoint( 
            /* [in] */ RtUlong ulPin,
            /* [retval][out] */ POINT *pRefPoint) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetUIUpdateAgent( 
            /* [in] */ const IID iid) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetColors( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsUIControlVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsUIControl * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsUIControl * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsUIControl * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassId )( 
            IRsUIControl * This,
            /* [retval][out] */ GUID *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassName )( 
            IRsUIControl * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetHandle )( 
            IRsUIControl * This,
            /* [retval][out] */ HWND *hWnd);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetPinsCount )( 
            IRsUIControl * This,
            /* [out] */ RtUlong *ulPinsCount);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetDefaultPins )( 
            IRsUIControl * This,
            /* [in] */ IRsNode *pBaseNode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetConnForPin )( 
            IRsUIControl * This,
            /* [in] */ RtUlong ulPin,
            /* [out] */ CONID *idCon);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetConnForPin )( 
            IRsUIControl * This,
            /* [in] */ RtUlong ulPin,
            /* [in] */ CONID idCon);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RemoveConnForPin )( 
            IRsUIControl * This,
            /* [in] */ RtUlong ulPin);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *IsDataCompatibile )( 
            IRsUIControl * This,
            /* [in] */ RtUlong ulPin,
            /* [in] */ VARTYPE vt,
            /* [in] */ CLSID *dataType);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetName )( 
            IRsUIControl * This,
            /* [in] */ BSTR bsName);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetName )( 
            IRsUIControl * This,
            /* [out] */ BSTR *bsName);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetData )( 
            IRsUIControl * This,
            /* [in] */ RtUlong ulPin,
            /* [in] */ VARIANT vData);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetData )( 
            IRsUIControl * This,
            /* [in] */ RtUlong ulPin,
            /* [out] */ VARIANT *vData);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ShowSettingWnd )( 
            IRsUIControl * This,
            /* [in] */ RtUlong ulShow,
            /* [in] */ HWND hparentWnd);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetHostWindow )( 
            IRsUIControl * This,
            /* [out] */ HWND *hWndHost);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *LoadLayout )( 
            IRsUIControl * This,
            /* [in] */ IStream *pStm,
            /* [in] */ RtUlong streamversion);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SaveLayout )( 
            IRsUIControl * This,
            /* [in] */ IStream *pStm);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetDefaultLayout )( 
            IRsUIControl * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetState )( 
            IRsUIControl * This,
            /* [in] */ RtUlong ulState);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetRegion )( 
            IRsUIControl * This,
            /* [retval][out] */ HRGN *hRgn);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Highlight )( 
            IRsUIControl * This,
            /* [in] */ RtUlong ulIntensity);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *PutOwner )( 
            IRsUIControl * This,
            /* [in] */ IRsUIControlOwner *pOwner);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OnCtrlDestroy )( 
            IRsUIControl * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *UpdateByPropDlg )( 
            IRsUIControl * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetSettingWindow )( 
            IRsUIControl * This,
            /* [out] */ HWND *wndSetting);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetPinRefPoint )( 
            IRsUIControl * This,
            /* [in] */ RtUlong ulPin,
            /* [retval][out] */ POINT *pRefPoint);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetUIUpdateAgent )( 
            IRsUIControl * This,
            /* [in] */ const IID iid);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetColors )( 
            IRsUIControl * This);
        
        END_INTERFACE
    } IRsUIControlVtbl;

    interface IRsUIControl
    {
        CONST_VTBL struct IRsUIControlVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsUIControl_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsUIControl_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsUIControl_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsUIControl_get_ClassId(This,pVal)	\
    (This)->lpVtbl -> get_ClassId(This,pVal)

#define IRsUIControl_get_ClassName(This,pVal)	\
    (This)->lpVtbl -> get_ClassName(This,pVal)


#define IRsUIControl_GetHandle(This,hWnd)	\
    (This)->lpVtbl -> GetHandle(This,hWnd)


#define IRsUIControl_GetPinsCount(This,ulPinsCount)	\
    (This)->lpVtbl -> GetPinsCount(This,ulPinsCount)

#define IRsUIControl_SetDefaultPins(This,pBaseNode)	\
    (This)->lpVtbl -> SetDefaultPins(This,pBaseNode)

#define IRsUIControl_GetConnForPin(This,ulPin,idCon)	\
    (This)->lpVtbl -> GetConnForPin(This,ulPin,idCon)

#define IRsUIControl_SetConnForPin(This,ulPin,idCon)	\
    (This)->lpVtbl -> SetConnForPin(This,ulPin,idCon)

#define IRsUIControl_RemoveConnForPin(This,ulPin)	\
    (This)->lpVtbl -> RemoveConnForPin(This,ulPin)

#define IRsUIControl_IsDataCompatibile(This,ulPin,vt,dataType)	\
    (This)->lpVtbl -> IsDataCompatibile(This,ulPin,vt,dataType)

#define IRsUIControl_SetName(This,bsName)	\
    (This)->lpVtbl -> SetName(This,bsName)

#define IRsUIControl_GetName(This,bsName)	\
    (This)->lpVtbl -> GetName(This,bsName)

#define IRsUIControl_SetData(This,ulPin,vData)	\
    (This)->lpVtbl -> SetData(This,ulPin,vData)

#define IRsUIControl_GetData(This,ulPin,vData)	\
    (This)->lpVtbl -> GetData(This,ulPin,vData)

#define IRsUIControl_ShowSettingWnd(This,ulShow,hparentWnd)	\
    (This)->lpVtbl -> ShowSettingWnd(This,ulShow,hparentWnd)

#define IRsUIControl_GetHostWindow(This,hWndHost)	\
    (This)->lpVtbl -> GetHostWindow(This,hWndHost)

#define IRsUIControl_LoadLayout(This,pStm,streamversion)	\
    (This)->lpVtbl -> LoadLayout(This,pStm,streamversion)

#define IRsUIControl_SaveLayout(This,pStm)	\
    (This)->lpVtbl -> SaveLayout(This,pStm)

#define IRsUIControl_SetDefaultLayout(This)	\
    (This)->lpVtbl -> SetDefaultLayout(This)

#define IRsUIControl_SetState(This,ulState)	\
    (This)->lpVtbl -> SetState(This,ulState)

#define IRsUIControl_GetRegion(This,hRgn)	\
    (This)->lpVtbl -> GetRegion(This,hRgn)

#define IRsUIControl_Highlight(This,ulIntensity)	\
    (This)->lpVtbl -> Highlight(This,ulIntensity)

#define IRsUIControl_PutOwner(This,pOwner)	\
    (This)->lpVtbl -> PutOwner(This,pOwner)

#define IRsUIControl_OnCtrlDestroy(This)	\
    (This)->lpVtbl -> OnCtrlDestroy(This)

#define IRsUIControl_UpdateByPropDlg(This)	\
    (This)->lpVtbl -> UpdateByPropDlg(This)

#define IRsUIControl_GetSettingWindow(This,wndSetting)	\
    (This)->lpVtbl -> GetSettingWindow(This,wndSetting)

#define IRsUIControl_GetPinRefPoint(This,ulPin,pRefPoint)	\
    (This)->lpVtbl -> GetPinRefPoint(This,ulPin,pRefPoint)

#define IRsUIControl_SetUIUpdateAgent(This,iid)	\
    (This)->lpVtbl -> SetUIUpdateAgent(This,iid)

#define IRsUIControl_SetColors(This)	\
    (This)->lpVtbl -> SetColors(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsUIControl_GetPinsCount_Proxy( 
    IRsUIControl * This,
    /* [out] */ RtUlong *ulPinsCount);


void __RPC_STUB IRsUIControl_GetPinsCount_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsUIControl_SetDefaultPins_Proxy( 
    IRsUIControl * This,
    /* [in] */ IRsNode *pBaseNode);


void __RPC_STUB IRsUIControl_SetDefaultPins_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsUIControl_GetConnForPin_Proxy( 
    IRsUIControl * This,
    /* [in] */ RtUlong ulPin,
    /* [out] */ CONID *idCon);


void __RPC_STUB IRsUIControl_GetConnForPin_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsUIControl_SetConnForPin_Proxy( 
    IRsUIControl * This,
    /* [in] */ RtUlong ulPin,
    /* [in] */ CONID idCon);


void __RPC_STUB IRsUIControl_SetConnForPin_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsUIControl_RemoveConnForPin_Proxy( 
    IRsUIControl * This,
    /* [in] */ RtUlong ulPin);


void __RPC_STUB IRsUIControl_RemoveConnForPin_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsUIControl_IsDataCompatibile_Proxy( 
    IRsUIControl * This,
    /* [in] */ RtUlong ulPin,
    /* [in] */ VARTYPE vt,
    /* [in] */ CLSID *dataType);


void __RPC_STUB IRsUIControl_IsDataCompatibile_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsUIControl_SetName_Proxy( 
    IRsUIControl * This,
    /* [in] */ BSTR bsName);


void __RPC_STUB IRsUIControl_SetName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsUIControl_GetName_Proxy( 
    IRsUIControl * This,
    /* [out] */ BSTR *bsName);


void __RPC_STUB IRsUIControl_GetName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsUIControl_SetData_Proxy( 
    IRsUIControl * This,
    /* [in] */ RtUlong ulPin,
    /* [in] */ VARIANT vData);


void __RPC_STUB IRsUIControl_SetData_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsUIControl_GetData_Proxy( 
    IRsUIControl * This,
    /* [in] */ RtUlong ulPin,
    /* [out] */ VARIANT *vData);


void __RPC_STUB IRsUIControl_GetData_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsUIControl_ShowSettingWnd_Proxy( 
    IRsUIControl * This,
    /* [in] */ RtUlong ulShow,
    /* [in] */ HWND hparentWnd);


void __RPC_STUB IRsUIControl_ShowSettingWnd_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsUIControl_GetHostWindow_Proxy( 
    IRsUIControl * This,
    /* [out] */ HWND *hWndHost);


void __RPC_STUB IRsUIControl_GetHostWindow_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsUIControl_LoadLayout_Proxy( 
    IRsUIControl * This,
    /* [in] */ IStream *pStm,
    /* [in] */ RtUlong streamversion);


void __RPC_STUB IRsUIControl_LoadLayout_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsUIControl_SaveLayout_Proxy( 
    IRsUIControl * This,
    /* [in] */ IStream *pStm);


void __RPC_STUB IRsUIControl_SaveLayout_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsUIControl_SetDefaultLayout_Proxy( 
    IRsUIControl * This);


void __RPC_STUB IRsUIControl_SetDefaultLayout_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsUIControl_SetState_Proxy( 
    IRsUIControl * This,
    /* [in] */ RtUlong ulState);


void __RPC_STUB IRsUIControl_SetState_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsUIControl_GetRegion_Proxy( 
    IRsUIControl * This,
    /* [retval][out] */ HRGN *hRgn);


void __RPC_STUB IRsUIControl_GetRegion_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsUIControl_Highlight_Proxy( 
    IRsUIControl * This,
    /* [in] */ RtUlong ulIntensity);


void __RPC_STUB IRsUIControl_Highlight_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsUIControl_PutOwner_Proxy( 
    IRsUIControl * This,
    /* [in] */ IRsUIControlOwner *pOwner);


void __RPC_STUB IRsUIControl_PutOwner_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsUIControl_OnCtrlDestroy_Proxy( 
    IRsUIControl * This);


void __RPC_STUB IRsUIControl_OnCtrlDestroy_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsUIControl_UpdateByPropDlg_Proxy( 
    IRsUIControl * This);


void __RPC_STUB IRsUIControl_UpdateByPropDlg_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsUIControl_GetSettingWindow_Proxy( 
    IRsUIControl * This,
    /* [out] */ HWND *wndSetting);


void __RPC_STUB IRsUIControl_GetSettingWindow_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsUIControl_GetPinRefPoint_Proxy( 
    IRsUIControl * This,
    /* [in] */ RtUlong ulPin,
    /* [retval][out] */ POINT *pRefPoint);


void __RPC_STUB IRsUIControl_GetPinRefPoint_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsUIControl_SetUIUpdateAgent_Proxy( 
    IRsUIControl * This,
    /* [in] */ const IID iid);


void __RPC_STUB IRsUIControl_SetUIUpdateAgent_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsUIControl_SetColors_Proxy( 
    IRsUIControl * This);


void __RPC_STUB IRsUIControl_SetColors_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsUIControl_INTERFACE_DEFINED__ */


#ifndef __IRsUIControlTrackAble_INTERFACE_DEFINED__
#define __IRsUIControlTrackAble_INTERFACE_DEFINED__

/* interface IRsUIControlTrackAble */
/* [unique][helpstring][uuid][local][object] */ 


EXTERN_C const IID IID_IRsUIControlTrackAble;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("55475202-0627-4a5b-AEC2-375CE34728E5")
    IRsUIControlTrackAble : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetOldData( 
            /* [in] */ RtUlong ulPin,
            /* [out] */ VARIANT *vData) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsUIControlTrackAbleVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsUIControlTrackAble * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsUIControlTrackAble * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsUIControlTrackAble * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetOldData )( 
            IRsUIControlTrackAble * This,
            /* [in] */ RtUlong ulPin,
            /* [out] */ VARIANT *vData);
        
        END_INTERFACE
    } IRsUIControlTrackAbleVtbl;

    interface IRsUIControlTrackAble
    {
        CONST_VTBL struct IRsUIControlTrackAbleVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsUIControlTrackAble_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsUIControlTrackAble_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsUIControlTrackAble_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsUIControlTrackAble_GetOldData(This,ulPin,vData)	\
    (This)->lpVtbl -> GetOldData(This,ulPin,vData)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsUIControlTrackAble_GetOldData_Proxy( 
    IRsUIControlTrackAble * This,
    /* [in] */ RtUlong ulPin,
    /* [out] */ VARIANT *vData);


void __RPC_STUB IRsUIControlTrackAble_GetOldData_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsUIControlTrackAble_INTERFACE_DEFINED__ */


#ifndef __IRsUIWinCtrl_INTERFACE_DEFINED__
#define __IRsUIWinCtrl_INTERFACE_DEFINED__

/* interface IRsUIWinCtrl */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsUIWinCtrl;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("BE7F6E66-50FB-4635-9C01-2A639D36AFAE")
    IRsUIWinCtrl : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Create( 
            /* [in] */ HWND hWndParent,
            /* [in] */ RECT *pRect,
            /* [in] */ DWORD dwStyle,
            /* [in] */ DWORD dwExStyle) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsUIWinCtrlVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsUIWinCtrl * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsUIWinCtrl * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsUIWinCtrl * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Create )( 
            IRsUIWinCtrl * This,
            /* [in] */ HWND hWndParent,
            /* [in] */ RECT *pRect,
            /* [in] */ DWORD dwStyle,
            /* [in] */ DWORD dwExStyle);
        
        END_INTERFACE
    } IRsUIWinCtrlVtbl;

    interface IRsUIWinCtrl
    {
        CONST_VTBL struct IRsUIWinCtrlVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsUIWinCtrl_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsUIWinCtrl_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsUIWinCtrl_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsUIWinCtrl_Create(This,hWndParent,pRect,dwStyle,dwExStyle)	\
    (This)->lpVtbl -> Create(This,hWndParent,pRect,dwStyle,dwExStyle)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsUIWinCtrl_Create_Proxy( 
    IRsUIWinCtrl * This,
    /* [in] */ HWND hWndParent,
    /* [in] */ RECT *pRect,
    /* [in] */ DWORD dwStyle,
    /* [in] */ DWORD dwExStyle);


void __RPC_STUB IRsUIWinCtrl_Create_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsUIWinCtrl_INTERFACE_DEFINED__ */


#ifndef __IRsUIIconControl_INTERFACE_DEFINED__
#define __IRsUIIconControl_INTERFACE_DEFINED__

/* interface IRsUIIconControl */
/* [unique][helpstring][uuid][local][object] */ 


EXTERN_C const IID IID_IRsUIIconControl;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("55AA30FD-7ADF-45cd-878D-4C57C621D5AD")
    IRsUIIconControl : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetBitmap( 
            /* [retval][out] */ IRdBitmap *pBmp) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsUIIconControlVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsUIIconControl * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsUIIconControl * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsUIIconControl * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetBitmap )( 
            IRsUIIconControl * This,
            /* [retval][out] */ IRdBitmap *pBmp);
        
        END_INTERFACE
    } IRsUIIconControlVtbl;

    interface IRsUIIconControl
    {
        CONST_VTBL struct IRsUIIconControlVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsUIIconControl_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsUIIconControl_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsUIIconControl_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsUIIconControl_GetBitmap(This,pBmp)	\
    (This)->lpVtbl -> GetBitmap(This,pBmp)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsUIIconControl_GetBitmap_Proxy( 
    IRsUIIconControl * This,
    /* [retval][out] */ IRdBitmap *pBmp);


void __RPC_STUB IRsUIIconControl_GetBitmap_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsUIIconControl_INTERFACE_DEFINED__ */


#ifndef __IRsUIControlFactory_INTERFACE_DEFINED__
#define __IRsUIControlFactory_INTERFACE_DEFINED__

/* interface IRsUIControlFactory */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsUIControlFactory;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("FFCC10A6-F8C1-484f-B18E-193F1F5E1927")
    IRsUIControlFactory : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateInstance( 
            /* [in] */ const IID riid,
            /* [retval][out] */ IRsUIControl **ppUIControl) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateAggInstance( 
            /* [in] */ IUnknown *pUnkOuter,
            /* [in] */ const IID riid,
            /* [retval][out] */ IUnknown **ppvObject) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE EnumUIControlDesc( 
            /* [retval][out] */ IRsEnumUIControlDesc **ppEnumUIControlDesc) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsUIControlFactoryVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsUIControlFactory * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsUIControlFactory * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsUIControlFactory * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateInstance )( 
            IRsUIControlFactory * This,
            /* [in] */ const IID riid,
            /* [retval][out] */ IRsUIControl **ppUIControl);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateAggInstance )( 
            IRsUIControlFactory * This,
            /* [in] */ IUnknown *pUnkOuter,
            /* [in] */ const IID riid,
            /* [retval][out] */ IUnknown **ppvObject);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *EnumUIControlDesc )( 
            IRsUIControlFactory * This,
            /* [retval][out] */ IRsEnumUIControlDesc **ppEnumUIControlDesc);
        
        END_INTERFACE
    } IRsUIControlFactoryVtbl;

    interface IRsUIControlFactory
    {
        CONST_VTBL struct IRsUIControlFactoryVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsUIControlFactory_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsUIControlFactory_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsUIControlFactory_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsUIControlFactory_CreateInstance(This,riid,ppUIControl)	\
    (This)->lpVtbl -> CreateInstance(This,riid,ppUIControl)

#define IRsUIControlFactory_CreateAggInstance(This,pUnkOuter,riid,ppvObject)	\
    (This)->lpVtbl -> CreateAggInstance(This,pUnkOuter,riid,ppvObject)

#define IRsUIControlFactory_EnumUIControlDesc(This,ppEnumUIControlDesc)	\
    (This)->lpVtbl -> EnumUIControlDesc(This,ppEnumUIControlDesc)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsUIControlFactory_CreateInstance_Proxy( 
    IRsUIControlFactory * This,
    /* [in] */ const IID riid,
    /* [retval][out] */ IRsUIControl **ppUIControl);


void __RPC_STUB IRsUIControlFactory_CreateInstance_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsUIControlFactory_CreateAggInstance_Proxy( 
    IRsUIControlFactory * This,
    /* [in] */ IUnknown *pUnkOuter,
    /* [in] */ const IID riid,
    /* [retval][out] */ IUnknown **ppvObject);


void __RPC_STUB IRsUIControlFactory_CreateAggInstance_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsUIControlFactory_EnumUIControlDesc_Proxy( 
    IRsUIControlFactory * This,
    /* [retval][out] */ IRsEnumUIControlDesc **ppEnumUIControlDesc);


void __RPC_STUB IRsUIControlFactory_EnumUIControlDesc_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsUIControlFactory_INTERFACE_DEFINED__ */


#ifndef __IRsUnknownUIPackage_INTERFACE_DEFINED__
#define __IRsUnknownUIPackage_INTERFACE_DEFINED__

/* interface IRsUnknownUIPackage */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsUnknownUIPackage;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("7872462A-85F1-4819-B64B-10C94AA34841")
    IRsUnknownUIPackage : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetUIControlFactory( 
            /* [retval][out] */ IRsUIControlFactory **ppFactory) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsUnknownUIPackageVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsUnknownUIPackage * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsUnknownUIPackage * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsUnknownUIPackage * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetUIControlFactory )( 
            IRsUnknownUIPackage * This,
            /* [retval][out] */ IRsUIControlFactory **ppFactory);
        
        END_INTERFACE
    } IRsUnknownUIPackageVtbl;

    interface IRsUnknownUIPackage
    {
        CONST_VTBL struct IRsUnknownUIPackageVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsUnknownUIPackage_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsUnknownUIPackage_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsUnknownUIPackage_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsUnknownUIPackage_GetUIControlFactory(This,ppFactory)	\
    (This)->lpVtbl -> GetUIControlFactory(This,ppFactory)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsUnknownUIPackage_GetUIControlFactory_Proxy( 
    IRsUnknownUIPackage * This,
    /* [retval][out] */ IRsUIControlFactory **ppFactory);


void __RPC_STUB IRsUnknownUIPackage_GetUIControlFactory_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsUnknownUIPackage_INTERFACE_DEFINED__ */


#ifndef __IRsLEPanelInitData_INTERFACE_DEFINED__
#define __IRsLEPanelInitData_INTERFACE_DEFINED__

/* interface IRsLEPanelInitData */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsLEPanelInitData;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("424982D9-225E-4D5A-876D-A1FE7B6971DE")
    IRsLEPanelInitData : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Create( 
            /* [in] */ IRsNode *pNode,
            /* [in] */ IRsPanelOwner *pPanelOwner) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetCurrAspect( 
            /* [in] */ RtUlong aspect) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsLEPanelInitDataVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsLEPanelInitData * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsLEPanelInitData * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsLEPanelInitData * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Create )( 
            IRsLEPanelInitData * This,
            /* [in] */ IRsNode *pNode,
            /* [in] */ IRsPanelOwner *pPanelOwner);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetCurrAspect )( 
            IRsLEPanelInitData * This,
            /* [in] */ RtUlong aspect);
        
        END_INTERFACE
    } IRsLEPanelInitDataVtbl;

    interface IRsLEPanelInitData
    {
        CONST_VTBL struct IRsLEPanelInitDataVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsLEPanelInitData_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsLEPanelInitData_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsLEPanelInitData_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsLEPanelInitData_Create(This,pNode,pPanelOwner)	\
    (This)->lpVtbl -> Create(This,pNode,pPanelOwner)

#define IRsLEPanelInitData_SetCurrAspect(This,aspect)	\
    (This)->lpVtbl -> SetCurrAspect(This,aspect)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsLEPanelInitData_Create_Proxy( 
    IRsLEPanelInitData * This,
    /* [in] */ IRsNode *pNode,
    /* [in] */ IRsPanelOwner *pPanelOwner);


void __RPC_STUB IRsLEPanelInitData_Create_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsLEPanelInitData_SetCurrAspect_Proxy( 
    IRsLEPanelInitData * This,
    /* [in] */ RtUlong aspect);


void __RPC_STUB IRsLEPanelInitData_SetCurrAspect_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsLEPanelInitData_INTERFACE_DEFINED__ */


#ifndef __IRsLEPanel_INTERFACE_DEFINED__
#define __IRsLEPanel_INTERFACE_DEFINED__

/* interface IRsLEPanel */
/* [unique][helpstring][uuid][local][object] */ 


EXTERN_C const IID IID_IRsLEPanel;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("A6EA3815-CA51-4738-B7A7-7DCD2A2AC7B2")
    IRsLEPanel : public IRsPanel
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreatePanel( 
            /* [in] */ IRsLEPanelData *pInitData) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE DestroyPanel( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreatePanelWindow( 
            /* [in] */ POINT pos) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE DestroyPanelWindow( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetBoundingRect( 
            /* [retval][out] */ RECT *rc) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetBoundingRegion( 
            /* [retval][out] */ HRGN *hRgn) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetHandle( 
            /* [retval][out] */ HWND *hWnd) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE HighlightPanel( 
            /* [in] */ RtUlong ulIntensity) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE UpdateByNode( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE UpdateConByNode( 
            /* [in] */ CONID idCon) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetConnReferencePoint( 
            /* [in] */ CONID idCon,
            /* [retval][out] */ POINT *pPoint) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetConnByPoint( 
            /* [in] */ POINT pPoint,
            /* [retval][out] */ CONID *idCon) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetPanelOwner( 
            /* [out] */ IRsPanelOwner **pPanelOwner) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE HighlightConn( 
            /* [in] */ CONID idCon,
            /* [in] */ RtUlong ulIntensity) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AttachToNode( 
            /* [in] */ IRsNode *pNode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetBehaviourFlags( 
            /* [in] */ RtUlong ulFlags) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetBehaviourFlags( 
            /* [out] */ RtUlong *ulFlags) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetAspect( 
            /* [in] */ RtUlong ulAspect) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetAspect( 
            /* [out] */ RtUlong *ulAspect) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE PutPanelId( 
            /* [in] */ GUID idPanel) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetPanelId( 
            /* [out] */ GUID *idPanel) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddNewControl( 
            /* [in] */ IID *piid,
            /* [in] */ CONID idCon,
            /* [in] */ POINT *pPoint) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CloneControl( 
            /* [in] */ IRsUIControl *ppSrc,
            /* [in] */ RECT *tgPos) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ChangeSelControl( 
            /* [in] */ IID *idControlType) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AssignToIcon( 
            /* [in] */ IID *idControlType,
            /* [in] */ CONID idCon) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetSelConnDesc( 
            /* [retval][out] */ IRsConDescriptor **ppConnDesc) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetSelControl( 
            /* [retval][out] */ IRsUIControl **ppControl) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE PutPanelOwner( 
            /* [in] */ IRsPanelOwner *pPanelOwner) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetAllAspects( 
            /* [retval][out] */ LPSAFEARRAY *saAspects) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetAttachedNode( 
            /* [retval][out] */ IRsNode **spNode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE StoreUITable( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE UpdateValues( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE UpdateByPanelProp( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ClosePanelProp( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE UpdateUITable( 
            /* [in] */ RtUlong flag) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetEditState( 
            /* [out] */ RtUlong *ulState) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ChangeEditState( 
            /* [in] */ RtUlong ulEditState) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE UpdateByControlDialog( 
            /* [in] */ int cmd) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CloseControlDialog( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetAspectName( 
            /* [in] */ RtUlong ulAspect,
            /* [retval][out] */ BSTR *bsName) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetBkgColor( 
            /* [out] */ COLORREF *col) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsLEPanelVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsLEPanel * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsLEPanel * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsLEPanel * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetBoundingRect )( 
            IRsLEPanel * This,
            /* [out] */ RECT *rc);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetBoundingRegion )( 
            IRsLEPanel * This,
            /* [out] */ HRGN *hRgn);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetHandle )( 
            IRsLEPanel * This,
            /* [out] */ HWND *hWnd);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *HighlightPanel )( 
            IRsLEPanel * This,
            /* [in] */ RtUlong ulIntensity);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreatePanel )( 
            IRsLEPanel * This,
            /* [in] */ IRsLEPanelData *pInitData);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *DestroyPanel )( 
            IRsLEPanel * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreatePanelWindow )( 
            IRsLEPanel * This,
            /* [in] */ POINT pos);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *DestroyPanelWindow )( 
            IRsLEPanel * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetBoundingRect )( 
            IRsLEPanel * This,
            /* [retval][out] */ RECT *rc);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetBoundingRegion )( 
            IRsLEPanel * This,
            /* [retval][out] */ HRGN *hRgn);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetHandle )( 
            IRsLEPanel * This,
            /* [retval][out] */ HWND *hWnd);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *HighlightPanel )( 
            IRsLEPanel * This,
            /* [in] */ RtUlong ulIntensity);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *UpdateByNode )( 
            IRsLEPanel * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *UpdateConByNode )( 
            IRsLEPanel * This,
            /* [in] */ CONID idCon);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetConnReferencePoint )( 
            IRsLEPanel * This,
            /* [in] */ CONID idCon,
            /* [retval][out] */ POINT *pPoint);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetConnByPoint )( 
            IRsLEPanel * This,
            /* [in] */ POINT pPoint,
            /* [retval][out] */ CONID *idCon);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetPanelOwner )( 
            IRsLEPanel * This,
            /* [out] */ IRsPanelOwner **pPanelOwner);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *HighlightConn )( 
            IRsLEPanel * This,
            /* [in] */ CONID idCon,
            /* [in] */ RtUlong ulIntensity);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AttachToNode )( 
            IRsLEPanel * This,
            /* [in] */ IRsNode *pNode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetBehaviourFlags )( 
            IRsLEPanel * This,
            /* [in] */ RtUlong ulFlags);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetBehaviourFlags )( 
            IRsLEPanel * This,
            /* [out] */ RtUlong *ulFlags);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetAspect )( 
            IRsLEPanel * This,
            /* [in] */ RtUlong ulAspect);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetAspect )( 
            IRsLEPanel * This,
            /* [out] */ RtUlong *ulAspect);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *PutPanelId )( 
            IRsLEPanel * This,
            /* [in] */ GUID idPanel);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetPanelId )( 
            IRsLEPanel * This,
            /* [out] */ GUID *idPanel);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddNewControl )( 
            IRsLEPanel * This,
            /* [in] */ IID *piid,
            /* [in] */ CONID idCon,
            /* [in] */ POINT *pPoint);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CloneControl )( 
            IRsLEPanel * This,
            /* [in] */ IRsUIControl *ppSrc,
            /* [in] */ RECT *tgPos);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ChangeSelControl )( 
            IRsLEPanel * This,
            /* [in] */ IID *idControlType);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AssignToIcon )( 
            IRsLEPanel * This,
            /* [in] */ IID *idControlType,
            /* [in] */ CONID idCon);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetSelConnDesc )( 
            IRsLEPanel * This,
            /* [retval][out] */ IRsConDescriptor **ppConnDesc);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetSelControl )( 
            IRsLEPanel * This,
            /* [retval][out] */ IRsUIControl **ppControl);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *PutPanelOwner )( 
            IRsLEPanel * This,
            /* [in] */ IRsPanelOwner *pPanelOwner);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetAllAspects )( 
            IRsLEPanel * This,
            /* [retval][out] */ LPSAFEARRAY *saAspects);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetAttachedNode )( 
            IRsLEPanel * This,
            /* [retval][out] */ IRsNode **spNode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *StoreUITable )( 
            IRsLEPanel * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *UpdateValues )( 
            IRsLEPanel * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *UpdateByPanelProp )( 
            IRsLEPanel * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ClosePanelProp )( 
            IRsLEPanel * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *UpdateUITable )( 
            IRsLEPanel * This,
            /* [in] */ RtUlong flag);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetEditState )( 
            IRsLEPanel * This,
            /* [out] */ RtUlong *ulState);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ChangeEditState )( 
            IRsLEPanel * This,
            /* [in] */ RtUlong ulEditState);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *UpdateByControlDialog )( 
            IRsLEPanel * This,
            /* [in] */ int cmd);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CloseControlDialog )( 
            IRsLEPanel * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetAspectName )( 
            IRsLEPanel * This,
            /* [in] */ RtUlong ulAspect,
            /* [retval][out] */ BSTR *bsName);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetBkgColor )( 
            IRsLEPanel * This,
            /* [out] */ COLORREF *col);
        
        END_INTERFACE
    } IRsLEPanelVtbl;

    interface IRsLEPanel
    {
        CONST_VTBL struct IRsLEPanelVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsLEPanel_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsLEPanel_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsLEPanel_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsLEPanel_GetBoundingRect(This,rc)	\
    (This)->lpVtbl -> GetBoundingRect(This,rc)

#define IRsLEPanel_GetBoundingRegion(This,hRgn)	\
    (This)->lpVtbl -> GetBoundingRegion(This,hRgn)

#define IRsLEPanel_GetHandle(This,hWnd)	\
    (This)->lpVtbl -> GetHandle(This,hWnd)

#define IRsLEPanel_HighlightPanel(This,ulIntensity)	\
    (This)->lpVtbl -> HighlightPanel(This,ulIntensity)


#define IRsLEPanel_CreatePanel(This,pInitData)	\
    (This)->lpVtbl -> CreatePanel(This,pInitData)

#define IRsLEPanel_DestroyPanel(This)	\
    (This)->lpVtbl -> DestroyPanel(This)

#define IRsLEPanel_CreatePanelWindow(This,pos)	\
    (This)->lpVtbl -> CreatePanelWindow(This,pos)

#define IRsLEPanel_DestroyPanelWindow(This)	\
    (This)->lpVtbl -> DestroyPanelWindow(This)

#define IRsLEPanel_GetBoundingRect(This,rc)	\
    (This)->lpVtbl -> GetBoundingRect(This,rc)

#define IRsLEPanel_GetBoundingRegion(This,hRgn)	\
    (This)->lpVtbl -> GetBoundingRegion(This,hRgn)

#define IRsLEPanel_GetHandle(This,hWnd)	\
    (This)->lpVtbl -> GetHandle(This,hWnd)

#define IRsLEPanel_HighlightPanel(This,ulIntensity)	\
    (This)->lpVtbl -> HighlightPanel(This,ulIntensity)

#define IRsLEPanel_UpdateByNode(This)	\
    (This)->lpVtbl -> UpdateByNode(This)

#define IRsLEPanel_UpdateConByNode(This,idCon)	\
    (This)->lpVtbl -> UpdateConByNode(This,idCon)

#define IRsLEPanel_GetConnReferencePoint(This,idCon,pPoint)	\
    (This)->lpVtbl -> GetConnReferencePoint(This,idCon,pPoint)

#define IRsLEPanel_GetConnByPoint(This,pPoint,idCon)	\
    (This)->lpVtbl -> GetConnByPoint(This,pPoint,idCon)

#define IRsLEPanel_GetPanelOwner(This,pPanelOwner)	\
    (This)->lpVtbl -> GetPanelOwner(This,pPanelOwner)

#define IRsLEPanel_HighlightConn(This,idCon,ulIntensity)	\
    (This)->lpVtbl -> HighlightConn(This,idCon,ulIntensity)

#define IRsLEPanel_AttachToNode(This,pNode)	\
    (This)->lpVtbl -> AttachToNode(This,pNode)

#define IRsLEPanel_SetBehaviourFlags(This,ulFlags)	\
    (This)->lpVtbl -> SetBehaviourFlags(This,ulFlags)

#define IRsLEPanel_GetBehaviourFlags(This,ulFlags)	\
    (This)->lpVtbl -> GetBehaviourFlags(This,ulFlags)

#define IRsLEPanel_SetAspect(This,ulAspect)	\
    (This)->lpVtbl -> SetAspect(This,ulAspect)

#define IRsLEPanel_GetAspect(This,ulAspect)	\
    (This)->lpVtbl -> GetAspect(This,ulAspect)

#define IRsLEPanel_PutPanelId(This,idPanel)	\
    (This)->lpVtbl -> PutPanelId(This,idPanel)

#define IRsLEPanel_GetPanelId(This,idPanel)	\
    (This)->lpVtbl -> GetPanelId(This,idPanel)

#define IRsLEPanel_AddNewControl(This,piid,idCon,pPoint)	\
    (This)->lpVtbl -> AddNewControl(This,piid,idCon,pPoint)

#define IRsLEPanel_CloneControl(This,ppSrc,tgPos)	\
    (This)->lpVtbl -> CloneControl(This,ppSrc,tgPos)

#define IRsLEPanel_ChangeSelControl(This,idControlType)	\
    (This)->lpVtbl -> ChangeSelControl(This,idControlType)

#define IRsLEPanel_AssignToIcon(This,idControlType,idCon)	\
    (This)->lpVtbl -> AssignToIcon(This,idControlType,idCon)

#define IRsLEPanel_GetSelConnDesc(This,ppConnDesc)	\
    (This)->lpVtbl -> GetSelConnDesc(This,ppConnDesc)

#define IRsLEPanel_GetSelControl(This,ppControl)	\
    (This)->lpVtbl -> GetSelControl(This,ppControl)

#define IRsLEPanel_PutPanelOwner(This,pPanelOwner)	\
    (This)->lpVtbl -> PutPanelOwner(This,pPanelOwner)

#define IRsLEPanel_GetAllAspects(This,saAspects)	\
    (This)->lpVtbl -> GetAllAspects(This,saAspects)

#define IRsLEPanel_GetAttachedNode(This,spNode)	\
    (This)->lpVtbl -> GetAttachedNode(This,spNode)

#define IRsLEPanel_StoreUITable(This)	\
    (This)->lpVtbl -> StoreUITable(This)

#define IRsLEPanel_UpdateValues(This)	\
    (This)->lpVtbl -> UpdateValues(This)

#define IRsLEPanel_UpdateByPanelProp(This)	\
    (This)->lpVtbl -> UpdateByPanelProp(This)

#define IRsLEPanel_ClosePanelProp(This)	\
    (This)->lpVtbl -> ClosePanelProp(This)

#define IRsLEPanel_UpdateUITable(This,flag)	\
    (This)->lpVtbl -> UpdateUITable(This,flag)

#define IRsLEPanel_GetEditState(This,ulState)	\
    (This)->lpVtbl -> GetEditState(This,ulState)

#define IRsLEPanel_ChangeEditState(This,ulEditState)	\
    (This)->lpVtbl -> ChangeEditState(This,ulEditState)

#define IRsLEPanel_UpdateByControlDialog(This,cmd)	\
    (This)->lpVtbl -> UpdateByControlDialog(This,cmd)

#define IRsLEPanel_CloseControlDialog(This)	\
    (This)->lpVtbl -> CloseControlDialog(This)

#define IRsLEPanel_GetAspectName(This,ulAspect,bsName)	\
    (This)->lpVtbl -> GetAspectName(This,ulAspect,bsName)

#define IRsLEPanel_GetBkgColor(This,col)	\
    (This)->lpVtbl -> GetBkgColor(This,col)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsLEPanel_CreatePanel_Proxy( 
    IRsLEPanel * This,
    /* [in] */ IRsLEPanelData *pInitData);


void __RPC_STUB IRsLEPanel_CreatePanel_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsLEPanel_DestroyPanel_Proxy( 
    IRsLEPanel * This);


void __RPC_STUB IRsLEPanel_DestroyPanel_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsLEPanel_CreatePanelWindow_Proxy( 
    IRsLEPanel * This,
    /* [in] */ POINT pos);


void __RPC_STUB IRsLEPanel_CreatePanelWindow_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsLEPanel_DestroyPanelWindow_Proxy( 
    IRsLEPanel * This);


void __RPC_STUB IRsLEPanel_DestroyPanelWindow_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsLEPanel_GetBoundingRect_Proxy( 
    IRsLEPanel * This,
    /* [retval][out] */ RECT *rc);


void __RPC_STUB IRsLEPanel_GetBoundingRect_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsLEPanel_GetBoundingRegion_Proxy( 
    IRsLEPanel * This,
    /* [retval][out] */ HRGN *hRgn);


void __RPC_STUB IRsLEPanel_GetBoundingRegion_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsLEPanel_GetHandle_Proxy( 
    IRsLEPanel * This,
    /* [retval][out] */ HWND *hWnd);


void __RPC_STUB IRsLEPanel_GetHandle_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsLEPanel_HighlightPanel_Proxy( 
    IRsLEPanel * This,
    /* [in] */ RtUlong ulIntensity);


void __RPC_STUB IRsLEPanel_HighlightPanel_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsLEPanel_UpdateByNode_Proxy( 
    IRsLEPanel * This);


void __RPC_STUB IRsLEPanel_UpdateByNode_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsLEPanel_UpdateConByNode_Proxy( 
    IRsLEPanel * This,
    /* [in] */ CONID idCon);


void __RPC_STUB IRsLEPanel_UpdateConByNode_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsLEPanel_GetConnReferencePoint_Proxy( 
    IRsLEPanel * This,
    /* [in] */ CONID idCon,
    /* [retval][out] */ POINT *pPoint);


void __RPC_STUB IRsLEPanel_GetConnReferencePoint_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsLEPanel_GetConnByPoint_Proxy( 
    IRsLEPanel * This,
    /* [in] */ POINT pPoint,
    /* [retval][out] */ CONID *idCon);


void __RPC_STUB IRsLEPanel_GetConnByPoint_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsLEPanel_GetPanelOwner_Proxy( 
    IRsLEPanel * This,
    /* [out] */ IRsPanelOwner **pPanelOwner);


void __RPC_STUB IRsLEPanel_GetPanelOwner_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsLEPanel_HighlightConn_Proxy( 
    IRsLEPanel * This,
    /* [in] */ CONID idCon,
    /* [in] */ RtUlong ulIntensity);


void __RPC_STUB IRsLEPanel_HighlightConn_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsLEPanel_AttachToNode_Proxy( 
    IRsLEPanel * This,
    /* [in] */ IRsNode *pNode);


void __RPC_STUB IRsLEPanel_AttachToNode_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsLEPanel_SetBehaviourFlags_Proxy( 
    IRsLEPanel * This,
    /* [in] */ RtUlong ulFlags);


void __RPC_STUB IRsLEPanel_SetBehaviourFlags_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsLEPanel_GetBehaviourFlags_Proxy( 
    IRsLEPanel * This,
    /* [out] */ RtUlong *ulFlags);


void __RPC_STUB IRsLEPanel_GetBehaviourFlags_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsLEPanel_SetAspect_Proxy( 
    IRsLEPanel * This,
    /* [in] */ RtUlong ulAspect);


void __RPC_STUB IRsLEPanel_SetAspect_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsLEPanel_GetAspect_Proxy( 
    IRsLEPanel * This,
    /* [out] */ RtUlong *ulAspect);


void __RPC_STUB IRsLEPanel_GetAspect_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsLEPanel_PutPanelId_Proxy( 
    IRsLEPanel * This,
    /* [in] */ GUID idPanel);


void __RPC_STUB IRsLEPanel_PutPanelId_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsLEPanel_GetPanelId_Proxy( 
    IRsLEPanel * This,
    /* [out] */ GUID *idPanel);


void __RPC_STUB IRsLEPanel_GetPanelId_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsLEPanel_AddNewControl_Proxy( 
    IRsLEPanel * This,
    /* [in] */ IID *piid,
    /* [in] */ CONID idCon,
    /* [in] */ POINT *pPoint);


void __RPC_STUB IRsLEPanel_AddNewControl_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsLEPanel_CloneControl_Proxy( 
    IRsLEPanel * This,
    /* [in] */ IRsUIControl *ppSrc,
    /* [in] */ RECT *tgPos);


void __RPC_STUB IRsLEPanel_CloneControl_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsLEPanel_ChangeSelControl_Proxy( 
    IRsLEPanel * This,
    /* [in] */ IID *idControlType);


void __RPC_STUB IRsLEPanel_ChangeSelControl_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsLEPanel_AssignToIcon_Proxy( 
    IRsLEPanel * This,
    /* [in] */ IID *idControlType,
    /* [in] */ CONID idCon);


void __RPC_STUB IRsLEPanel_AssignToIcon_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsLEPanel_GetSelConnDesc_Proxy( 
    IRsLEPanel * This,
    /* [retval][out] */ IRsConDescriptor **ppConnDesc);


void __RPC_STUB IRsLEPanel_GetSelConnDesc_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsLEPanel_GetSelControl_Proxy( 
    IRsLEPanel * This,
    /* [retval][out] */ IRsUIControl **ppControl);


void __RPC_STUB IRsLEPanel_GetSelControl_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsLEPanel_PutPanelOwner_Proxy( 
    IRsLEPanel * This,
    /* [in] */ IRsPanelOwner *pPanelOwner);


void __RPC_STUB IRsLEPanel_PutPanelOwner_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsLEPanel_GetAllAspects_Proxy( 
    IRsLEPanel * This,
    /* [retval][out] */ LPSAFEARRAY *saAspects);


void __RPC_STUB IRsLEPanel_GetAllAspects_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsLEPanel_GetAttachedNode_Proxy( 
    IRsLEPanel * This,
    /* [retval][out] */ IRsNode **spNode);


void __RPC_STUB IRsLEPanel_GetAttachedNode_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsLEPanel_StoreUITable_Proxy( 
    IRsLEPanel * This);


void __RPC_STUB IRsLEPanel_StoreUITable_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsLEPanel_UpdateValues_Proxy( 
    IRsLEPanel * This);


void __RPC_STUB IRsLEPanel_UpdateValues_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsLEPanel_UpdateByPanelProp_Proxy( 
    IRsLEPanel * This);


void __RPC_STUB IRsLEPanel_UpdateByPanelProp_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsLEPanel_ClosePanelProp_Proxy( 
    IRsLEPanel * This);


void __RPC_STUB IRsLEPanel_ClosePanelProp_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsLEPanel_UpdateUITable_Proxy( 
    IRsLEPanel * This,
    /* [in] */ RtUlong flag);


void __RPC_STUB IRsLEPanel_UpdateUITable_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsLEPanel_GetEditState_Proxy( 
    IRsLEPanel * This,
    /* [out] */ RtUlong *ulState);


void __RPC_STUB IRsLEPanel_GetEditState_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsLEPanel_ChangeEditState_Proxy( 
    IRsLEPanel * This,
    /* [in] */ RtUlong ulEditState);


void __RPC_STUB IRsLEPanel_ChangeEditState_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsLEPanel_UpdateByControlDialog_Proxy( 
    IRsLEPanel * This,
    /* [in] */ int cmd);


void __RPC_STUB IRsLEPanel_UpdateByControlDialog_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsLEPanel_CloseControlDialog_Proxy( 
    IRsLEPanel * This);


void __RPC_STUB IRsLEPanel_CloseControlDialog_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsLEPanel_GetAspectName_Proxy( 
    IRsLEPanel * This,
    /* [in] */ RtUlong ulAspect,
    /* [retval][out] */ BSTR *bsName);


void __RPC_STUB IRsLEPanel_GetAspectName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsLEPanel_GetBkgColor_Proxy( 
    IRsLEPanel * This,
    /* [out] */ COLORREF *col);


void __RPC_STUB IRsLEPanel_GetBkgColor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsLEPanel_INTERFACE_DEFINED__ */


/* interface __MIDL_itf__Kernel_0985 */
/* [local] */ 

typedef 
enum _tagRtPanelViewType
    {	PVT_UNKNOWN	= 0,
	PVT_TOOL	= 1,
	PVT_OBJECT	= 2,
	PVT_PREFERENCES	= 3,
	PVT_LOCKED	= 4,
	PVT_PHYSIC	= 5
    } 	RtPanelViewType;



extern RPC_IF_HANDLE __MIDL_itf__Kernel_0985_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf__Kernel_0985_v0_0_s_ifspec;

#ifndef __IRsPanelObj_INTERFACE_DEFINED__
#define __IRsPanelObj_INTERFACE_DEFINED__

/* interface IRsPanelObj */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsPanelObj;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("5790D06C-0E02-458d-9F98-DEDFFBB52E6B")
    IRsPanelObj : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreatePanel( 
            /* [in] */ IRsPanelOwner *pOwner) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE DestroyPanelObjWindow( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SwitchExpandState( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE UpdateAspect( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ShowAspectButton( 
            /* [in] */ RtBool bShow) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE UpdateByNode( void) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_PanelNode( 
            /* [retval][out] */ IRsBaseNode **ppPanelNode) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_PanelRoot( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_PanelRoot( 
            /* [in] */ BSTR newVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_PanelTitle( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_PanelTitle( 
            /* [in] */ BSTR newVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_PanelAspect( 
            /* [retval][out] */ RtUlong *pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_PanelAspect( 
            /* [in] */ RtUlong newVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_PanelStyle( 
            /* [retval][out] */ RtUlong *pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_PanelStyle( 
            /* [in] */ RtUlong newVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_PanelView( 
            /* [retval][out] */ RtPanelViewType *pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_PanelView( 
            /* [in] */ RtPanelViewType newVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Position( 
            /* [retval][out] */ POINT *pPos) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Position( 
            /* [in] */ POINT newPos) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetWndPos( 
            /* [retval][out] */ POINT *pPos) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetWndPos( 
            /* [in] */ POINT newPos) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE MoveWindow( 
            /* [in] */ POINT ptDifference) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetBoundingRect( 
            /* [retval][out] */ RECT *rc) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetWidth( 
            /* [retval][out] */ int *pWidth) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetHeight( 
            /* [retval][out] */ int *pHeight) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnResizeParentView( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE IsAspectButtonVisible( 
            /* [retval][out] */ RtBool *pVisible) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsPanelObjVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsPanelObj * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsPanelObj * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsPanelObj * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreatePanel )( 
            IRsPanelObj * This,
            /* [in] */ IRsPanelOwner *pOwner);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *DestroyPanelObjWindow )( 
            IRsPanelObj * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SwitchExpandState )( 
            IRsPanelObj * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *UpdateAspect )( 
            IRsPanelObj * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ShowAspectButton )( 
            IRsPanelObj * This,
            /* [in] */ RtBool bShow);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *UpdateByNode )( 
            IRsPanelObj * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PanelNode )( 
            IRsPanelObj * This,
            /* [retval][out] */ IRsBaseNode **ppPanelNode);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PanelRoot )( 
            IRsPanelObj * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_PanelRoot )( 
            IRsPanelObj * This,
            /* [in] */ BSTR newVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PanelTitle )( 
            IRsPanelObj * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_PanelTitle )( 
            IRsPanelObj * This,
            /* [in] */ BSTR newVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PanelAspect )( 
            IRsPanelObj * This,
            /* [retval][out] */ RtUlong *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_PanelAspect )( 
            IRsPanelObj * This,
            /* [in] */ RtUlong newVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PanelStyle )( 
            IRsPanelObj * This,
            /* [retval][out] */ RtUlong *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_PanelStyle )( 
            IRsPanelObj * This,
            /* [in] */ RtUlong newVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PanelView )( 
            IRsPanelObj * This,
            /* [retval][out] */ RtPanelViewType *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_PanelView )( 
            IRsPanelObj * This,
            /* [in] */ RtPanelViewType newVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Position )( 
            IRsPanelObj * This,
            /* [retval][out] */ POINT *pPos);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Position )( 
            IRsPanelObj * This,
            /* [in] */ POINT newPos);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetWndPos )( 
            IRsPanelObj * This,
            /* [retval][out] */ POINT *pPos);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetWndPos )( 
            IRsPanelObj * This,
            /* [in] */ POINT newPos);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *MoveWindow )( 
            IRsPanelObj * This,
            /* [in] */ POINT ptDifference);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetBoundingRect )( 
            IRsPanelObj * This,
            /* [retval][out] */ RECT *rc);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetWidth )( 
            IRsPanelObj * This,
            /* [retval][out] */ int *pWidth);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetHeight )( 
            IRsPanelObj * This,
            /* [retval][out] */ int *pHeight);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OnResizeParentView )( 
            IRsPanelObj * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *IsAspectButtonVisible )( 
            IRsPanelObj * This,
            /* [retval][out] */ RtBool *pVisible);
        
        END_INTERFACE
    } IRsPanelObjVtbl;

    interface IRsPanelObj
    {
        CONST_VTBL struct IRsPanelObjVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsPanelObj_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsPanelObj_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsPanelObj_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsPanelObj_CreatePanel(This,pOwner)	\
    (This)->lpVtbl -> CreatePanel(This,pOwner)

#define IRsPanelObj_DestroyPanelObjWindow(This)	\
    (This)->lpVtbl -> DestroyPanelObjWindow(This)

#define IRsPanelObj_SwitchExpandState(This)	\
    (This)->lpVtbl -> SwitchExpandState(This)

#define IRsPanelObj_UpdateAspect(This)	\
    (This)->lpVtbl -> UpdateAspect(This)

#define IRsPanelObj_ShowAspectButton(This,bShow)	\
    (This)->lpVtbl -> ShowAspectButton(This,bShow)

#define IRsPanelObj_UpdateByNode(This)	\
    (This)->lpVtbl -> UpdateByNode(This)

#define IRsPanelObj_get_PanelNode(This,ppPanelNode)	\
    (This)->lpVtbl -> get_PanelNode(This,ppPanelNode)

#define IRsPanelObj_get_PanelRoot(This,pVal)	\
    (This)->lpVtbl -> get_PanelRoot(This,pVal)

#define IRsPanelObj_put_PanelRoot(This,newVal)	\
    (This)->lpVtbl -> put_PanelRoot(This,newVal)

#define IRsPanelObj_get_PanelTitle(This,pVal)	\
    (This)->lpVtbl -> get_PanelTitle(This,pVal)

#define IRsPanelObj_put_PanelTitle(This,newVal)	\
    (This)->lpVtbl -> put_PanelTitle(This,newVal)

#define IRsPanelObj_get_PanelAspect(This,pVal)	\
    (This)->lpVtbl -> get_PanelAspect(This,pVal)

#define IRsPanelObj_put_PanelAspect(This,newVal)	\
    (This)->lpVtbl -> put_PanelAspect(This,newVal)

#define IRsPanelObj_get_PanelStyle(This,pVal)	\
    (This)->lpVtbl -> get_PanelStyle(This,pVal)

#define IRsPanelObj_put_PanelStyle(This,newVal)	\
    (This)->lpVtbl -> put_PanelStyle(This,newVal)

#define IRsPanelObj_get_PanelView(This,pVal)	\
    (This)->lpVtbl -> get_PanelView(This,pVal)

#define IRsPanelObj_put_PanelView(This,newVal)	\
    (This)->lpVtbl -> put_PanelView(This,newVal)

#define IRsPanelObj_get_Position(This,pPos)	\
    (This)->lpVtbl -> get_Position(This,pPos)

#define IRsPanelObj_put_Position(This,newPos)	\
    (This)->lpVtbl -> put_Position(This,newPos)

#define IRsPanelObj_GetWndPos(This,pPos)	\
    (This)->lpVtbl -> GetWndPos(This,pPos)

#define IRsPanelObj_SetWndPos(This,newPos)	\
    (This)->lpVtbl -> SetWndPos(This,newPos)

#define IRsPanelObj_MoveWindow(This,ptDifference)	\
    (This)->lpVtbl -> MoveWindow(This,ptDifference)

#define IRsPanelObj_GetBoundingRect(This,rc)	\
    (This)->lpVtbl -> GetBoundingRect(This,rc)

#define IRsPanelObj_GetWidth(This,pWidth)	\
    (This)->lpVtbl -> GetWidth(This,pWidth)

#define IRsPanelObj_GetHeight(This,pHeight)	\
    (This)->lpVtbl -> GetHeight(This,pHeight)

#define IRsPanelObj_OnResizeParentView(This)	\
    (This)->lpVtbl -> OnResizeParentView(This)

#define IRsPanelObj_IsAspectButtonVisible(This,pVisible)	\
    (This)->lpVtbl -> IsAspectButtonVisible(This,pVisible)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsPanelObj_CreatePanel_Proxy( 
    IRsPanelObj * This,
    /* [in] */ IRsPanelOwner *pOwner);


void __RPC_STUB IRsPanelObj_CreatePanel_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsPanelObj_DestroyPanelObjWindow_Proxy( 
    IRsPanelObj * This);


void __RPC_STUB IRsPanelObj_DestroyPanelObjWindow_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsPanelObj_SwitchExpandState_Proxy( 
    IRsPanelObj * This);


void __RPC_STUB IRsPanelObj_SwitchExpandState_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsPanelObj_UpdateAspect_Proxy( 
    IRsPanelObj * This);


void __RPC_STUB IRsPanelObj_UpdateAspect_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsPanelObj_ShowAspectButton_Proxy( 
    IRsPanelObj * This,
    /* [in] */ RtBool bShow);


void __RPC_STUB IRsPanelObj_ShowAspectButton_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsPanelObj_UpdateByNode_Proxy( 
    IRsPanelObj * This);


void __RPC_STUB IRsPanelObj_UpdateByNode_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRsPanelObj_get_PanelNode_Proxy( 
    IRsPanelObj * This,
    /* [retval][out] */ IRsBaseNode **ppPanelNode);


void __RPC_STUB IRsPanelObj_get_PanelNode_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRsPanelObj_get_PanelRoot_Proxy( 
    IRsPanelObj * This,
    /* [retval][out] */ BSTR *pVal);


void __RPC_STUB IRsPanelObj_get_PanelRoot_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRsPanelObj_put_PanelRoot_Proxy( 
    IRsPanelObj * This,
    /* [in] */ BSTR newVal);


void __RPC_STUB IRsPanelObj_put_PanelRoot_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRsPanelObj_get_PanelTitle_Proxy( 
    IRsPanelObj * This,
    /* [retval][out] */ BSTR *pVal);


void __RPC_STUB IRsPanelObj_get_PanelTitle_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRsPanelObj_put_PanelTitle_Proxy( 
    IRsPanelObj * This,
    /* [in] */ BSTR newVal);


void __RPC_STUB IRsPanelObj_put_PanelTitle_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRsPanelObj_get_PanelAspect_Proxy( 
    IRsPanelObj * This,
    /* [retval][out] */ RtUlong *pVal);


void __RPC_STUB IRsPanelObj_get_PanelAspect_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRsPanelObj_put_PanelAspect_Proxy( 
    IRsPanelObj * This,
    /* [in] */ RtUlong newVal);


void __RPC_STUB IRsPanelObj_put_PanelAspect_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRsPanelObj_get_PanelStyle_Proxy( 
    IRsPanelObj * This,
    /* [retval][out] */ RtUlong *pVal);


void __RPC_STUB IRsPanelObj_get_PanelStyle_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRsPanelObj_put_PanelStyle_Proxy( 
    IRsPanelObj * This,
    /* [in] */ RtUlong newVal);


void __RPC_STUB IRsPanelObj_put_PanelStyle_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRsPanelObj_get_PanelView_Proxy( 
    IRsPanelObj * This,
    /* [retval][out] */ RtPanelViewType *pVal);


void __RPC_STUB IRsPanelObj_get_PanelView_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRsPanelObj_put_PanelView_Proxy( 
    IRsPanelObj * This,
    /* [in] */ RtPanelViewType newVal);


void __RPC_STUB IRsPanelObj_put_PanelView_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRsPanelObj_get_Position_Proxy( 
    IRsPanelObj * This,
    /* [retval][out] */ POINT *pPos);


void __RPC_STUB IRsPanelObj_get_Position_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRsPanelObj_put_Position_Proxy( 
    IRsPanelObj * This,
    /* [in] */ POINT newPos);


void __RPC_STUB IRsPanelObj_put_Position_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsPanelObj_GetWndPos_Proxy( 
    IRsPanelObj * This,
    /* [retval][out] */ POINT *pPos);


void __RPC_STUB IRsPanelObj_GetWndPos_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsPanelObj_SetWndPos_Proxy( 
    IRsPanelObj * This,
    /* [in] */ POINT newPos);


void __RPC_STUB IRsPanelObj_SetWndPos_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsPanelObj_MoveWindow_Proxy( 
    IRsPanelObj * This,
    /* [in] */ POINT ptDifference);


void __RPC_STUB IRsPanelObj_MoveWindow_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsPanelObj_GetBoundingRect_Proxy( 
    IRsPanelObj * This,
    /* [retval][out] */ RECT *rc);


void __RPC_STUB IRsPanelObj_GetBoundingRect_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsPanelObj_GetWidth_Proxy( 
    IRsPanelObj * This,
    /* [retval][out] */ int *pWidth);


void __RPC_STUB IRsPanelObj_GetWidth_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsPanelObj_GetHeight_Proxy( 
    IRsPanelObj * This,
    /* [retval][out] */ int *pHeight);


void __RPC_STUB IRsPanelObj_GetHeight_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsPanelObj_OnResizeParentView_Proxy( 
    IRsPanelObj * This);


void __RPC_STUB IRsPanelObj_OnResizeParentView_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsPanelObj_IsAspectButtonVisible_Proxy( 
    IRsPanelObj * This,
    /* [retval][out] */ RtBool *pVisible);


void __RPC_STUB IRsPanelObj_IsAspectButtonVisible_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsPanelObj_INTERFACE_DEFINED__ */


#ifndef __IRsPanelOwnerEditor_INTERFACE_DEFINED__
#define __IRsPanelOwnerEditor_INTERFACE_DEFINED__

/* interface IRsPanelOwnerEditor */
/* [unique][helpstring][uuid][local][object] */ 


EXTERN_C const IID IID_IRsPanelOwnerEditor;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("5D21C117-810C-4531-97F2-DCC0E9CA50B3")
    IRsPanelOwnerEditor : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetCurrentlyEditedPanel( 
            /* [out] */ IRsLEPanel **pPanel) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetCurrentlyEditedPanel( 
            /* [in] */ IRsLEPanel *pPanel) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnPanelEditingStart( 
            /* [in] */ IRsLEPanel *pPanel) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnPanelEditingEnd( 
            /* [in] */ IRsLEPanel *pPanel) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnEditorClose( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsPanelOwnerEditorVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsPanelOwnerEditor * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsPanelOwnerEditor * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsPanelOwnerEditor * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetCurrentlyEditedPanel )( 
            IRsPanelOwnerEditor * This,
            /* [out] */ IRsLEPanel **pPanel);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetCurrentlyEditedPanel )( 
            IRsPanelOwnerEditor * This,
            /* [in] */ IRsLEPanel *pPanel);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OnPanelEditingStart )( 
            IRsPanelOwnerEditor * This,
            /* [in] */ IRsLEPanel *pPanel);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OnPanelEditingEnd )( 
            IRsPanelOwnerEditor * This,
            /* [in] */ IRsLEPanel *pPanel);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OnEditorClose )( 
            IRsPanelOwnerEditor * This);
        
        END_INTERFACE
    } IRsPanelOwnerEditorVtbl;

    interface IRsPanelOwnerEditor
    {
        CONST_VTBL struct IRsPanelOwnerEditorVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsPanelOwnerEditor_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsPanelOwnerEditor_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsPanelOwnerEditor_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsPanelOwnerEditor_GetCurrentlyEditedPanel(This,pPanel)	\
    (This)->lpVtbl -> GetCurrentlyEditedPanel(This,pPanel)

#define IRsPanelOwnerEditor_SetCurrentlyEditedPanel(This,pPanel)	\
    (This)->lpVtbl -> SetCurrentlyEditedPanel(This,pPanel)

#define IRsPanelOwnerEditor_OnPanelEditingStart(This,pPanel)	\
    (This)->lpVtbl -> OnPanelEditingStart(This,pPanel)

#define IRsPanelOwnerEditor_OnPanelEditingEnd(This,pPanel)	\
    (This)->lpVtbl -> OnPanelEditingEnd(This,pPanel)

#define IRsPanelOwnerEditor_OnEditorClose(This)	\
    (This)->lpVtbl -> OnEditorClose(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsPanelOwnerEditor_GetCurrentlyEditedPanel_Proxy( 
    IRsPanelOwnerEditor * This,
    /* [out] */ IRsLEPanel **pPanel);


void __RPC_STUB IRsPanelOwnerEditor_GetCurrentlyEditedPanel_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsPanelOwnerEditor_SetCurrentlyEditedPanel_Proxy( 
    IRsPanelOwnerEditor * This,
    /* [in] */ IRsLEPanel *pPanel);


void __RPC_STUB IRsPanelOwnerEditor_SetCurrentlyEditedPanel_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsPanelOwnerEditor_OnPanelEditingStart_Proxy( 
    IRsPanelOwnerEditor * This,
    /* [in] */ IRsLEPanel *pPanel);


void __RPC_STUB IRsPanelOwnerEditor_OnPanelEditingStart_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsPanelOwnerEditor_OnPanelEditingEnd_Proxy( 
    IRsPanelOwnerEditor * This,
    /* [in] */ IRsLEPanel *pPanel);


void __RPC_STUB IRsPanelOwnerEditor_OnPanelEditingEnd_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsPanelOwnerEditor_OnEditorClose_Proxy( 
    IRsPanelOwnerEditor * This);


void __RPC_STUB IRsPanelOwnerEditor_OnEditorClose_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsPanelOwnerEditor_INTERFACE_DEFINED__ */


#ifndef __IRnPanelView_INTERFACE_DEFINED__
#define __IRnPanelView_INTERFACE_DEFINED__

/* interface IRnPanelView */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnPanelView;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("F58586F9-CEBE-48ec-AF25-EC27EBB6CD38")
    IRnPanelView : public IUnknown
    {
    public:
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetPanel( 
            /* [retval][out] */ IRsLEPanel **pPanel) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetAspect( 
            /* [in] */ RtUlong aspect) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ControlUpdated( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE UpdateControl( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OwnerFrameWindowID( 
            /* [in] */ BSTR bszWinID) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_PanelType( 
            /* [retval][out] */ RtLong *pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_PanelType( 
            /* [in] */ RtLong newVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ForceShowAspects( 
            /* [retval][out] */ RtLong *pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_ForceShowAspects( 
            /* [in] */ RtLong newVal) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRnPanelViewVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnPanelView * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnPanelView * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnPanelView * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetPanel )( 
            IRnPanelView * This,
            /* [retval][out] */ IRsLEPanel **pPanel);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetAspect )( 
            IRnPanelView * This,
            /* [in] */ RtUlong aspect);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ControlUpdated )( 
            IRnPanelView * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *UpdateControl )( 
            IRnPanelView * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OwnerFrameWindowID )( 
            IRnPanelView * This,
            /* [in] */ BSTR bszWinID);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PanelType )( 
            IRnPanelView * This,
            /* [retval][out] */ RtLong *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_PanelType )( 
            IRnPanelView * This,
            /* [in] */ RtLong newVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ForceShowAspects )( 
            IRnPanelView * This,
            /* [retval][out] */ RtLong *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ForceShowAspects )( 
            IRnPanelView * This,
            /* [in] */ RtLong newVal);
        
        END_INTERFACE
    } IRnPanelViewVtbl;

    interface IRnPanelView
    {
        CONST_VTBL struct IRnPanelViewVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnPanelView_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnPanelView_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnPanelView_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRnPanelView_GetPanel(This,pPanel)	\
    (This)->lpVtbl -> GetPanel(This,pPanel)

#define IRnPanelView_SetAspect(This,aspect)	\
    (This)->lpVtbl -> SetAspect(This,aspect)

#define IRnPanelView_ControlUpdated(This)	\
    (This)->lpVtbl -> ControlUpdated(This)

#define IRnPanelView_UpdateControl(This)	\
    (This)->lpVtbl -> UpdateControl(This)

#define IRnPanelView_OwnerFrameWindowID(This,bszWinID)	\
    (This)->lpVtbl -> OwnerFrameWindowID(This,bszWinID)

#define IRnPanelView_get_PanelType(This,pVal)	\
    (This)->lpVtbl -> get_PanelType(This,pVal)

#define IRnPanelView_put_PanelType(This,newVal)	\
    (This)->lpVtbl -> put_PanelType(This,newVal)

#define IRnPanelView_get_ForceShowAspects(This,pVal)	\
    (This)->lpVtbl -> get_ForceShowAspects(This,pVal)

#define IRnPanelView_put_ForceShowAspects(This,newVal)	\
    (This)->lpVtbl -> put_ForceShowAspects(This,newVal)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRnPanelView_GetPanel_Proxy( 
    IRnPanelView * This,
    /* [retval][out] */ IRsLEPanel **pPanel);


void __RPC_STUB IRnPanelView_GetPanel_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnPanelView_SetAspect_Proxy( 
    IRnPanelView * This,
    /* [in] */ RtUlong aspect);


void __RPC_STUB IRnPanelView_SetAspect_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnPanelView_ControlUpdated_Proxy( 
    IRnPanelView * This);


void __RPC_STUB IRnPanelView_ControlUpdated_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnPanelView_UpdateControl_Proxy( 
    IRnPanelView * This);


void __RPC_STUB IRnPanelView_UpdateControl_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnPanelView_OwnerFrameWindowID_Proxy( 
    IRnPanelView * This,
    /* [in] */ BSTR bszWinID);


void __RPC_STUB IRnPanelView_OwnerFrameWindowID_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRnPanelView_get_PanelType_Proxy( 
    IRnPanelView * This,
    /* [retval][out] */ RtLong *pVal);


void __RPC_STUB IRnPanelView_get_PanelType_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRnPanelView_put_PanelType_Proxy( 
    IRnPanelView * This,
    /* [in] */ RtLong newVal);


void __RPC_STUB IRnPanelView_put_PanelType_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRnPanelView_get_ForceShowAspects_Proxy( 
    IRnPanelView * This,
    /* [retval][out] */ RtLong *pVal);


void __RPC_STUB IRnPanelView_get_ForceShowAspects_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRnPanelView_put_ForceShowAspects_Proxy( 
    IRnPanelView * This,
    /* [in] */ RtLong newVal);


void __RPC_STUB IRnPanelView_put_ForceShowAspects_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRnPanelView_INTERFACE_DEFINED__ */


#ifndef __IRsPanelObjContainer_INTERFACE_DEFINED__
#define __IRsPanelObjContainer_INTERFACE_DEFINED__

/* interface IRsPanelObjContainer */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsPanelObjContainer;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("506ED192-DE69-4872-831E-303C6FA8D06F")
    IRsPanelObjContainer : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Add( 
            /* [in] */ IRsPanelObj *pPanelObj) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ RtUlong *pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Count( 
            /* [in] */ RtUlong newVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE InsertAt( 
            /* [in] */ RtUlong pos,
            /* [in] */ IRsPanelObj *pPanelObj) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetAt( 
            /* [in] */ RtUlong pos,
            /* [in] */ IRsPanelObj *pPanelObj) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetAt( 
            /* [in] */ RtUlong pos,
            /* [retval][out] */ IRsPanelObj **ppPanelObj) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ReCreateAll( 
            /* [in] */ IRsPanelOwner *pPanelOwner) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE UpdateAll( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RemoveAll( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RemoveType( 
            /* [in] */ RtPanelViewType uType) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RemoveAt( 
            /* [in] */ RtUlong pos) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Move( 
            /* [in] */ RtUlong from,
            /* [in] */ RtUlong to) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RecountPositionsByOrder( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetTopPos( 
            /* [retval][out] */ POINT *pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetBottomPos( 
            /* [retval][out] */ POINT *pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE MoveAll( 
            /* [in] */ POINT ptDifference) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE MoveAllAbove( 
            /* [in] */ POINT ptPoint,
            /* [in] */ POINT ptDifference) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE MoveAllUnder( 
            /* [in] */ POINT ptPoint,
            /* [in] */ POINT ptDifference) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnResizeView( 
            /* [in] */ LPCRECT pNewRect) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetBoundingRect( 
            /* [retval][out] */ LPRECT prcBounding) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE FindByRoot( 
            /* [in] */ BSTR bsRoot,
            /* [retval][out] */ RtUlong *pIndex) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE FindByRootAspect( 
            /* [in] */ BSTR bsRoot,
            /* [in] */ RtUlong uAspect,
            /* [retval][out] */ RtUlong *pIndex) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE FindByPosition( 
            /* [in] */ POINT ptPosition,
            /* [retval][out] */ RtUlong *pIndex) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE FindByScreenPos( 
            /* [in] */ POINT ptScreenPos,
            /* [retval][out] */ RtUlong *pIndex) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE FindByViewType( 
            /* [in] */ RtPanelViewType uType,
            /* [retval][out] */ RtUlong *pIndex) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsPanelObjContainerVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsPanelObjContainer * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsPanelObjContainer * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsPanelObjContainer * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Add )( 
            IRsPanelObjContainer * This,
            /* [in] */ IRsPanelObj *pPanelObj);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            IRsPanelObjContainer * This,
            /* [retval][out] */ RtUlong *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Count )( 
            IRsPanelObjContainer * This,
            /* [in] */ RtUlong newVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *InsertAt )( 
            IRsPanelObjContainer * This,
            /* [in] */ RtUlong pos,
            /* [in] */ IRsPanelObj *pPanelObj);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetAt )( 
            IRsPanelObjContainer * This,
            /* [in] */ RtUlong pos,
            /* [in] */ IRsPanelObj *pPanelObj);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetAt )( 
            IRsPanelObjContainer * This,
            /* [in] */ RtUlong pos,
            /* [retval][out] */ IRsPanelObj **ppPanelObj);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ReCreateAll )( 
            IRsPanelObjContainer * This,
            /* [in] */ IRsPanelOwner *pPanelOwner);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *UpdateAll )( 
            IRsPanelObjContainer * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RemoveAll )( 
            IRsPanelObjContainer * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RemoveType )( 
            IRsPanelObjContainer * This,
            /* [in] */ RtPanelViewType uType);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RemoveAt )( 
            IRsPanelObjContainer * This,
            /* [in] */ RtUlong pos);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Move )( 
            IRsPanelObjContainer * This,
            /* [in] */ RtUlong from,
            /* [in] */ RtUlong to);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RecountPositionsByOrder )( 
            IRsPanelObjContainer * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetTopPos )( 
            IRsPanelObjContainer * This,
            /* [retval][out] */ POINT *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetBottomPos )( 
            IRsPanelObjContainer * This,
            /* [retval][out] */ POINT *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *MoveAll )( 
            IRsPanelObjContainer * This,
            /* [in] */ POINT ptDifference);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *MoveAllAbove )( 
            IRsPanelObjContainer * This,
            /* [in] */ POINT ptPoint,
            /* [in] */ POINT ptDifference);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *MoveAllUnder )( 
            IRsPanelObjContainer * This,
            /* [in] */ POINT ptPoint,
            /* [in] */ POINT ptDifference);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OnResizeView )( 
            IRsPanelObjContainer * This,
            /* [in] */ LPCRECT pNewRect);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetBoundingRect )( 
            IRsPanelObjContainer * This,
            /* [retval][out] */ LPRECT prcBounding);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *FindByRoot )( 
            IRsPanelObjContainer * This,
            /* [in] */ BSTR bsRoot,
            /* [retval][out] */ RtUlong *pIndex);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *FindByRootAspect )( 
            IRsPanelObjContainer * This,
            /* [in] */ BSTR bsRoot,
            /* [in] */ RtUlong uAspect,
            /* [retval][out] */ RtUlong *pIndex);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *FindByPosition )( 
            IRsPanelObjContainer * This,
            /* [in] */ POINT ptPosition,
            /* [retval][out] */ RtUlong *pIndex);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *FindByScreenPos )( 
            IRsPanelObjContainer * This,
            /* [in] */ POINT ptScreenPos,
            /* [retval][out] */ RtUlong *pIndex);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *FindByViewType )( 
            IRsPanelObjContainer * This,
            /* [in] */ RtPanelViewType uType,
            /* [retval][out] */ RtUlong *pIndex);
        
        END_INTERFACE
    } IRsPanelObjContainerVtbl;

    interface IRsPanelObjContainer
    {
        CONST_VTBL struct IRsPanelObjContainerVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsPanelObjContainer_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsPanelObjContainer_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsPanelObjContainer_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsPanelObjContainer_Add(This,pPanelObj)	\
    (This)->lpVtbl -> Add(This,pPanelObj)

#define IRsPanelObjContainer_get_Count(This,pVal)	\
    (This)->lpVtbl -> get_Count(This,pVal)

#define IRsPanelObjContainer_put_Count(This,newVal)	\
    (This)->lpVtbl -> put_Count(This,newVal)

#define IRsPanelObjContainer_InsertAt(This,pos,pPanelObj)	\
    (This)->lpVtbl -> InsertAt(This,pos,pPanelObj)

#define IRsPanelObjContainer_SetAt(This,pos,pPanelObj)	\
    (This)->lpVtbl -> SetAt(This,pos,pPanelObj)

#define IRsPanelObjContainer_GetAt(This,pos,ppPanelObj)	\
    (This)->lpVtbl -> GetAt(This,pos,ppPanelObj)

#define IRsPanelObjContainer_ReCreateAll(This,pPanelOwner)	\
    (This)->lpVtbl -> ReCreateAll(This,pPanelOwner)

#define IRsPanelObjContainer_UpdateAll(This)	\
    (This)->lpVtbl -> UpdateAll(This)

#define IRsPanelObjContainer_RemoveAll(This)	\
    (This)->lpVtbl -> RemoveAll(This)

#define IRsPanelObjContainer_RemoveType(This,uType)	\
    (This)->lpVtbl -> RemoveType(This,uType)

#define IRsPanelObjContainer_RemoveAt(This,pos)	\
    (This)->lpVtbl -> RemoveAt(This,pos)

#define IRsPanelObjContainer_Move(This,from,to)	\
    (This)->lpVtbl -> Move(This,from,to)

#define IRsPanelObjContainer_RecountPositionsByOrder(This)	\
    (This)->lpVtbl -> RecountPositionsByOrder(This)

#define IRsPanelObjContainer_GetTopPos(This,pVal)	\
    (This)->lpVtbl -> GetTopPos(This,pVal)

#define IRsPanelObjContainer_GetBottomPos(This,pVal)	\
    (This)->lpVtbl -> GetBottomPos(This,pVal)

#define IRsPanelObjContainer_MoveAll(This,ptDifference)	\
    (This)->lpVtbl -> MoveAll(This,ptDifference)

#define IRsPanelObjContainer_MoveAllAbove(This,ptPoint,ptDifference)	\
    (This)->lpVtbl -> MoveAllAbove(This,ptPoint,ptDifference)

#define IRsPanelObjContainer_MoveAllUnder(This,ptPoint,ptDifference)	\
    (This)->lpVtbl -> MoveAllUnder(This,ptPoint,ptDifference)

#define IRsPanelObjContainer_OnResizeView(This,pNewRect)	\
    (This)->lpVtbl -> OnResizeView(This,pNewRect)

#define IRsPanelObjContainer_GetBoundingRect(This,prcBounding)	\
    (This)->lpVtbl -> GetBoundingRect(This,prcBounding)

#define IRsPanelObjContainer_FindByRoot(This,bsRoot,pIndex)	\
    (This)->lpVtbl -> FindByRoot(This,bsRoot,pIndex)

#define IRsPanelObjContainer_FindByRootAspect(This,bsRoot,uAspect,pIndex)	\
    (This)->lpVtbl -> FindByRootAspect(This,bsRoot,uAspect,pIndex)

#define IRsPanelObjContainer_FindByPosition(This,ptPosition,pIndex)	\
    (This)->lpVtbl -> FindByPosition(This,ptPosition,pIndex)

#define IRsPanelObjContainer_FindByScreenPos(This,ptScreenPos,pIndex)	\
    (This)->lpVtbl -> FindByScreenPos(This,ptScreenPos,pIndex)

#define IRsPanelObjContainer_FindByViewType(This,uType,pIndex)	\
    (This)->lpVtbl -> FindByViewType(This,uType,pIndex)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsPanelObjContainer_Add_Proxy( 
    IRsPanelObjContainer * This,
    /* [in] */ IRsPanelObj *pPanelObj);


void __RPC_STUB IRsPanelObjContainer_Add_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRsPanelObjContainer_get_Count_Proxy( 
    IRsPanelObjContainer * This,
    /* [retval][out] */ RtUlong *pVal);


void __RPC_STUB IRsPanelObjContainer_get_Count_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRsPanelObjContainer_put_Count_Proxy( 
    IRsPanelObjContainer * This,
    /* [in] */ RtUlong newVal);


void __RPC_STUB IRsPanelObjContainer_put_Count_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsPanelObjContainer_InsertAt_Proxy( 
    IRsPanelObjContainer * This,
    /* [in] */ RtUlong pos,
    /* [in] */ IRsPanelObj *pPanelObj);


void __RPC_STUB IRsPanelObjContainer_InsertAt_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsPanelObjContainer_SetAt_Proxy( 
    IRsPanelObjContainer * This,
    /* [in] */ RtUlong pos,
    /* [in] */ IRsPanelObj *pPanelObj);


void __RPC_STUB IRsPanelObjContainer_SetAt_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsPanelObjContainer_GetAt_Proxy( 
    IRsPanelObjContainer * This,
    /* [in] */ RtUlong pos,
    /* [retval][out] */ IRsPanelObj **ppPanelObj);


void __RPC_STUB IRsPanelObjContainer_GetAt_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsPanelObjContainer_ReCreateAll_Proxy( 
    IRsPanelObjContainer * This,
    /* [in] */ IRsPanelOwner *pPanelOwner);


void __RPC_STUB IRsPanelObjContainer_ReCreateAll_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsPanelObjContainer_UpdateAll_Proxy( 
    IRsPanelObjContainer * This);


void __RPC_STUB IRsPanelObjContainer_UpdateAll_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsPanelObjContainer_RemoveAll_Proxy( 
    IRsPanelObjContainer * This);


void __RPC_STUB IRsPanelObjContainer_RemoveAll_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsPanelObjContainer_RemoveType_Proxy( 
    IRsPanelObjContainer * This,
    /* [in] */ RtPanelViewType uType);


void __RPC_STUB IRsPanelObjContainer_RemoveType_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsPanelObjContainer_RemoveAt_Proxy( 
    IRsPanelObjContainer * This,
    /* [in] */ RtUlong pos);


void __RPC_STUB IRsPanelObjContainer_RemoveAt_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsPanelObjContainer_Move_Proxy( 
    IRsPanelObjContainer * This,
    /* [in] */ RtUlong from,
    /* [in] */ RtUlong to);


void __RPC_STUB IRsPanelObjContainer_Move_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsPanelObjContainer_RecountPositionsByOrder_Proxy( 
    IRsPanelObjContainer * This);


void __RPC_STUB IRsPanelObjContainer_RecountPositionsByOrder_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsPanelObjContainer_GetTopPos_Proxy( 
    IRsPanelObjContainer * This,
    /* [retval][out] */ POINT *pVal);


void __RPC_STUB IRsPanelObjContainer_GetTopPos_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsPanelObjContainer_GetBottomPos_Proxy( 
    IRsPanelObjContainer * This,
    /* [retval][out] */ POINT *pVal);


void __RPC_STUB IRsPanelObjContainer_GetBottomPos_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsPanelObjContainer_MoveAll_Proxy( 
    IRsPanelObjContainer * This,
    /* [in] */ POINT ptDifference);


void __RPC_STUB IRsPanelObjContainer_MoveAll_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsPanelObjContainer_MoveAllAbove_Proxy( 
    IRsPanelObjContainer * This,
    /* [in] */ POINT ptPoint,
    /* [in] */ POINT ptDifference);


void __RPC_STUB IRsPanelObjContainer_MoveAllAbove_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsPanelObjContainer_MoveAllUnder_Proxy( 
    IRsPanelObjContainer * This,
    /* [in] */ POINT ptPoint,
    /* [in] */ POINT ptDifference);


void __RPC_STUB IRsPanelObjContainer_MoveAllUnder_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsPanelObjContainer_OnResizeView_Proxy( 
    IRsPanelObjContainer * This,
    /* [in] */ LPCRECT pNewRect);


void __RPC_STUB IRsPanelObjContainer_OnResizeView_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsPanelObjContainer_GetBoundingRect_Proxy( 
    IRsPanelObjContainer * This,
    /* [retval][out] */ LPRECT prcBounding);


void __RPC_STUB IRsPanelObjContainer_GetBoundingRect_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsPanelObjContainer_FindByRoot_Proxy( 
    IRsPanelObjContainer * This,
    /* [in] */ BSTR bsRoot,
    /* [retval][out] */ RtUlong *pIndex);


void __RPC_STUB IRsPanelObjContainer_FindByRoot_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsPanelObjContainer_FindByRootAspect_Proxy( 
    IRsPanelObjContainer * This,
    /* [in] */ BSTR bsRoot,
    /* [in] */ RtUlong uAspect,
    /* [retval][out] */ RtUlong *pIndex);


void __RPC_STUB IRsPanelObjContainer_FindByRootAspect_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsPanelObjContainer_FindByPosition_Proxy( 
    IRsPanelObjContainer * This,
    /* [in] */ POINT ptPosition,
    /* [retval][out] */ RtUlong *pIndex);


void __RPC_STUB IRsPanelObjContainer_FindByPosition_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsPanelObjContainer_FindByScreenPos_Proxy( 
    IRsPanelObjContainer * This,
    /* [in] */ POINT ptScreenPos,
    /* [retval][out] */ RtUlong *pIndex);


void __RPC_STUB IRsPanelObjContainer_FindByScreenPos_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsPanelObjContainer_FindByViewType_Proxy( 
    IRsPanelObjContainer * This,
    /* [in] */ RtPanelViewType uType,
    /* [retval][out] */ RtUlong *pIndex);


void __RPC_STUB IRsPanelObjContainer_FindByViewType_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsPanelObjContainer_INTERFACE_DEFINED__ */


#ifndef __IRsStackPanelView_INTERFACE_DEFINED__
#define __IRsStackPanelView_INTERFACE_DEFINED__

/* interface IRsStackPanelView */
/* [unique][helpstring][object][uuid] */ 


EXTERN_C const IID IID_IRsStackPanelView;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("C72930DE-73DD-4ec3-B10A-2DE33B2DEB1A")
    IRsStackPanelView : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE InitializeControl( 
            /* [in] */ IRsViewNode *spViewNode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Update( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetViewNode( 
            /* [retval][out] */ IRsViewNode **ppViewNode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE UpdateScrollBar( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetScrollPosition( 
            /* [in] */ UINT sbType,
            /* [in] */ int Pos) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetScrollPosition( 
            /* [in] */ UINT sbType,
            /* [out] */ int *pPos) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetDockInfoInRect( 
            /* [in] */ RECT currentRect,
            /* [in] */ POINT pntCursor,
            /* [in] */ IRsNode *pDockingNode,
            /* [out] */ BOOL *pOKToDock,
            /* [out] */ RECT *pDockRect,
            /* [out] */ BSTR *pDockCommand) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsStackPanelViewVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsStackPanelView * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsStackPanelView * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsStackPanelView * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *InitializeControl )( 
            IRsStackPanelView * This,
            /* [in] */ IRsViewNode *spViewNode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Update )( 
            IRsStackPanelView * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetViewNode )( 
            IRsStackPanelView * This,
            /* [retval][out] */ IRsViewNode **ppViewNode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *UpdateScrollBar )( 
            IRsStackPanelView * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetScrollPosition )( 
            IRsStackPanelView * This,
            /* [in] */ UINT sbType,
            /* [in] */ int Pos);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetScrollPosition )( 
            IRsStackPanelView * This,
            /* [in] */ UINT sbType,
            /* [out] */ int *pPos);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetDockInfoInRect )( 
            IRsStackPanelView * This,
            /* [in] */ RECT currentRect,
            /* [in] */ POINT pntCursor,
            /* [in] */ IRsNode *pDockingNode,
            /* [out] */ BOOL *pOKToDock,
            /* [out] */ RECT *pDockRect,
            /* [out] */ BSTR *pDockCommand);
        
        END_INTERFACE
    } IRsStackPanelViewVtbl;

    interface IRsStackPanelView
    {
        CONST_VTBL struct IRsStackPanelViewVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsStackPanelView_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsStackPanelView_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsStackPanelView_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsStackPanelView_InitializeControl(This,spViewNode)	\
    (This)->lpVtbl -> InitializeControl(This,spViewNode)

#define IRsStackPanelView_Update(This)	\
    (This)->lpVtbl -> Update(This)

#define IRsStackPanelView_GetViewNode(This,ppViewNode)	\
    (This)->lpVtbl -> GetViewNode(This,ppViewNode)

#define IRsStackPanelView_UpdateScrollBar(This)	\
    (This)->lpVtbl -> UpdateScrollBar(This)

#define IRsStackPanelView_SetScrollPosition(This,sbType,Pos)	\
    (This)->lpVtbl -> SetScrollPosition(This,sbType,Pos)

#define IRsStackPanelView_GetScrollPosition(This,sbType,pPos)	\
    (This)->lpVtbl -> GetScrollPosition(This,sbType,pPos)

#define IRsStackPanelView_GetDockInfoInRect(This,currentRect,pntCursor,pDockingNode,pOKToDock,pDockRect,pDockCommand)	\
    (This)->lpVtbl -> GetDockInfoInRect(This,currentRect,pntCursor,pDockingNode,pOKToDock,pDockRect,pDockCommand)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsStackPanelView_InitializeControl_Proxy( 
    IRsStackPanelView * This,
    /* [in] */ IRsViewNode *spViewNode);


void __RPC_STUB IRsStackPanelView_InitializeControl_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsStackPanelView_Update_Proxy( 
    IRsStackPanelView * This);


void __RPC_STUB IRsStackPanelView_Update_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsStackPanelView_GetViewNode_Proxy( 
    IRsStackPanelView * This,
    /* [retval][out] */ IRsViewNode **ppViewNode);


void __RPC_STUB IRsStackPanelView_GetViewNode_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsStackPanelView_UpdateScrollBar_Proxy( 
    IRsStackPanelView * This);


void __RPC_STUB IRsStackPanelView_UpdateScrollBar_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsStackPanelView_SetScrollPosition_Proxy( 
    IRsStackPanelView * This,
    /* [in] */ UINT sbType,
    /* [in] */ int Pos);


void __RPC_STUB IRsStackPanelView_SetScrollPosition_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsStackPanelView_GetScrollPosition_Proxy( 
    IRsStackPanelView * This,
    /* [in] */ UINT sbType,
    /* [out] */ int *pPos);


void __RPC_STUB IRsStackPanelView_GetScrollPosition_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsStackPanelView_GetDockInfoInRect_Proxy( 
    IRsStackPanelView * This,
    /* [in] */ RECT currentRect,
    /* [in] */ POINT pntCursor,
    /* [in] */ IRsNode *pDockingNode,
    /* [out] */ BOOL *pOKToDock,
    /* [out] */ RECT *pDockRect,
    /* [out] */ BSTR *pDockCommand);


void __RPC_STUB IRsStackPanelView_GetDockInfoInRect_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsStackPanelView_INTERFACE_DEFINED__ */


#ifndef __IRsPanelScanner_INTERFACE_DEFINED__
#define __IRsPanelScanner_INTERFACE_DEFINED__

/* interface IRsPanelScanner */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsPanelScanner;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("A2E5AC43-3D56-4a1b-A807-4D3E1C843794")
    IRsPanelScanner : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Initialize( 
            /* [in] */ IRsNotify *pScanner) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddTarget( 
            /* [in] */ IRsPanelObj *pPanel) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RemoveTarget( 
            /* [in] */ IRsPanelObj *pPanel) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddTargetsFromContainer( 
            /* [in] */ IRsPanelObjContainer *pContainer) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RemoveAll( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Destroy( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsPanelScannerVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsPanelScanner * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsPanelScanner * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsPanelScanner * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Initialize )( 
            IRsPanelScanner * This,
            /* [in] */ IRsNotify *pScanner);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddTarget )( 
            IRsPanelScanner * This,
            /* [in] */ IRsPanelObj *pPanel);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RemoveTarget )( 
            IRsPanelScanner * This,
            /* [in] */ IRsPanelObj *pPanel);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddTargetsFromContainer )( 
            IRsPanelScanner * This,
            /* [in] */ IRsPanelObjContainer *pContainer);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RemoveAll )( 
            IRsPanelScanner * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Destroy )( 
            IRsPanelScanner * This);
        
        END_INTERFACE
    } IRsPanelScannerVtbl;

    interface IRsPanelScanner
    {
        CONST_VTBL struct IRsPanelScannerVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsPanelScanner_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsPanelScanner_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsPanelScanner_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsPanelScanner_Initialize(This,pScanner)	\
    (This)->lpVtbl -> Initialize(This,pScanner)

#define IRsPanelScanner_AddTarget(This,pPanel)	\
    (This)->lpVtbl -> AddTarget(This,pPanel)

#define IRsPanelScanner_RemoveTarget(This,pPanel)	\
    (This)->lpVtbl -> RemoveTarget(This,pPanel)

#define IRsPanelScanner_AddTargetsFromContainer(This,pContainer)	\
    (This)->lpVtbl -> AddTargetsFromContainer(This,pContainer)

#define IRsPanelScanner_RemoveAll(This)	\
    (This)->lpVtbl -> RemoveAll(This)

#define IRsPanelScanner_Destroy(This)	\
    (This)->lpVtbl -> Destroy(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsPanelScanner_Initialize_Proxy( 
    IRsPanelScanner * This,
    /* [in] */ IRsNotify *pScanner);


void __RPC_STUB IRsPanelScanner_Initialize_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsPanelScanner_AddTarget_Proxy( 
    IRsPanelScanner * This,
    /* [in] */ IRsPanelObj *pPanel);


void __RPC_STUB IRsPanelScanner_AddTarget_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsPanelScanner_RemoveTarget_Proxy( 
    IRsPanelScanner * This,
    /* [in] */ IRsPanelObj *pPanel);


void __RPC_STUB IRsPanelScanner_RemoveTarget_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsPanelScanner_AddTargetsFromContainer_Proxy( 
    IRsPanelScanner * This,
    /* [in] */ IRsPanelObjContainer *pContainer);


void __RPC_STUB IRsPanelScanner_AddTargetsFromContainer_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsPanelScanner_RemoveAll_Proxy( 
    IRsPanelScanner * This);


void __RPC_STUB IRsPanelScanner_RemoveAll_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsPanelScanner_Destroy_Proxy( 
    IRsPanelScanner * This);


void __RPC_STUB IRsPanelScanner_Destroy_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsPanelScanner_INTERFACE_DEFINED__ */


#ifndef __IRsStackPanelViewDecorator_INTERFACE_DEFINED__
#define __IRsStackPanelViewDecorator_INTERFACE_DEFINED__

/* interface IRsStackPanelViewDecorator */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsStackPanelViewDecorator;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("6920D32A-8BFD-4eaa-BE41-22D23A4782B5")
    IRsStackPanelViewDecorator : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetPanelsContainer( 
            /* [in] */ IRsPanelObjContainer *pPanels) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetPanelsContainer( 
            /* [retval][out] */ IRsPanelObjContainer **ppPanels) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddPanel( 
            /* [in] */ BSTR bsRootNodeName,
            /* [in] */ BSTR bsTitle,
            /* [in] */ RtUlong uAspect,
            /* [in] */ RtPanelViewType uType,
            /* [in] */ RtBool bShowAspectBtn) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RemoveType( 
            /* [in] */ RtPanelViewType uType) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE InitializeViewControl( 
            /* [in] */ IRsStackPanelView *pViewControl) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE DeactivateViewControl( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RedrawView( 
            /* [in] */ RtBool bEnableRedraw) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetPanelScanner( 
            /* [retval][out] */ IRsPanelScanner **ppPanelScanner) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnResizeView( 
            /* [in] */ LPCRECT pNewRect) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetPanelsRect( 
            /* [retval][out] */ RECT *pPanelsRect) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE UpdatePanelsRect( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SwitchExpandStateByPos( 
            /* [in] */ POINT ptPosition) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ClosePanelByPos( 
            /* [in] */ POINT ptPosition) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ClosePanelByScreenPos( 
            /* [in] */ POINT ptPosition) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE UpdateAspectByPos( 
            /* [in] */ POINT ptPosition) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ClosePanelByName( 
            /* [in] */ BSTR bszPanelName) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AddMode( 
            /* [retval][out] */ RtUlong *pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_AddMode( 
            /* [in] */ RtUlong newVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_PivotRoot( 
            /* [in] */ BSTR newVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_PivotRoot( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_PivotIndex( 
            /* [in] */ RtUlong newVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_PivotIndex( 
            /* [retval][out] */ RtUlong *pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Invalidate( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetDraggedItem( 
            /* [in] */ POINT ptPosition) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetDraggedPanel( 
            /* [retval][out] */ IRsPanelObj **ppPanel) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetPanelUnderPoint( 
            /* [in] */ POINT pt,
            /* [retval][out] */ IRsPanelObj **ppPanel) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetDockInfoInRect( 
            /* [in] */ POINT pntCursor,
            /* [in] */ IRsNode *pDockingNode,
            /* [out] */ RECT *pDockRect,
            /* [out] */ BSTR *pDockCommand) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsStackPanelViewDecoratorVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsStackPanelViewDecorator * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsStackPanelViewDecorator * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsStackPanelViewDecorator * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetPanelsContainer )( 
            IRsStackPanelViewDecorator * This,
            /* [in] */ IRsPanelObjContainer *pPanels);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetPanelsContainer )( 
            IRsStackPanelViewDecorator * This,
            /* [retval][out] */ IRsPanelObjContainer **ppPanels);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddPanel )( 
            IRsStackPanelViewDecorator * This,
            /* [in] */ BSTR bsRootNodeName,
            /* [in] */ BSTR bsTitle,
            /* [in] */ RtUlong uAspect,
            /* [in] */ RtPanelViewType uType,
            /* [in] */ RtBool bShowAspectBtn);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RemoveType )( 
            IRsStackPanelViewDecorator * This,
            /* [in] */ RtPanelViewType uType);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *InitializeViewControl )( 
            IRsStackPanelViewDecorator * This,
            /* [in] */ IRsStackPanelView *pViewControl);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *DeactivateViewControl )( 
            IRsStackPanelViewDecorator * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RedrawView )( 
            IRsStackPanelViewDecorator * This,
            /* [in] */ RtBool bEnableRedraw);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetPanelScanner )( 
            IRsStackPanelViewDecorator * This,
            /* [retval][out] */ IRsPanelScanner **ppPanelScanner);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OnResizeView )( 
            IRsStackPanelViewDecorator * This,
            /* [in] */ LPCRECT pNewRect);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetPanelsRect )( 
            IRsStackPanelViewDecorator * This,
            /* [retval][out] */ RECT *pPanelsRect);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *UpdatePanelsRect )( 
            IRsStackPanelViewDecorator * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SwitchExpandStateByPos )( 
            IRsStackPanelViewDecorator * This,
            /* [in] */ POINT ptPosition);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ClosePanelByPos )( 
            IRsStackPanelViewDecorator * This,
            /* [in] */ POINT ptPosition);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ClosePanelByScreenPos )( 
            IRsStackPanelViewDecorator * This,
            /* [in] */ POINT ptPosition);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *UpdateAspectByPos )( 
            IRsStackPanelViewDecorator * This,
            /* [in] */ POINT ptPosition);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ClosePanelByName )( 
            IRsStackPanelViewDecorator * This,
            /* [in] */ BSTR bszPanelName);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AddMode )( 
            IRsStackPanelViewDecorator * This,
            /* [retval][out] */ RtUlong *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AddMode )( 
            IRsStackPanelViewDecorator * This,
            /* [in] */ RtUlong newVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_PivotRoot )( 
            IRsStackPanelViewDecorator * This,
            /* [in] */ BSTR newVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PivotRoot )( 
            IRsStackPanelViewDecorator * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_PivotIndex )( 
            IRsStackPanelViewDecorator * This,
            /* [in] */ RtUlong newVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PivotIndex )( 
            IRsStackPanelViewDecorator * This,
            /* [retval][out] */ RtUlong *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Invalidate )( 
            IRsStackPanelViewDecorator * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetDraggedItem )( 
            IRsStackPanelViewDecorator * This,
            /* [in] */ POINT ptPosition);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetDraggedPanel )( 
            IRsStackPanelViewDecorator * This,
            /* [retval][out] */ IRsPanelObj **ppPanel);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetPanelUnderPoint )( 
            IRsStackPanelViewDecorator * This,
            /* [in] */ POINT pt,
            /* [retval][out] */ IRsPanelObj **ppPanel);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetDockInfoInRect )( 
            IRsStackPanelViewDecorator * This,
            /* [in] */ POINT pntCursor,
            /* [in] */ IRsNode *pDockingNode,
            /* [out] */ RECT *pDockRect,
            /* [out] */ BSTR *pDockCommand);
        
        END_INTERFACE
    } IRsStackPanelViewDecoratorVtbl;

    interface IRsStackPanelViewDecorator
    {
        CONST_VTBL struct IRsStackPanelViewDecoratorVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsStackPanelViewDecorator_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsStackPanelViewDecorator_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsStackPanelViewDecorator_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsStackPanelViewDecorator_SetPanelsContainer(This,pPanels)	\
    (This)->lpVtbl -> SetPanelsContainer(This,pPanels)

#define IRsStackPanelViewDecorator_GetPanelsContainer(This,ppPanels)	\
    (This)->lpVtbl -> GetPanelsContainer(This,ppPanels)

#define IRsStackPanelViewDecorator_AddPanel(This,bsRootNodeName,bsTitle,uAspect,uType,bShowAspectBtn)	\
    (This)->lpVtbl -> AddPanel(This,bsRootNodeName,bsTitle,uAspect,uType,bShowAspectBtn)

#define IRsStackPanelViewDecorator_RemoveType(This,uType)	\
    (This)->lpVtbl -> RemoveType(This,uType)

#define IRsStackPanelViewDecorator_InitializeViewControl(This,pViewControl)	\
    (This)->lpVtbl -> InitializeViewControl(This,pViewControl)

#define IRsStackPanelViewDecorator_DeactivateViewControl(This)	\
    (This)->lpVtbl -> DeactivateViewControl(This)

#define IRsStackPanelViewDecorator_RedrawView(This,bEnableRedraw)	\
    (This)->lpVtbl -> RedrawView(This,bEnableRedraw)

#define IRsStackPanelViewDecorator_GetPanelScanner(This,ppPanelScanner)	\
    (This)->lpVtbl -> GetPanelScanner(This,ppPanelScanner)

#define IRsStackPanelViewDecorator_OnResizeView(This,pNewRect)	\
    (This)->lpVtbl -> OnResizeView(This,pNewRect)

#define IRsStackPanelViewDecorator_GetPanelsRect(This,pPanelsRect)	\
    (This)->lpVtbl -> GetPanelsRect(This,pPanelsRect)

#define IRsStackPanelViewDecorator_UpdatePanelsRect(This)	\
    (This)->lpVtbl -> UpdatePanelsRect(This)

#define IRsStackPanelViewDecorator_SwitchExpandStateByPos(This,ptPosition)	\
    (This)->lpVtbl -> SwitchExpandStateByPos(This,ptPosition)

#define IRsStackPanelViewDecorator_ClosePanelByPos(This,ptPosition)	\
    (This)->lpVtbl -> ClosePanelByPos(This,ptPosition)

#define IRsStackPanelViewDecorator_ClosePanelByScreenPos(This,ptPosition)	\
    (This)->lpVtbl -> ClosePanelByScreenPos(This,ptPosition)

#define IRsStackPanelViewDecorator_UpdateAspectByPos(This,ptPosition)	\
    (This)->lpVtbl -> UpdateAspectByPos(This,ptPosition)

#define IRsStackPanelViewDecorator_ClosePanelByName(This,bszPanelName)	\
    (This)->lpVtbl -> ClosePanelByName(This,bszPanelName)

#define IRsStackPanelViewDecorator_get_AddMode(This,pVal)	\
    (This)->lpVtbl -> get_AddMode(This,pVal)

#define IRsStackPanelViewDecorator_put_AddMode(This,newVal)	\
    (This)->lpVtbl -> put_AddMode(This,newVal)

#define IRsStackPanelViewDecorator_put_PivotRoot(This,newVal)	\
    (This)->lpVtbl -> put_PivotRoot(This,newVal)

#define IRsStackPanelViewDecorator_get_PivotRoot(This,pVal)	\
    (This)->lpVtbl -> get_PivotRoot(This,pVal)

#define IRsStackPanelViewDecorator_put_PivotIndex(This,newVal)	\
    (This)->lpVtbl -> put_PivotIndex(This,newVal)

#define IRsStackPanelViewDecorator_get_PivotIndex(This,pVal)	\
    (This)->lpVtbl -> get_PivotIndex(This,pVal)

#define IRsStackPanelViewDecorator_Invalidate(This)	\
    (This)->lpVtbl -> Invalidate(This)

#define IRsStackPanelViewDecorator_SetDraggedItem(This,ptPosition)	\
    (This)->lpVtbl -> SetDraggedItem(This,ptPosition)

#define IRsStackPanelViewDecorator_GetDraggedPanel(This,ppPanel)	\
    (This)->lpVtbl -> GetDraggedPanel(This,ppPanel)

#define IRsStackPanelViewDecorator_GetPanelUnderPoint(This,pt,ppPanel)	\
    (This)->lpVtbl -> GetPanelUnderPoint(This,pt,ppPanel)

#define IRsStackPanelViewDecorator_GetDockInfoInRect(This,pntCursor,pDockingNode,pDockRect,pDockCommand)	\
    (This)->lpVtbl -> GetDockInfoInRect(This,pntCursor,pDockingNode,pDockRect,pDockCommand)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsStackPanelViewDecorator_SetPanelsContainer_Proxy( 
    IRsStackPanelViewDecorator * This,
    /* [in] */ IRsPanelObjContainer *pPanels);


void __RPC_STUB IRsStackPanelViewDecorator_SetPanelsContainer_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsStackPanelViewDecorator_GetPanelsContainer_Proxy( 
    IRsStackPanelViewDecorator * This,
    /* [retval][out] */ IRsPanelObjContainer **ppPanels);


void __RPC_STUB IRsStackPanelViewDecorator_GetPanelsContainer_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsStackPanelViewDecorator_AddPanel_Proxy( 
    IRsStackPanelViewDecorator * This,
    /* [in] */ BSTR bsRootNodeName,
    /* [in] */ BSTR bsTitle,
    /* [in] */ RtUlong uAspect,
    /* [in] */ RtPanelViewType uType,
    /* [in] */ RtBool bShowAspectBtn);


void __RPC_STUB IRsStackPanelViewDecorator_AddPanel_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsStackPanelViewDecorator_RemoveType_Proxy( 
    IRsStackPanelViewDecorator * This,
    /* [in] */ RtPanelViewType uType);


void __RPC_STUB IRsStackPanelViewDecorator_RemoveType_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsStackPanelViewDecorator_InitializeViewControl_Proxy( 
    IRsStackPanelViewDecorator * This,
    /* [in] */ IRsStackPanelView *pViewControl);


void __RPC_STUB IRsStackPanelViewDecorator_InitializeViewControl_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsStackPanelViewDecorator_DeactivateViewControl_Proxy( 
    IRsStackPanelViewDecorator * This);


void __RPC_STUB IRsStackPanelViewDecorator_DeactivateViewControl_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsStackPanelViewDecorator_RedrawView_Proxy( 
    IRsStackPanelViewDecorator * This,
    /* [in] */ RtBool bEnableRedraw);


void __RPC_STUB IRsStackPanelViewDecorator_RedrawView_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsStackPanelViewDecorator_GetPanelScanner_Proxy( 
    IRsStackPanelViewDecorator * This,
    /* [retval][out] */ IRsPanelScanner **ppPanelScanner);


void __RPC_STUB IRsStackPanelViewDecorator_GetPanelScanner_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsStackPanelViewDecorator_OnResizeView_Proxy( 
    IRsStackPanelViewDecorator * This,
    /* [in] */ LPCRECT pNewRect);


void __RPC_STUB IRsStackPanelViewDecorator_OnResizeView_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsStackPanelViewDecorator_GetPanelsRect_Proxy( 
    IRsStackPanelViewDecorator * This,
    /* [retval][out] */ RECT *pPanelsRect);


void __RPC_STUB IRsStackPanelViewDecorator_GetPanelsRect_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsStackPanelViewDecorator_UpdatePanelsRect_Proxy( 
    IRsStackPanelViewDecorator * This);


void __RPC_STUB IRsStackPanelViewDecorator_UpdatePanelsRect_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsStackPanelViewDecorator_SwitchExpandStateByPos_Proxy( 
    IRsStackPanelViewDecorator * This,
    /* [in] */ POINT ptPosition);


void __RPC_STUB IRsStackPanelViewDecorator_SwitchExpandStateByPos_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsStackPanelViewDecorator_ClosePanelByPos_Proxy( 
    IRsStackPanelViewDecorator * This,
    /* [in] */ POINT ptPosition);


void __RPC_STUB IRsStackPanelViewDecorator_ClosePanelByPos_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsStackPanelViewDecorator_ClosePanelByScreenPos_Proxy( 
    IRsStackPanelViewDecorator * This,
    /* [in] */ POINT ptPosition);


void __RPC_STUB IRsStackPanelViewDecorator_ClosePanelByScreenPos_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsStackPanelViewDecorator_UpdateAspectByPos_Proxy( 
    IRsStackPanelViewDecorator * This,
    /* [in] */ POINT ptPosition);


void __RPC_STUB IRsStackPanelViewDecorator_UpdateAspectByPos_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsStackPanelViewDecorator_ClosePanelByName_Proxy( 
    IRsStackPanelViewDecorator * This,
    /* [in] */ BSTR bszPanelName);


void __RPC_STUB IRsStackPanelViewDecorator_ClosePanelByName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRsStackPanelViewDecorator_get_AddMode_Proxy( 
    IRsStackPanelViewDecorator * This,
    /* [retval][out] */ RtUlong *pVal);


void __RPC_STUB IRsStackPanelViewDecorator_get_AddMode_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRsStackPanelViewDecorator_put_AddMode_Proxy( 
    IRsStackPanelViewDecorator * This,
    /* [in] */ RtUlong newVal);


void __RPC_STUB IRsStackPanelViewDecorator_put_AddMode_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRsStackPanelViewDecorator_put_PivotRoot_Proxy( 
    IRsStackPanelViewDecorator * This,
    /* [in] */ BSTR newVal);


void __RPC_STUB IRsStackPanelViewDecorator_put_PivotRoot_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRsStackPanelViewDecorator_get_PivotRoot_Proxy( 
    IRsStackPanelViewDecorator * This,
    /* [retval][out] */ BSTR *pVal);


void __RPC_STUB IRsStackPanelViewDecorator_get_PivotRoot_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRsStackPanelViewDecorator_put_PivotIndex_Proxy( 
    IRsStackPanelViewDecorator * This,
    /* [in] */ RtUlong newVal);


void __RPC_STUB IRsStackPanelViewDecorator_put_PivotIndex_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRsStackPanelViewDecorator_get_PivotIndex_Proxy( 
    IRsStackPanelViewDecorator * This,
    /* [retval][out] */ RtUlong *pVal);


void __RPC_STUB IRsStackPanelViewDecorator_get_PivotIndex_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsStackPanelViewDecorator_Invalidate_Proxy( 
    IRsStackPanelViewDecorator * This);


void __RPC_STUB IRsStackPanelViewDecorator_Invalidate_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsStackPanelViewDecorator_SetDraggedItem_Proxy( 
    IRsStackPanelViewDecorator * This,
    /* [in] */ POINT ptPosition);


void __RPC_STUB IRsStackPanelViewDecorator_SetDraggedItem_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsStackPanelViewDecorator_GetDraggedPanel_Proxy( 
    IRsStackPanelViewDecorator * This,
    /* [retval][out] */ IRsPanelObj **ppPanel);


void __RPC_STUB IRsStackPanelViewDecorator_GetDraggedPanel_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsStackPanelViewDecorator_GetPanelUnderPoint_Proxy( 
    IRsStackPanelViewDecorator * This,
    /* [in] */ POINT pt,
    /* [retval][out] */ IRsPanelObj **ppPanel);


void __RPC_STUB IRsStackPanelViewDecorator_GetPanelUnderPoint_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsStackPanelViewDecorator_GetDockInfoInRect_Proxy( 
    IRsStackPanelViewDecorator * This,
    /* [in] */ POINT pntCursor,
    /* [in] */ IRsNode *pDockingNode,
    /* [out] */ RECT *pDockRect,
    /* [out] */ BSTR *pDockCommand);


void __RPC_STUB IRsStackPanelViewDecorator_GetDockInfoInRect_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsStackPanelViewDecorator_INTERFACE_DEFINED__ */


#ifndef __IRnBaseStackPanelView_INTERFACE_DEFINED__
#define __IRnBaseStackPanelView_INTERFACE_DEFINED__

/* interface IRnBaseStackPanelView */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnBaseStackPanelView;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("EAED7BD2-A70A-4430-8796-97AB596C8FE7")
    IRnBaseStackPanelView : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetStackPanelView( 
            /* [retval][out] */ IRsStackPanelView **ppStackPanelView) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetDecorator( 
            /* [retval][out] */ IRsStackPanelViewDecorator **ppDecorator) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RemoveAllPanels( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ControlUpdated( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE UpdateControl( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRnBaseStackPanelViewVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnBaseStackPanelView * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnBaseStackPanelView * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnBaseStackPanelView * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetStackPanelView )( 
            IRnBaseStackPanelView * This,
            /* [retval][out] */ IRsStackPanelView **ppStackPanelView);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetDecorator )( 
            IRnBaseStackPanelView * This,
            /* [retval][out] */ IRsStackPanelViewDecorator **ppDecorator);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RemoveAllPanels )( 
            IRnBaseStackPanelView * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ControlUpdated )( 
            IRnBaseStackPanelView * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *UpdateControl )( 
            IRnBaseStackPanelView * This);
        
        END_INTERFACE
    } IRnBaseStackPanelViewVtbl;

    interface IRnBaseStackPanelView
    {
        CONST_VTBL struct IRnBaseStackPanelViewVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnBaseStackPanelView_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnBaseStackPanelView_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnBaseStackPanelView_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRnBaseStackPanelView_GetStackPanelView(This,ppStackPanelView)	\
    (This)->lpVtbl -> GetStackPanelView(This,ppStackPanelView)

#define IRnBaseStackPanelView_GetDecorator(This,ppDecorator)	\
    (This)->lpVtbl -> GetDecorator(This,ppDecorator)

#define IRnBaseStackPanelView_RemoveAllPanels(This)	\
    (This)->lpVtbl -> RemoveAllPanels(This)

#define IRnBaseStackPanelView_ControlUpdated(This)	\
    (This)->lpVtbl -> ControlUpdated(This)

#define IRnBaseStackPanelView_UpdateControl(This)	\
    (This)->lpVtbl -> UpdateControl(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnBaseStackPanelView_GetStackPanelView_Proxy( 
    IRnBaseStackPanelView * This,
    /* [retval][out] */ IRsStackPanelView **ppStackPanelView);


void __RPC_STUB IRnBaseStackPanelView_GetStackPanelView_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnBaseStackPanelView_GetDecorator_Proxy( 
    IRnBaseStackPanelView * This,
    /* [retval][out] */ IRsStackPanelViewDecorator **ppDecorator);


void __RPC_STUB IRnBaseStackPanelView_GetDecorator_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnBaseStackPanelView_RemoveAllPanels_Proxy( 
    IRnBaseStackPanelView * This);


void __RPC_STUB IRnBaseStackPanelView_RemoveAllPanels_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnBaseStackPanelView_ControlUpdated_Proxy( 
    IRnBaseStackPanelView * This);


void __RPC_STUB IRnBaseStackPanelView_ControlUpdated_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnBaseStackPanelView_UpdateControl_Proxy( 
    IRnBaseStackPanelView * This);


void __RPC_STUB IRnBaseStackPanelView_UpdateControl_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRnBaseStackPanelView_INTERFACE_DEFINED__ */


#ifndef __IRnStackPanelView_INTERFACE_DEFINED__
#define __IRnStackPanelView_INTERFACE_DEFINED__

/* interface IRnStackPanelView */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnStackPanelView;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3F8F133F-6060-4a29-8ADA-8466A73648D8")
    IRnStackPanelView : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRnStackPanelViewVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnStackPanelView * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnStackPanelView * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnStackPanelView * This);
        
        END_INTERFACE
    } IRnStackPanelViewVtbl;

    interface IRnStackPanelView
    {
        CONST_VTBL struct IRnStackPanelViewVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnStackPanelView_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnStackPanelView_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnStackPanelView_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRnStackPanelView_INTERFACE_DEFINED__ */


#ifndef __IRnPrefStackPanelView_INTERFACE_DEFINED__
#define __IRnPrefStackPanelView_INTERFACE_DEFINED__

/* interface IRnPrefStackPanelView */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnPrefStackPanelView;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("B125BEF6-B28F-4a87-97D5-3CCAEC1E84D6")
    IRnPrefStackPanelView : public IUnknown
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_FrameId( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_FrameId( 
            /* [in] */ BSTR newVal) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRnPrefStackPanelViewVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnPrefStackPanelView * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnPrefStackPanelView * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnPrefStackPanelView * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_FrameId )( 
            IRnPrefStackPanelView * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_FrameId )( 
            IRnPrefStackPanelView * This,
            /* [in] */ BSTR newVal);
        
        END_INTERFACE
    } IRnPrefStackPanelViewVtbl;

    interface IRnPrefStackPanelView
    {
        CONST_VTBL struct IRnPrefStackPanelViewVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnPrefStackPanelView_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnPrefStackPanelView_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnPrefStackPanelView_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRnPrefStackPanelView_get_FrameId(This,pVal)	\
    (This)->lpVtbl -> get_FrameId(This,pVal)

#define IRnPrefStackPanelView_put_FrameId(This,newVal)	\
    (This)->lpVtbl -> put_FrameId(This,newVal)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRnPrefStackPanelView_get_FrameId_Proxy( 
    IRnPrefStackPanelView * This,
    /* [retval][out] */ BSTR *pVal);


void __RPC_STUB IRnPrefStackPanelView_get_FrameId_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRnPrefStackPanelView_put_FrameId_Proxy( 
    IRnPrefStackPanelView * This,
    /* [in] */ BSTR newVal);


void __RPC_STUB IRnPrefStackPanelView_put_FrameId_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRnPrefStackPanelView_INTERFACE_DEFINED__ */


#ifndef __IRnAutoPanelStackPanelView_INTERFACE_DEFINED__
#define __IRnAutoPanelStackPanelView_INTERFACE_DEFINED__

/* interface IRnAutoPanelStackPanelView */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnAutoPanelStackPanelView;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3AA9023C-D60F-43ec-9BA2-BBE0B86B0BC4")
    IRnAutoPanelStackPanelView : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRnAutoPanelStackPanelViewVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnAutoPanelStackPanelView * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnAutoPanelStackPanelView * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnAutoPanelStackPanelView * This);
        
        END_INTERFACE
    } IRnAutoPanelStackPanelViewVtbl;

    interface IRnAutoPanelStackPanelView
    {
        CONST_VTBL struct IRnAutoPanelStackPanelViewVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnAutoPanelStackPanelView_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnAutoPanelStackPanelView_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnAutoPanelStackPanelView_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRnAutoPanelStackPanelView_INTERFACE_DEFINED__ */


#ifndef __IRcSwitchPrefPanels_INTERFACE_DEFINED__
#define __IRcSwitchPrefPanels_INTERFACE_DEFINED__

/* interface IRcSwitchPrefPanels */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcSwitchPrefPanels;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("6ACC91B7-FCE0-4752-9909-D6B1F50B1796")
    IRcSwitchPrefPanels : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetPreferencesControler( 
            /* [in] */ IRsNode *pControlerNode) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRcSwitchPrefPanelsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcSwitchPrefPanels * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcSwitchPrefPanels * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcSwitchPrefPanels * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetPreferencesControler )( 
            IRcSwitchPrefPanels * This,
            /* [in] */ IRsNode *pControlerNode);
        
        END_INTERFACE
    } IRcSwitchPrefPanelsVtbl;

    interface IRcSwitchPrefPanels
    {
        CONST_VTBL struct IRcSwitchPrefPanelsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcSwitchPrefPanels_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcSwitchPrefPanels_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcSwitchPrefPanels_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRcSwitchPrefPanels_SetPreferencesControler(This,pControlerNode)	\
    (This)->lpVtbl -> SetPreferencesControler(This,pControlerNode)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRcSwitchPrefPanels_SetPreferencesControler_Proxy( 
    IRcSwitchPrefPanels * This,
    /* [in] */ IRsNode *pControlerNode);


void __RPC_STUB IRcSwitchPrefPanels_SetPreferencesControler_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRcSwitchPrefPanels_INTERFACE_DEFINED__ */


#ifndef __IRcOpenMaterialEditor_INTERFACE_DEFINED__
#define __IRcOpenMaterialEditor_INTERFACE_DEFINED__

/* interface IRcOpenMaterialEditor */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcOpenMaterialEditor;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("CEC56D56-0319-4812-BABC-F12C40FC598F")
    IRcOpenMaterialEditor : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcOpenMaterialEditorVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcOpenMaterialEditor * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcOpenMaterialEditor * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcOpenMaterialEditor * This);
        
        END_INTERFACE
    } IRcOpenMaterialEditorVtbl;

    interface IRcOpenMaterialEditor
    {
        CONST_VTBL struct IRcOpenMaterialEditorVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcOpenMaterialEditor_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcOpenMaterialEditor_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcOpenMaterialEditor_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcOpenMaterialEditor_INTERFACE_DEFINED__ */


#ifndef __IRsUISysFactory_INTERFACE_DEFINED__
#define __IRsUISysFactory_INTERFACE_DEFINED__

/* interface IRsUISysFactory */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsUISysFactory;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("A56722F1-4042-4403-BD5F-694FB5991AA4")
    IRsUISysFactory : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateUIControl( 
            /* [in] */ const IID *piid,
            /* [retval][out] */ IRsUIControl **ppControl) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AttachUiControlToWnd( 
            /* [in] */ IRsUIControl *pControl,
            /* [in] */ HWND wndParent,
            /* [in] */ RECT *pRect) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RegisterUIControls( 
            /* [in] */ IRsUnknownUIPackage *pUnkUIPck) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetUIControlDesc( 
            /* [in] */ const IID *piid,
            /* [retval][out] */ IRsUIControlDesc **ppCtrlDesc) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateLEPanel( 
            /* [in] */ IRsLEPanelData *pInitData,
            /* [out] */ IRsLEPanel **ppPanel) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE DestroyLEPanel( 
            /* [in] */ GUID idPanel) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetLEPanelRect( 
            /* [in] */ IRsNode *pNode,
            /* [out] */ RECT *rcPanel) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetPanelById( 
            /* [in] */ GUID idPanel,
            /* [retval][out] */ IRsLEPanel **ppPanel) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetDescsForConn( 
            /* [in] */ RtConDesc *tConDesc,
            /* [retval][out] */ LPSAFEARRAY *pDescArray) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetAllDescs( 
            /* [retval][out] */ LPSAFEARRAY *pDescArray) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateLEPanelInitData( 
            /* [retval][out] */ IRsLEPanelInitData **ppInitData) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateUIControlDesc( 
            /* [retval][out] */ IRsUIControlDesc **ppUICtrlDesc) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE UpdatedNodeTable( 
            /* [in] */ IRsNode *pNode,
            /* [in] */ GUID idExcludePanel,
            /* [in] */ RtUlong flag) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreatePanelObj( 
            /* [retval][out] */ IRsPanelObj **ppPanelObj) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsUISysFactoryVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsUISysFactory * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsUISysFactory * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsUISysFactory * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateUIControl )( 
            IRsUISysFactory * This,
            /* [in] */ const IID *piid,
            /* [retval][out] */ IRsUIControl **ppControl);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AttachUiControlToWnd )( 
            IRsUISysFactory * This,
            /* [in] */ IRsUIControl *pControl,
            /* [in] */ HWND wndParent,
            /* [in] */ RECT *pRect);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RegisterUIControls )( 
            IRsUISysFactory * This,
            /* [in] */ IRsUnknownUIPackage *pUnkUIPck);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetUIControlDesc )( 
            IRsUISysFactory * This,
            /* [in] */ const IID *piid,
            /* [retval][out] */ IRsUIControlDesc **ppCtrlDesc);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateLEPanel )( 
            IRsUISysFactory * This,
            /* [in] */ IRsLEPanelData *pInitData,
            /* [out] */ IRsLEPanel **ppPanel);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *DestroyLEPanel )( 
            IRsUISysFactory * This,
            /* [in] */ GUID idPanel);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetLEPanelRect )( 
            IRsUISysFactory * This,
            /* [in] */ IRsNode *pNode,
            /* [out] */ RECT *rcPanel);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetPanelById )( 
            IRsUISysFactory * This,
            /* [in] */ GUID idPanel,
            /* [retval][out] */ IRsLEPanel **ppPanel);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetDescsForConn )( 
            IRsUISysFactory * This,
            /* [in] */ RtConDesc *tConDesc,
            /* [retval][out] */ LPSAFEARRAY *pDescArray);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetAllDescs )( 
            IRsUISysFactory * This,
            /* [retval][out] */ LPSAFEARRAY *pDescArray);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateLEPanelInitData )( 
            IRsUISysFactory * This,
            /* [retval][out] */ IRsLEPanelInitData **ppInitData);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateUIControlDesc )( 
            IRsUISysFactory * This,
            /* [retval][out] */ IRsUIControlDesc **ppUICtrlDesc);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *UpdatedNodeTable )( 
            IRsUISysFactory * This,
            /* [in] */ IRsNode *pNode,
            /* [in] */ GUID idExcludePanel,
            /* [in] */ RtUlong flag);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreatePanelObj )( 
            IRsUISysFactory * This,
            /* [retval][out] */ IRsPanelObj **ppPanelObj);
        
        END_INTERFACE
    } IRsUISysFactoryVtbl;

    interface IRsUISysFactory
    {
        CONST_VTBL struct IRsUISysFactoryVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsUISysFactory_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsUISysFactory_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsUISysFactory_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsUISysFactory_CreateUIControl(This,piid,ppControl)	\
    (This)->lpVtbl -> CreateUIControl(This,piid,ppControl)

#define IRsUISysFactory_AttachUiControlToWnd(This,pControl,wndParent,pRect)	\
    (This)->lpVtbl -> AttachUiControlToWnd(This,pControl,wndParent,pRect)

#define IRsUISysFactory_RegisterUIControls(This,pUnkUIPck)	\
    (This)->lpVtbl -> RegisterUIControls(This,pUnkUIPck)

#define IRsUISysFactory_GetUIControlDesc(This,piid,ppCtrlDesc)	\
    (This)->lpVtbl -> GetUIControlDesc(This,piid,ppCtrlDesc)

#define IRsUISysFactory_CreateLEPanel(This,pInitData,ppPanel)	\
    (This)->lpVtbl -> CreateLEPanel(This,pInitData,ppPanel)

#define IRsUISysFactory_DestroyLEPanel(This,idPanel)	\
    (This)->lpVtbl -> DestroyLEPanel(This,idPanel)

#define IRsUISysFactory_GetLEPanelRect(This,pNode,rcPanel)	\
    (This)->lpVtbl -> GetLEPanelRect(This,pNode,rcPanel)

#define IRsUISysFactory_GetPanelById(This,idPanel,ppPanel)	\
    (This)->lpVtbl -> GetPanelById(This,idPanel,ppPanel)

#define IRsUISysFactory_GetDescsForConn(This,tConDesc,pDescArray)	\
    (This)->lpVtbl -> GetDescsForConn(This,tConDesc,pDescArray)

#define IRsUISysFactory_GetAllDescs(This,pDescArray)	\
    (This)->lpVtbl -> GetAllDescs(This,pDescArray)

#define IRsUISysFactory_CreateLEPanelInitData(This,ppInitData)	\
    (This)->lpVtbl -> CreateLEPanelInitData(This,ppInitData)

#define IRsUISysFactory_CreateUIControlDesc(This,ppUICtrlDesc)	\
    (This)->lpVtbl -> CreateUIControlDesc(This,ppUICtrlDesc)

#define IRsUISysFactory_UpdatedNodeTable(This,pNode,idExcludePanel,flag)	\
    (This)->lpVtbl -> UpdatedNodeTable(This,pNode,idExcludePanel,flag)

#define IRsUISysFactory_CreatePanelObj(This,ppPanelObj)	\
    (This)->lpVtbl -> CreatePanelObj(This,ppPanelObj)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsUISysFactory_CreateUIControl_Proxy( 
    IRsUISysFactory * This,
    /* [in] */ const IID *piid,
    /* [retval][out] */ IRsUIControl **ppControl);


void __RPC_STUB IRsUISysFactory_CreateUIControl_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsUISysFactory_AttachUiControlToWnd_Proxy( 
    IRsUISysFactory * This,
    /* [in] */ IRsUIControl *pControl,
    /* [in] */ HWND wndParent,
    /* [in] */ RECT *pRect);


void __RPC_STUB IRsUISysFactory_AttachUiControlToWnd_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsUISysFactory_RegisterUIControls_Proxy( 
    IRsUISysFactory * This,
    /* [in] */ IRsUnknownUIPackage *pUnkUIPck);


void __RPC_STUB IRsUISysFactory_RegisterUIControls_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsUISysFactory_GetUIControlDesc_Proxy( 
    IRsUISysFactory * This,
    /* [in] */ const IID *piid,
    /* [retval][out] */ IRsUIControlDesc **ppCtrlDesc);


void __RPC_STUB IRsUISysFactory_GetUIControlDesc_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsUISysFactory_CreateLEPanel_Proxy( 
    IRsUISysFactory * This,
    /* [in] */ IRsLEPanelData *pInitData,
    /* [out] */ IRsLEPanel **ppPanel);


void __RPC_STUB IRsUISysFactory_CreateLEPanel_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsUISysFactory_DestroyLEPanel_Proxy( 
    IRsUISysFactory * This,
    /* [in] */ GUID idPanel);


void __RPC_STUB IRsUISysFactory_DestroyLEPanel_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsUISysFactory_GetLEPanelRect_Proxy( 
    IRsUISysFactory * This,
    /* [in] */ IRsNode *pNode,
    /* [out] */ RECT *rcPanel);


void __RPC_STUB IRsUISysFactory_GetLEPanelRect_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsUISysFactory_GetPanelById_Proxy( 
    IRsUISysFactory * This,
    /* [in] */ GUID idPanel,
    /* [retval][out] */ IRsLEPanel **ppPanel);


void __RPC_STUB IRsUISysFactory_GetPanelById_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsUISysFactory_GetDescsForConn_Proxy( 
    IRsUISysFactory * This,
    /* [in] */ RtConDesc *tConDesc,
    /* [retval][out] */ LPSAFEARRAY *pDescArray);


void __RPC_STUB IRsUISysFactory_GetDescsForConn_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsUISysFactory_GetAllDescs_Proxy( 
    IRsUISysFactory * This,
    /* [retval][out] */ LPSAFEARRAY *pDescArray);


void __RPC_STUB IRsUISysFactory_GetAllDescs_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsUISysFactory_CreateLEPanelInitData_Proxy( 
    IRsUISysFactory * This,
    /* [retval][out] */ IRsLEPanelInitData **ppInitData);


void __RPC_STUB IRsUISysFactory_CreateLEPanelInitData_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsUISysFactory_CreateUIControlDesc_Proxy( 
    IRsUISysFactory * This,
    /* [retval][out] */ IRsUIControlDesc **ppUICtrlDesc);


void __RPC_STUB IRsUISysFactory_CreateUIControlDesc_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsUISysFactory_UpdatedNodeTable_Proxy( 
    IRsUISysFactory * This,
    /* [in] */ IRsNode *pNode,
    /* [in] */ GUID idExcludePanel,
    /* [in] */ RtUlong flag);


void __RPC_STUB IRsUISysFactory_UpdatedNodeTable_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsUISysFactory_CreatePanelObj_Proxy( 
    IRsUISysFactory * This,
    /* [retval][out] */ IRsPanelObj **ppPanelObj);


void __RPC_STUB IRsUISysFactory_CreatePanelObj_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsUISysFactory_INTERFACE_DEFINED__ */


#ifndef __IRfStatusReport_INTERFACE_DEFINED__
#define __IRfStatusReport_INTERFACE_DEFINED__

/* interface IRfStatusReport */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRfStatusReport;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("59ED2D42-4F33-4669-9A35-C2D591AFF859")
    IRfStatusReport : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddToolStatus( 
            /* [in] */ BSTR tool,
            /* [retval][out] */ CONID *id) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetToolStatusMessage( 
            /* [in] */ CONID id,
            /* [in] */ BSTR message) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RemoveToolStatus( 
            /* [in] */ CONID id) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRfStatusReportVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRfStatusReport * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRfStatusReport * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRfStatusReport * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddToolStatus )( 
            IRfStatusReport * This,
            /* [in] */ BSTR tool,
            /* [retval][out] */ CONID *id);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetToolStatusMessage )( 
            IRfStatusReport * This,
            /* [in] */ CONID id,
            /* [in] */ BSTR message);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RemoveToolStatus )( 
            IRfStatusReport * This,
            /* [in] */ CONID id);
        
        END_INTERFACE
    } IRfStatusReportVtbl;

    interface IRfStatusReport
    {
        CONST_VTBL struct IRfStatusReportVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRfStatusReport_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRfStatusReport_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRfStatusReport_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRfStatusReport_AddToolStatus(This,tool,id)	\
    (This)->lpVtbl -> AddToolStatus(This,tool,id)

#define IRfStatusReport_SetToolStatusMessage(This,id,message)	\
    (This)->lpVtbl -> SetToolStatusMessage(This,id,message)

#define IRfStatusReport_RemoveToolStatus(This,id)	\
    (This)->lpVtbl -> RemoveToolStatus(This,id)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfStatusReport_AddToolStatus_Proxy( 
    IRfStatusReport * This,
    /* [in] */ BSTR tool,
    /* [retval][out] */ CONID *id);


void __RPC_STUB IRfStatusReport_AddToolStatus_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfStatusReport_SetToolStatusMessage_Proxy( 
    IRfStatusReport * This,
    /* [in] */ CONID id,
    /* [in] */ BSTR message);


void __RPC_STUB IRfStatusReport_SetToolStatusMessage_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfStatusReport_RemoveToolStatus_Proxy( 
    IRfStatusReport * This,
    /* [in] */ CONID id);


void __RPC_STUB IRfStatusReport_RemoveToolStatus_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRfStatusReport_INTERFACE_DEFINED__ */


#ifndef __IRpUIPck_INTERFACE_DEFINED__
#define __IRpUIPck_INTERFACE_DEFINED__

/* interface IRpUIPck */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRpUIPck;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("AEA28BAB-633C-4FDF-92C6-50F9C67A7096")
    IRpUIPck : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetUISysFactory( 
            /* [retval][out] */ IRsUISysFactory **ppFactory) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateStatusReportFn( 
            /* [retval][out] */ IRfStatusReport **ppStatusFn) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRpUIPckVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRpUIPck * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRpUIPck * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRpUIPck * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetUISysFactory )( 
            IRpUIPck * This,
            /* [retval][out] */ IRsUISysFactory **ppFactory);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateStatusReportFn )( 
            IRpUIPck * This,
            /* [retval][out] */ IRfStatusReport **ppStatusFn);
        
        END_INTERFACE
    } IRpUIPckVtbl;

    interface IRpUIPck
    {
        CONST_VTBL struct IRpUIPckVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRpUIPck_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRpUIPck_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRpUIPck_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRpUIPck_GetUISysFactory(This,ppFactory)	\
    (This)->lpVtbl -> GetUISysFactory(This,ppFactory)

#define IRpUIPck_CreateStatusReportFn(This,ppStatusFn)	\
    (This)->lpVtbl -> CreateStatusReportFn(This,ppStatusFn)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRpUIPck_GetUISysFactory_Proxy( 
    IRpUIPck * This,
    /* [retval][out] */ IRsUISysFactory **ppFactory);


void __RPC_STUB IRpUIPck_GetUISysFactory_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRpUIPck_CreateStatusReportFn_Proxy( 
    IRpUIPck * This,
    /* [retval][out] */ IRfStatusReport **ppStatusFn);


void __RPC_STUB IRpUIPck_CreateStatusReportFn_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRpUIPck_INTERFACE_DEFINED__ */


#ifndef __IRsUIHighlightControl_INTERFACE_DEFINED__
#define __IRsUIHighlightControl_INTERFACE_DEFINED__

/* interface IRsUIHighlightControl */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsUIHighlightControl;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("9CF93056-3A7C-47d6-94B9-4C1B2D62EF3E")
    IRsUIHighlightControl : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE HighlightBorder( 
            /* [in] */ int iBorder) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsUIHighlightControlVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsUIHighlightControl * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsUIHighlightControl * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsUIHighlightControl * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *HighlightBorder )( 
            IRsUIHighlightControl * This,
            /* [in] */ int iBorder);
        
        END_INTERFACE
    } IRsUIHighlightControlVtbl;

    interface IRsUIHighlightControl
    {
        CONST_VTBL struct IRsUIHighlightControlVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsUIHighlightControl_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsUIHighlightControl_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsUIHighlightControl_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsUIHighlightControl_HighlightBorder(This,iBorder)	\
    (This)->lpVtbl -> HighlightBorder(This,iBorder)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsUIHighlightControl_HighlightBorder_Proxy( 
    IRsUIHighlightControl * This,
    /* [in] */ int iBorder);


void __RPC_STUB IRsUIHighlightControl_HighlightBorder_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsUIHighlightControl_INTERFACE_DEFINED__ */


#ifndef __IRsUIDragingControl_INTERFACE_DEFINED__
#define __IRsUIDragingControl_INTERFACE_DEFINED__

/* interface IRsUIDragingControl */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsUIDragingControl;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("F7CE9997-5092-40e3-A9DD-780E75C23CE6")
    IRsUIDragingControl : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetImageForDrag( 
            /* [in] */ POINT pntCursor,
            /* [retval][out] */ HBITMAP *pVal) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsUIDragingControlVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsUIDragingControl * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsUIDragingControl * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsUIDragingControl * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetImageForDrag )( 
            IRsUIDragingControl * This,
            /* [in] */ POINT pntCursor,
            /* [retval][out] */ HBITMAP *pVal);
        
        END_INTERFACE
    } IRsUIDragingControlVtbl;

    interface IRsUIDragingControl
    {
        CONST_VTBL struct IRsUIDragingControlVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsUIDragingControl_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsUIDragingControl_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsUIDragingControl_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsUIDragingControl_GetImageForDrag(This,pntCursor,pVal)	\
    (This)->lpVtbl -> GetImageForDrag(This,pntCursor,pVal)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsUIDragingControl_GetImageForDrag_Proxy( 
    IRsUIDragingControl * This,
    /* [in] */ POINT pntCursor,
    /* [retval][out] */ HBITMAP *pVal);


void __RPC_STUB IRsUIDragingControl_GetImageForDrag_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsUIDragingControl_INTERFACE_DEFINED__ */


/* interface __MIDL_itf__Kernel_1003 */
/* [local] */ 

typedef struct tagRtUITableRecord
    {
    GUID idControl;
    RECT rcCtrlPos;
    int iSnap;
    int iDisable;
    RtUlong ulDataSize;
    void *vData;
    } 	RtUITableRecord;

typedef struct tagRtExportedPanelInfo
    {
    RtBool bIsExported;
    RtUlong uAspect;
    RtLong lExportLevel;
    } 	RtExportedPanelInfo;



extern RPC_IF_HANDLE __MIDL_itf__Kernel_1003_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf__Kernel_1003_v0_0_s_ifspec;

#ifndef __IRdUITable_INTERFACE_DEFINED__
#define __IRdUITable_INTERFACE_DEFINED__

/* interface IRdUITable */
/* [unique][helpstring][uuid][local][object] */ 


EXTERN_C const IID IID_IRdUITable;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("B065762C-A1BF-4D1D-85A6-9FAE90B9E5E8")
    IRdUITable : public IRsDataObject
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetAllAspects( 
            /* [out] */ LPSAFEARRAY *saAspects) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddControl( 
            /* [in] */ IRsUIControl *pControl,
            /* [in] */ RECT rcControl,
            /* [in] */ RtUlong ulAspect,
            /* [in] */ RtUITableRecord *defaults) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddRecord( 
            /* [in] */ RtUITableRecord *sRecord,
            /* [in] */ RtUlong ulAspect) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ReplaceControl( 
            /* [in] */ IRsUIControl *pOldControl,
            /* [in] */ RECT rcOldControl,
            /* [in] */ IRsUIControl *pNewControl,
            /* [in] */ RECT rcNewControl,
            /* [in] */ RtUlong ulAspect) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ReplaceRecord( 
            /* [in] */ RtUlong ulAspect,
            /* [in] */ RtUlong ulIndex,
            /* [in] */ RtUITableRecord *sNewRecord) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetBkgColor( 
            /* [in] */ COLORREF col,
            /* [in] */ RtUlong ulAspect) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RemoveBkgColor( 
            /* [in] */ RtUlong ulAspect) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RemoveControl( 
            /* [in] */ RtUlong ulAspect,
            /* [in] */ RtUlong ulIndex) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RemoveRecord( 
            /* [in] */ RtUITableRecord *sRecord,
            /* [in] */ RtUlong ulAspect) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RemoveAspect( 
            /* [in] */ RtUlong ulAspect) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetControl( 
            /* [in] */ RtUlong ulAspect,
            /* [in] */ RtUlong ulIndex,
            /* [out] */ RtUITableRecord *sRecords) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetControlsCount( 
            /* [in] */ RtUlong ulAspect,
            /* [out] */ RtUlong *ulRecCount) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetBoundingRect( 
            /* [in] */ RtUlong ulAspect,
            /* [out] */ RECT *rcBound) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetLastAspect( 
            /* [out] */ RtUlong *ulAspect) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetBkgColor( 
            /* [in] */ RtUlong ulAspect,
            /* [out] */ COLORREF *col) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Clear( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetLastAspect( 
            /* [in] */ RtUlong ulAspect) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddAspectName( 
            /* [in] */ RtUlong ulAspect,
            /* [in] */ BSTR bsName) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetAspectName( 
            /* [in] */ RtUlong ulAspect,
            /* [retval][out] */ BSTR *bsName) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetFlags( 
            /* [in] */ RtFlags fFlags) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetFlags( 
            /* [retval][out] */ RtFlags *pFlags) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CopyAspectDef( 
            /* [in] */ RtUlong dwSrcIdx,
            /* [in] */ RtUlong dwDstIdx) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ValidateVersion( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetAspectIndex( 
            /* [in] */ BSTR bsName,
            /* [retval][out] */ RtUlong *pulAspect) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetUiTableVersion( 
            /* [retval][out] */ RtUlong *pdwVersion) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SwitchExportedAspectState( 
            /* [in] */ RtUlong uAspect) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetExportedAspectState( 
            /* [in] */ RtUlong uAspect,
            /* [retval][out] */ RtBool *bState) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetExportedPanelCount( 
            /* [retval][out] */ RtUlong *puCount) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddExportedPanelInfo( 
            /* [in] */ RtExportedPanelInfo sExportInfo) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetExportedPanelInfo( 
            /* [retval][out] */ RtExportedPanelInfo *psExportInfo) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetExportedPanelInfo( 
            /* [in] */ RtExportedPanelInfo sExportInfo) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetExportedPanelInfoItem( 
            /* [in] */ RtUlong uIndex,
            /* [retval][out] */ RtExportedPanelInfo *psExportInfo) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetExportedPanelInfoItem( 
            /* [in] */ RtUlong uIndex,
            /* [in] */ RtExportedPanelInfo sExportInfo) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRdUITableVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRdUITable * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRdUITable * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRdUITable * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassId )( 
            IRdUITable * This,
            /* [retval][out] */ GUID *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassName )( 
            IRdUITable * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetDefault )( 
            IRdUITable * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetAllAspects )( 
            IRdUITable * This,
            /* [out] */ LPSAFEARRAY *saAspects);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddControl )( 
            IRdUITable * This,
            /* [in] */ IRsUIControl *pControl,
            /* [in] */ RECT rcControl,
            /* [in] */ RtUlong ulAspect,
            /* [in] */ RtUITableRecord *defaults);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddRecord )( 
            IRdUITable * This,
            /* [in] */ RtUITableRecord *sRecord,
            /* [in] */ RtUlong ulAspect);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ReplaceControl )( 
            IRdUITable * This,
            /* [in] */ IRsUIControl *pOldControl,
            /* [in] */ RECT rcOldControl,
            /* [in] */ IRsUIControl *pNewControl,
            /* [in] */ RECT rcNewControl,
            /* [in] */ RtUlong ulAspect);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ReplaceRecord )( 
            IRdUITable * This,
            /* [in] */ RtUlong ulAspect,
            /* [in] */ RtUlong ulIndex,
            /* [in] */ RtUITableRecord *sNewRecord);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetBkgColor )( 
            IRdUITable * This,
            /* [in] */ COLORREF col,
            /* [in] */ RtUlong ulAspect);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RemoveBkgColor )( 
            IRdUITable * This,
            /* [in] */ RtUlong ulAspect);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RemoveControl )( 
            IRdUITable * This,
            /* [in] */ RtUlong ulAspect,
            /* [in] */ RtUlong ulIndex);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RemoveRecord )( 
            IRdUITable * This,
            /* [in] */ RtUITableRecord *sRecord,
            /* [in] */ RtUlong ulAspect);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RemoveAspect )( 
            IRdUITable * This,
            /* [in] */ RtUlong ulAspect);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetControl )( 
            IRdUITable * This,
            /* [in] */ RtUlong ulAspect,
            /* [in] */ RtUlong ulIndex,
            /* [out] */ RtUITableRecord *sRecords);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetControlsCount )( 
            IRdUITable * This,
            /* [in] */ RtUlong ulAspect,
            /* [out] */ RtUlong *ulRecCount);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetBoundingRect )( 
            IRdUITable * This,
            /* [in] */ RtUlong ulAspect,
            /* [out] */ RECT *rcBound);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetLastAspect )( 
            IRdUITable * This,
            /* [out] */ RtUlong *ulAspect);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetBkgColor )( 
            IRdUITable * This,
            /* [in] */ RtUlong ulAspect,
            /* [out] */ COLORREF *col);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Clear )( 
            IRdUITable * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetLastAspect )( 
            IRdUITable * This,
            /* [in] */ RtUlong ulAspect);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddAspectName )( 
            IRdUITable * This,
            /* [in] */ RtUlong ulAspect,
            /* [in] */ BSTR bsName);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetAspectName )( 
            IRdUITable * This,
            /* [in] */ RtUlong ulAspect,
            /* [retval][out] */ BSTR *bsName);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetFlags )( 
            IRdUITable * This,
            /* [in] */ RtFlags fFlags);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetFlags )( 
            IRdUITable * This,
            /* [retval][out] */ RtFlags *pFlags);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CopyAspectDef )( 
            IRdUITable * This,
            /* [in] */ RtUlong dwSrcIdx,
            /* [in] */ RtUlong dwDstIdx);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ValidateVersion )( 
            IRdUITable * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetAspectIndex )( 
            IRdUITable * This,
            /* [in] */ BSTR bsName,
            /* [retval][out] */ RtUlong *pulAspect);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetUiTableVersion )( 
            IRdUITable * This,
            /* [retval][out] */ RtUlong *pdwVersion);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SwitchExportedAspectState )( 
            IRdUITable * This,
            /* [in] */ RtUlong uAspect);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetExportedAspectState )( 
            IRdUITable * This,
            /* [in] */ RtUlong uAspect,
            /* [retval][out] */ RtBool *bState);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetExportedPanelCount )( 
            IRdUITable * This,
            /* [retval][out] */ RtUlong *puCount);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddExportedPanelInfo )( 
            IRdUITable * This,
            /* [in] */ RtExportedPanelInfo sExportInfo);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetExportedPanelInfo )( 
            IRdUITable * This,
            /* [retval][out] */ RtExportedPanelInfo *psExportInfo);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetExportedPanelInfo )( 
            IRdUITable * This,
            /* [in] */ RtExportedPanelInfo sExportInfo);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetExportedPanelInfoItem )( 
            IRdUITable * This,
            /* [in] */ RtUlong uIndex,
            /* [retval][out] */ RtExportedPanelInfo *psExportInfo);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetExportedPanelInfoItem )( 
            IRdUITable * This,
            /* [in] */ RtUlong uIndex,
            /* [in] */ RtExportedPanelInfo sExportInfo);
        
        END_INTERFACE
    } IRdUITableVtbl;

    interface IRdUITable
    {
        CONST_VTBL struct IRdUITableVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRdUITable_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRdUITable_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRdUITable_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRdUITable_get_ClassId(This,pVal)	\
    (This)->lpVtbl -> get_ClassId(This,pVal)

#define IRdUITable_get_ClassName(This,pVal)	\
    (This)->lpVtbl -> get_ClassName(This,pVal)


#define IRdUITable_SetDefault(This)	\
    (This)->lpVtbl -> SetDefault(This)


#define IRdUITable_GetAllAspects(This,saAspects)	\
    (This)->lpVtbl -> GetAllAspects(This,saAspects)

#define IRdUITable_AddControl(This,pControl,rcControl,ulAspect,defaults)	\
    (This)->lpVtbl -> AddControl(This,pControl,rcControl,ulAspect,defaults)

#define IRdUITable_AddRecord(This,sRecord,ulAspect)	\
    (This)->lpVtbl -> AddRecord(This,sRecord,ulAspect)

#define IRdUITable_ReplaceControl(This,pOldControl,rcOldControl,pNewControl,rcNewControl,ulAspect)	\
    (This)->lpVtbl -> ReplaceControl(This,pOldControl,rcOldControl,pNewControl,rcNewControl,ulAspect)

#define IRdUITable_ReplaceRecord(This,ulAspect,ulIndex,sNewRecord)	\
    (This)->lpVtbl -> ReplaceRecord(This,ulAspect,ulIndex,sNewRecord)

#define IRdUITable_SetBkgColor(This,col,ulAspect)	\
    (This)->lpVtbl -> SetBkgColor(This,col,ulAspect)

#define IRdUITable_RemoveBkgColor(This,ulAspect)	\
    (This)->lpVtbl -> RemoveBkgColor(This,ulAspect)

#define IRdUITable_RemoveControl(This,ulAspect,ulIndex)	\
    (This)->lpVtbl -> RemoveControl(This,ulAspect,ulIndex)

#define IRdUITable_RemoveRecord(This,sRecord,ulAspect)	\
    (This)->lpVtbl -> RemoveRecord(This,sRecord,ulAspect)

#define IRdUITable_RemoveAspect(This,ulAspect)	\
    (This)->lpVtbl -> RemoveAspect(This,ulAspect)

#define IRdUITable_GetControl(This,ulAspect,ulIndex,sRecords)	\
    (This)->lpVtbl -> GetControl(This,ulAspect,ulIndex,sRecords)

#define IRdUITable_GetControlsCount(This,ulAspect,ulRecCount)	\
    (This)->lpVtbl -> GetControlsCount(This,ulAspect,ulRecCount)

#define IRdUITable_GetBoundingRect(This,ulAspect,rcBound)	\
    (This)->lpVtbl -> GetBoundingRect(This,ulAspect,rcBound)

#define IRdUITable_GetLastAspect(This,ulAspect)	\
    (This)->lpVtbl -> GetLastAspect(This,ulAspect)

#define IRdUITable_GetBkgColor(This,ulAspect,col)	\
    (This)->lpVtbl -> GetBkgColor(This,ulAspect,col)

#define IRdUITable_Clear(This)	\
    (This)->lpVtbl -> Clear(This)

#define IRdUITable_SetLastAspect(This,ulAspect)	\
    (This)->lpVtbl -> SetLastAspect(This,ulAspect)

#define IRdUITable_AddAspectName(This,ulAspect,bsName)	\
    (This)->lpVtbl -> AddAspectName(This,ulAspect,bsName)

#define IRdUITable_GetAspectName(This,ulAspect,bsName)	\
    (This)->lpVtbl -> GetAspectName(This,ulAspect,bsName)

#define IRdUITable_SetFlags(This,fFlags)	\
    (This)->lpVtbl -> SetFlags(This,fFlags)

#define IRdUITable_GetFlags(This,pFlags)	\
    (This)->lpVtbl -> GetFlags(This,pFlags)

#define IRdUITable_CopyAspectDef(This,dwSrcIdx,dwDstIdx)	\
    (This)->lpVtbl -> CopyAspectDef(This,dwSrcIdx,dwDstIdx)

#define IRdUITable_ValidateVersion(This)	\
    (This)->lpVtbl -> ValidateVersion(This)

#define IRdUITable_GetAspectIndex(This,bsName,pulAspect)	\
    (This)->lpVtbl -> GetAspectIndex(This,bsName,pulAspect)

#define IRdUITable_GetUiTableVersion(This,pdwVersion)	\
    (This)->lpVtbl -> GetUiTableVersion(This,pdwVersion)

#define IRdUITable_SwitchExportedAspectState(This,uAspect)	\
    (This)->lpVtbl -> SwitchExportedAspectState(This,uAspect)

#define IRdUITable_GetExportedAspectState(This,uAspect,bState)	\
    (This)->lpVtbl -> GetExportedAspectState(This,uAspect,bState)

#define IRdUITable_GetExportedPanelCount(This,puCount)	\
    (This)->lpVtbl -> GetExportedPanelCount(This,puCount)

#define IRdUITable_AddExportedPanelInfo(This,sExportInfo)	\
    (This)->lpVtbl -> AddExportedPanelInfo(This,sExportInfo)

#define IRdUITable_GetExportedPanelInfo(This,psExportInfo)	\
    (This)->lpVtbl -> GetExportedPanelInfo(This,psExportInfo)

#define IRdUITable_SetExportedPanelInfo(This,sExportInfo)	\
    (This)->lpVtbl -> SetExportedPanelInfo(This,sExportInfo)

#define IRdUITable_GetExportedPanelInfoItem(This,uIndex,psExportInfo)	\
    (This)->lpVtbl -> GetExportedPanelInfoItem(This,uIndex,psExportInfo)

#define IRdUITable_SetExportedPanelInfoItem(This,uIndex,sExportInfo)	\
    (This)->lpVtbl -> SetExportedPanelInfoItem(This,uIndex,sExportInfo)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdUITable_GetAllAspects_Proxy( 
    IRdUITable * This,
    /* [out] */ LPSAFEARRAY *saAspects);


void __RPC_STUB IRdUITable_GetAllAspects_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdUITable_AddControl_Proxy( 
    IRdUITable * This,
    /* [in] */ IRsUIControl *pControl,
    /* [in] */ RECT rcControl,
    /* [in] */ RtUlong ulAspect,
    /* [in] */ RtUITableRecord *defaults);


void __RPC_STUB IRdUITable_AddControl_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdUITable_AddRecord_Proxy( 
    IRdUITable * This,
    /* [in] */ RtUITableRecord *sRecord,
    /* [in] */ RtUlong ulAspect);


void __RPC_STUB IRdUITable_AddRecord_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdUITable_ReplaceControl_Proxy( 
    IRdUITable * This,
    /* [in] */ IRsUIControl *pOldControl,
    /* [in] */ RECT rcOldControl,
    /* [in] */ IRsUIControl *pNewControl,
    /* [in] */ RECT rcNewControl,
    /* [in] */ RtUlong ulAspect);


void __RPC_STUB IRdUITable_ReplaceControl_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdUITable_ReplaceRecord_Proxy( 
    IRdUITable * This,
    /* [in] */ RtUlong ulAspect,
    /* [in] */ RtUlong ulIndex,
    /* [in] */ RtUITableRecord *sNewRecord);


void __RPC_STUB IRdUITable_ReplaceRecord_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdUITable_SetBkgColor_Proxy( 
    IRdUITable * This,
    /* [in] */ COLORREF col,
    /* [in] */ RtUlong ulAspect);


void __RPC_STUB IRdUITable_SetBkgColor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdUITable_RemoveBkgColor_Proxy( 
    IRdUITable * This,
    /* [in] */ RtUlong ulAspect);


void __RPC_STUB IRdUITable_RemoveBkgColor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdUITable_RemoveControl_Proxy( 
    IRdUITable * This,
    /* [in] */ RtUlong ulAspect,
    /* [in] */ RtUlong ulIndex);


void __RPC_STUB IRdUITable_RemoveControl_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdUITable_RemoveRecord_Proxy( 
    IRdUITable * This,
    /* [in] */ RtUITableRecord *sRecord,
    /* [in] */ RtUlong ulAspect);


void __RPC_STUB IRdUITable_RemoveRecord_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdUITable_RemoveAspect_Proxy( 
    IRdUITable * This,
    /* [in] */ RtUlong ulAspect);


void __RPC_STUB IRdUITable_RemoveAspect_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdUITable_GetControl_Proxy( 
    IRdUITable * This,
    /* [in] */ RtUlong ulAspect,
    /* [in] */ RtUlong ulIndex,
    /* [out] */ RtUITableRecord *sRecords);


void __RPC_STUB IRdUITable_GetControl_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdUITable_GetControlsCount_Proxy( 
    IRdUITable * This,
    /* [in] */ RtUlong ulAspect,
    /* [out] */ RtUlong *ulRecCount);


void __RPC_STUB IRdUITable_GetControlsCount_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdUITable_GetBoundingRect_Proxy( 
    IRdUITable * This,
    /* [in] */ RtUlong ulAspect,
    /* [out] */ RECT *rcBound);


void __RPC_STUB IRdUITable_GetBoundingRect_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdUITable_GetLastAspect_Proxy( 
    IRdUITable * This,
    /* [out] */ RtUlong *ulAspect);


void __RPC_STUB IRdUITable_GetLastAspect_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdUITable_GetBkgColor_Proxy( 
    IRdUITable * This,
    /* [in] */ RtUlong ulAspect,
    /* [out] */ COLORREF *col);


void __RPC_STUB IRdUITable_GetBkgColor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdUITable_Clear_Proxy( 
    IRdUITable * This);


void __RPC_STUB IRdUITable_Clear_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdUITable_SetLastAspect_Proxy( 
    IRdUITable * This,
    /* [in] */ RtUlong ulAspect);


void __RPC_STUB IRdUITable_SetLastAspect_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdUITable_AddAspectName_Proxy( 
    IRdUITable * This,
    /* [in] */ RtUlong ulAspect,
    /* [in] */ BSTR bsName);


void __RPC_STUB IRdUITable_AddAspectName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdUITable_GetAspectName_Proxy( 
    IRdUITable * This,
    /* [in] */ RtUlong ulAspect,
    /* [retval][out] */ BSTR *bsName);


void __RPC_STUB IRdUITable_GetAspectName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdUITable_SetFlags_Proxy( 
    IRdUITable * This,
    /* [in] */ RtFlags fFlags);


void __RPC_STUB IRdUITable_SetFlags_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdUITable_GetFlags_Proxy( 
    IRdUITable * This,
    /* [retval][out] */ RtFlags *pFlags);


void __RPC_STUB IRdUITable_GetFlags_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdUITable_CopyAspectDef_Proxy( 
    IRdUITable * This,
    /* [in] */ RtUlong dwSrcIdx,
    /* [in] */ RtUlong dwDstIdx);


void __RPC_STUB IRdUITable_CopyAspectDef_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdUITable_ValidateVersion_Proxy( 
    IRdUITable * This);


void __RPC_STUB IRdUITable_ValidateVersion_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdUITable_GetAspectIndex_Proxy( 
    IRdUITable * This,
    /* [in] */ BSTR bsName,
    /* [retval][out] */ RtUlong *pulAspect);


void __RPC_STUB IRdUITable_GetAspectIndex_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdUITable_GetUiTableVersion_Proxy( 
    IRdUITable * This,
    /* [retval][out] */ RtUlong *pdwVersion);


void __RPC_STUB IRdUITable_GetUiTableVersion_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdUITable_SwitchExportedAspectState_Proxy( 
    IRdUITable * This,
    /* [in] */ RtUlong uAspect);


void __RPC_STUB IRdUITable_SwitchExportedAspectState_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdUITable_GetExportedAspectState_Proxy( 
    IRdUITable * This,
    /* [in] */ RtUlong uAspect,
    /* [retval][out] */ RtBool *bState);


void __RPC_STUB IRdUITable_GetExportedAspectState_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdUITable_GetExportedPanelCount_Proxy( 
    IRdUITable * This,
    /* [retval][out] */ RtUlong *puCount);


void __RPC_STUB IRdUITable_GetExportedPanelCount_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdUITable_AddExportedPanelInfo_Proxy( 
    IRdUITable * This,
    /* [in] */ RtExportedPanelInfo sExportInfo);


void __RPC_STUB IRdUITable_AddExportedPanelInfo_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdUITable_GetExportedPanelInfo_Proxy( 
    IRdUITable * This,
    /* [retval][out] */ RtExportedPanelInfo *psExportInfo);


void __RPC_STUB IRdUITable_GetExportedPanelInfo_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdUITable_SetExportedPanelInfo_Proxy( 
    IRdUITable * This,
    /* [in] */ RtExportedPanelInfo sExportInfo);


void __RPC_STUB IRdUITable_SetExportedPanelInfo_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdUITable_GetExportedPanelInfoItem_Proxy( 
    IRdUITable * This,
    /* [in] */ RtUlong uIndex,
    /* [retval][out] */ RtExportedPanelInfo *psExportInfo);


void __RPC_STUB IRdUITable_GetExportedPanelInfoItem_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdUITable_SetExportedPanelInfoItem_Proxy( 
    IRdUITable * This,
    /* [in] */ RtUlong uIndex,
    /* [in] */ RtExportedPanelInfo sExportInfo);


void __RPC_STUB IRdUITable_SetExportedPanelInfoItem_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRdUITable_INTERFACE_DEFINED__ */


#ifndef __IRdNodeUITables_INTERFACE_DEFINED__
#define __IRdNodeUITables_INTERFACE_DEFINED__

/* interface IRdNodeUITables */
/* [unique][helpstring][uuid][local][object] */ 


EXTERN_C const IID IID_IRdNodeUITables;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("EBD60C81-869F-4cf7-A03C-5FFADFD197CB")
    IRdNodeUITables : public IRsDataObject
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddTable( 
            /* [in] */ GUID idView,
            /* [in] */ IRdUITable *pTable) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RemoveViewTable( 
            /* [in] */ GUID idView) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetTable( 
            /* [in] */ GUID idView,
            /* [out] */ IRdUITable **ppTable) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Clear( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRdNodeUITablesVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRdNodeUITables * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRdNodeUITables * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRdNodeUITables * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassId )( 
            IRdNodeUITables * This,
            /* [retval][out] */ GUID *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassName )( 
            IRdNodeUITables * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetDefault )( 
            IRdNodeUITables * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddTable )( 
            IRdNodeUITables * This,
            /* [in] */ GUID idView,
            /* [in] */ IRdUITable *pTable);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RemoveViewTable )( 
            IRdNodeUITables * This,
            /* [in] */ GUID idView);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetTable )( 
            IRdNodeUITables * This,
            /* [in] */ GUID idView,
            /* [out] */ IRdUITable **ppTable);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Clear )( 
            IRdNodeUITables * This);
        
        END_INTERFACE
    } IRdNodeUITablesVtbl;

    interface IRdNodeUITables
    {
        CONST_VTBL struct IRdNodeUITablesVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRdNodeUITables_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRdNodeUITables_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRdNodeUITables_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRdNodeUITables_get_ClassId(This,pVal)	\
    (This)->lpVtbl -> get_ClassId(This,pVal)

#define IRdNodeUITables_get_ClassName(This,pVal)	\
    (This)->lpVtbl -> get_ClassName(This,pVal)


#define IRdNodeUITables_SetDefault(This)	\
    (This)->lpVtbl -> SetDefault(This)


#define IRdNodeUITables_AddTable(This,idView,pTable)	\
    (This)->lpVtbl -> AddTable(This,idView,pTable)

#define IRdNodeUITables_RemoveViewTable(This,idView)	\
    (This)->lpVtbl -> RemoveViewTable(This,idView)

#define IRdNodeUITables_GetTable(This,idView,ppTable)	\
    (This)->lpVtbl -> GetTable(This,idView,ppTable)

#define IRdNodeUITables_Clear(This)	\
    (This)->lpVtbl -> Clear(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdNodeUITables_AddTable_Proxy( 
    IRdNodeUITables * This,
    /* [in] */ GUID idView,
    /* [in] */ IRdUITable *pTable);


void __RPC_STUB IRdNodeUITables_AddTable_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdNodeUITables_RemoveViewTable_Proxy( 
    IRdNodeUITables * This,
    /* [in] */ GUID idView);


void __RPC_STUB IRdNodeUITables_RemoveViewTable_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdNodeUITables_GetTable_Proxy( 
    IRdNodeUITables * This,
    /* [in] */ GUID idView,
    /* [out] */ IRdUITable **ppTable);


void __RPC_STUB IRdNodeUITables_GetTable_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdNodeUITables_Clear_Proxy( 
    IRdNodeUITables * This);


void __RPC_STUB IRdNodeUITables_Clear_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRdNodeUITables_INTERFACE_DEFINED__ */


#ifndef __IRsIconGenFactory_INTERFACE_DEFINED__
#define __IRsIconGenFactory_INTERFACE_DEFINED__

/* interface IRsIconGenFactory */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsIconGenFactory;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("C731220C-848C-4490-9BB1-0B38552C1613")
    IRsIconGenFactory : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateInstance( 
            /* [in] */ const IID riid,
            /* [retval][out] */ IRsUIControl **ppUIControl) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateAggInstance( 
            /* [in] */ IUnknown *pUnkOuter,
            /* [in] */ const IID riid,
            /* [retval][out] */ IUnknown **ppvObject) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE EnumUIControlDesc( 
            /* [retval][out] */ IRsEnumUIControlDesc **ppEnumUIControlDesc) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsIconGenFactoryVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsIconGenFactory * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsIconGenFactory * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsIconGenFactory * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateInstance )( 
            IRsIconGenFactory * This,
            /* [in] */ const IID riid,
            /* [retval][out] */ IRsUIControl **ppUIControl);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateAggInstance )( 
            IRsIconGenFactory * This,
            /* [in] */ IUnknown *pUnkOuter,
            /* [in] */ const IID riid,
            /* [retval][out] */ IUnknown **ppvObject);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *EnumUIControlDesc )( 
            IRsIconGenFactory * This,
            /* [retval][out] */ IRsEnumUIControlDesc **ppEnumUIControlDesc);
        
        END_INTERFACE
    } IRsIconGenFactoryVtbl;

    interface IRsIconGenFactory
    {
        CONST_VTBL struct IRsIconGenFactoryVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsIconGenFactory_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsIconGenFactory_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsIconGenFactory_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsIconGenFactory_CreateInstance(This,riid,ppUIControl)	\
    (This)->lpVtbl -> CreateInstance(This,riid,ppUIControl)

#define IRsIconGenFactory_CreateAggInstance(This,pUnkOuter,riid,ppvObject)	\
    (This)->lpVtbl -> CreateAggInstance(This,pUnkOuter,riid,ppvObject)

#define IRsIconGenFactory_EnumUIControlDesc(This,ppEnumUIControlDesc)	\
    (This)->lpVtbl -> EnumUIControlDesc(This,ppEnumUIControlDesc)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsIconGenFactory_CreateInstance_Proxy( 
    IRsIconGenFactory * This,
    /* [in] */ const IID riid,
    /* [retval][out] */ IRsUIControl **ppUIControl);


void __RPC_STUB IRsIconGenFactory_CreateInstance_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsIconGenFactory_CreateAggInstance_Proxy( 
    IRsIconGenFactory * This,
    /* [in] */ IUnknown *pUnkOuter,
    /* [in] */ const IID riid,
    /* [retval][out] */ IUnknown **ppvObject);


void __RPC_STUB IRsIconGenFactory_CreateAggInstance_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsIconGenFactory_EnumUIControlDesc_Proxy( 
    IRsIconGenFactory * This,
    /* [retval][out] */ IRsEnumUIControlDesc **ppEnumUIControlDesc);


void __RPC_STUB IRsIconGenFactory_EnumUIControlDesc_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsIconGenFactory_INTERFACE_DEFINED__ */


#ifndef __IRsUnknownIconGenPackage_INTERFACE_DEFINED__
#define __IRsUnknownIconGenPackage_INTERFACE_DEFINED__

/* interface IRsUnknownIconGenPackage */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsUnknownIconGenPackage;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("9796C302-E92C-4c2d-910E-F7BC980807E6")
    IRsUnknownIconGenPackage : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetIconGenFactory( 
            /* [retval][out] */ IRsIconGenFactory **ppFactory) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsUnknownIconGenPackageVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsUnknownIconGenPackage * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsUnknownIconGenPackage * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsUnknownIconGenPackage * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetIconGenFactory )( 
            IRsUnknownIconGenPackage * This,
            /* [retval][out] */ IRsIconGenFactory **ppFactory);
        
        END_INTERFACE
    } IRsUnknownIconGenPackageVtbl;

    interface IRsUnknownIconGenPackage
    {
        CONST_VTBL struct IRsUnknownIconGenPackageVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsUnknownIconGenPackage_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsUnknownIconGenPackage_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsUnknownIconGenPackage_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsUnknownIconGenPackage_GetIconGenFactory(This,ppFactory)	\
    (This)->lpVtbl -> GetIconGenFactory(This,ppFactory)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsUnknownIconGenPackage_GetIconGenFactory_Proxy( 
    IRsUnknownIconGenPackage * This,
    /* [retval][out] */ IRsIconGenFactory **ppFactory);


void __RPC_STUB IRsUnknownIconGenPackage_GetIconGenFactory_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsUnknownIconGenPackage_INTERFACE_DEFINED__ */


#ifndef __IRcDragAndDrop_INTERFACE_DEFINED__
#define __IRcDragAndDrop_INTERFACE_DEFINED__

/* interface IRcDragAndDrop */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcDragAndDrop;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("4C617599-C63A-4376-AC3E-388C186CC2B3")
    IRcDragAndDrop : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE SetCustomDndObject( 
            /* [in] */ VARIANT *pvCustomDnd) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRcDragAndDropVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcDragAndDrop * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcDragAndDrop * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcDragAndDrop * This);
        
        HRESULT ( STDMETHODCALLTYPE *SetCustomDndObject )( 
            IRcDragAndDrop * This,
            /* [in] */ VARIANT *pvCustomDnd);
        
        END_INTERFACE
    } IRcDragAndDropVtbl;

    interface IRcDragAndDrop
    {
        CONST_VTBL struct IRcDragAndDropVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcDragAndDrop_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcDragAndDrop_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcDragAndDrop_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRcDragAndDrop_SetCustomDndObject(This,pvCustomDnd)	\
    (This)->lpVtbl -> SetCustomDndObject(This,pvCustomDnd)

#endif /* COBJMACROS */


#endif 	/* C style interface */



HRESULT STDMETHODCALLTYPE IRcDragAndDrop_SetCustomDndObject_Proxy( 
    IRcDragAndDrop * This,
    /* [in] */ VARIANT *pvCustomDnd);


void __RPC_STUB IRcDragAndDrop_SetCustomDndObject_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRcDragAndDrop_INTERFACE_DEFINED__ */


#ifndef __IRdDnDDataObject_INTERFACE_DEFINED__
#define __IRdDnDDataObject_INTERFACE_DEFINED__

/* interface IRdDnDDataObject */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRdDnDDataObject;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("58C558E8-0AC6-44cd-8711-8AFC56413542")
    IRdDnDDataObject : public IRsDataObject
    {
    public:
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE SetObject( 
            /* [in] */ IRsObject *pvObj,
            /* [in] */ RtBool bDisposable) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE GetObjectA( 
            /* [retval][out] */ IRsObject **pvObj) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE SetIdentification( 
            /* [in] */ GUID gId) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE GetIdentification( 
            /* [retval][out] */ GUID *pgId) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRdDnDDataObjectVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRdDnDDataObject * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRdDnDDataObject * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRdDnDDataObject * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassId )( 
            IRdDnDDataObject * This,
            /* [retval][out] */ GUID *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassName )( 
            IRdDnDDataObject * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetDefault )( 
            IRdDnDDataObject * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *SetObject )( 
            IRdDnDDataObject * This,
            /* [in] */ IRsObject *pvObj,
            /* [in] */ RtBool bDisposable);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *GetObjectA )( 
            IRdDnDDataObject * This,
            /* [retval][out] */ IRsObject **pvObj);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *SetIdentification )( 
            IRdDnDDataObject * This,
            /* [in] */ GUID gId);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *GetIdentification )( 
            IRdDnDDataObject * This,
            /* [retval][out] */ GUID *pgId);
        
        END_INTERFACE
    } IRdDnDDataObjectVtbl;

    interface IRdDnDDataObject
    {
        CONST_VTBL struct IRdDnDDataObjectVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRdDnDDataObject_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRdDnDDataObject_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRdDnDDataObject_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRdDnDDataObject_get_ClassId(This,pVal)	\
    (This)->lpVtbl -> get_ClassId(This,pVal)

#define IRdDnDDataObject_get_ClassName(This,pVal)	\
    (This)->lpVtbl -> get_ClassName(This,pVal)


#define IRdDnDDataObject_SetDefault(This)	\
    (This)->lpVtbl -> SetDefault(This)


#define IRdDnDDataObject_SetObject(This,pvObj,bDisposable)	\
    (This)->lpVtbl -> SetObject(This,pvObj,bDisposable)

#define IRdDnDDataObject_GetObjectA(This,pvObj)	\
    (This)->lpVtbl -> GetObjectA(This,pvObj)

#define IRdDnDDataObject_SetIdentification(This,gId)	\
    (This)->lpVtbl -> SetIdentification(This,gId)

#define IRdDnDDataObject_GetIdentification(This,pgId)	\
    (This)->lpVtbl -> GetIdentification(This,pgId)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [id] */ HRESULT STDMETHODCALLTYPE IRdDnDDataObject_SetObject_Proxy( 
    IRdDnDDataObject * This,
    /* [in] */ IRsObject *pvObj,
    /* [in] */ RtBool bDisposable);


void __RPC_STUB IRdDnDDataObject_SetObject_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE IRdDnDDataObject_GetObjectA_Proxy( 
    IRdDnDDataObject * This,
    /* [retval][out] */ IRsObject **pvObj);


void __RPC_STUB IRdDnDDataObject_GetObjectA_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE IRdDnDDataObject_SetIdentification_Proxy( 
    IRdDnDDataObject * This,
    /* [in] */ GUID gId);


void __RPC_STUB IRdDnDDataObject_SetIdentification_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE IRdDnDDataObject_GetIdentification_Proxy( 
    IRdDnDDataObject * This,
    /* [retval][out] */ GUID *pgId);


void __RPC_STUB IRdDnDDataObject_GetIdentification_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRdDnDDataObject_INTERFACE_DEFINED__ */


#ifndef __IRsLibraryWnd_INTERFACE_DEFINED__
#define __IRsLibraryWnd_INTERFACE_DEFINED__

/* interface IRsLibraryWnd */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsLibraryWnd;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("C9BB658B-DDEE-4CF9-B333-FF26F24334BC")
    IRsLibraryWnd : public IUnknown
    {
    public:
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Show( 
            /* [in] */ int iCmdShow) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_ParentNode( 
            /* [retval][out] */ IRsUnknownNode **pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_ParentNode( 
            /* [in] */ IRsUnknownNode *newVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Close( 
            /* [in] */ int iTypeOfClose) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetWindowZPos( 
            /* [in] */ HWND hWndInsertAfter) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Move( 
            /* [in] */ RtShort sDeltaX,
            /* [in] */ RtShort sDeltaY) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Redraw( 
            /* [in] */ RtBool bNow) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_ShelfState( 
            /* [retval][out] */ RtShelfState *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_ShelfState( 
            /* [in] */ RtShelfState eState) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE AddCategory( 
            /* [in] */ BSTR strName,
            /* [in] */ IRdBitmap *lpBitmap,
            /* [in] */ BSTR strGraphPath,
            /* [retval][out] */ int *result) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE DeleteCategory( 
            /* [in] */ int index) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE AddItem( 
            /* [in] */ int categoryIndex,
            /* [in] */ BSTR strName,
            /* [in] */ BSTR strComment,
            /* [in] */ IRdBitmap *lpBitmap,
            /* [in] */ BSTR strGraphPath,
            /* [in] */ BSTR strLCommand,
            /* [in] */ BSTR strLDBCommand,
            /* [in] */ BOOL bMaskedBitmap,
            /* [retval][out] */ int *result) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE DeleteItem( 
            /* [in] */ int categoryIndex,
            /* [in] */ int index) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetCategoryCount( 
            /* [retval][out] */ int *count) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetCategoryItemsCount( 
            /* [in] */ int categoryIndex,
            /* [retval][out] */ int *count) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ClearCategory( 
            /* [in] */ int category) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetActiveCategory( 
            /* [in] */ int index) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetActiveCategory( 
            /* [retval][out] */ int *result) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Clear( void) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetNoRedrawFlag( 
            /* [in] */ BOOL noRedrawFlag) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetTitle( 
            /* [in] */ LPCTSTR lpszTitle) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetCategoryWithPath( 
            /* [in] */ BSTR strPath,
            /* [retval][out] */ RtUlong *result) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetPath( 
            /* [in] */ BSTR szGraphPath,
            /* [in] */ BSTR szEncapsulator) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE RemoveItem( 
            /* [in] */ int iLibrary,
            /* [in] */ int iItem) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetCategoryAndItemWithPath( 
            /* [in] */ BSTR strLibPath,
            /* [in] */ BSTR strItemPath,
            /* [out] */ RtUlong *resultLib,
            /* [out] */ RtUlong *resultItem) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE InsertItem( 
            /* [in] */ int categoryIndex,
            /* [in] */ int insertIndex,
            /* [in] */ BSTR strName,
            /* [in] */ BSTR strComment,
            /* [in] */ IRdBitmap *lpBitmap,
            /* [in] */ BSTR strGraphPath,
            /* [in] */ BSTR strLCommand,
            /* [in] */ BSTR strLDBCommand,
            /* [in] */ BOOL bMaskedBitmap,
            /* [retval][out] */ int *result) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE InsertCategory( 
            /* [in] */ int insertIndex,
            /* [in] */ BSTR strName,
            /* [in] */ IRdBitmap *lpBitmap,
            /* [in] */ BSTR strGraphPath,
            /* [retval][out] */ int *result) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE RemoveCategory( 
            /* [in] */ int libraryIndex) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE RenameCategory( 
            /* [in] */ int categoryIndex,
            /* [in] */ BSTR strName) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE RenameItem( 
            /* [in] */ int categoryIndex,
            /* [in] */ int index,
            /* [in] */ BSTR strName) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetAspect( 
            /* [in] */ int newAspect) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ChangeItemImage( 
            /* [in] */ int categoryIndex,
            /* [in] */ int index,
            /* [in] */ RtBool bMaskedBitmap,
            /* [in] */ IRdBitmap *lpBitmap) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ChangeLibraryImage( 
            /* [in] */ int categoryIndex,
            /* [in] */ IRdBitmap *lpBitmap) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ChangeItemHelpText( 
            /* [in] */ int categoryIndex,
            /* [in] */ int index,
            /* [in] */ BSTR strHelpText) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ChangeItemLClickCommand( 
            /* [in] */ int categoryIndex,
            /* [in] */ int index,
            /* [in] */ BSTR bNewLCommand) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ChangeItemLDBClickCommand( 
            /* [in] */ int categoryIndex,
            /* [in] */ int index,
            /* [in] */ BSTR bNewLDBCommand) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetFrame( 
            /* [in] */ IRsNode *pFrame) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetTitle( 
            /* [retval][out] */ BSTR *pResult) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetItemBitmapBigSize( 
            /* [in] */ SIZE newVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetItemBitmapSmallSize( 
            /* [in] */ SIZE newVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetMinimalSize( 
            /* [out] */ int *iWidth,
            /* [out] */ int *iHeight) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetAspect( 
            /* [retval][out] */ int *iAspect) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE BlockHideWindow( 
            /* [in] */ RtBool bBlock) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IsVisible( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsLibraryWndVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsLibraryWnd * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsLibraryWnd * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsLibraryWnd * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Show )( 
            IRsLibraryWnd * This,
            /* [in] */ int iCmdShow);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ParentNode )( 
            IRsLibraryWnd * This,
            /* [retval][out] */ IRsUnknownNode **pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ParentNode )( 
            IRsLibraryWnd * This,
            /* [in] */ IRsUnknownNode *newVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Close )( 
            IRsLibraryWnd * This,
            /* [in] */ int iTypeOfClose);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetWindowZPos )( 
            IRsLibraryWnd * This,
            /* [in] */ HWND hWndInsertAfter);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Move )( 
            IRsLibraryWnd * This,
            /* [in] */ RtShort sDeltaX,
            /* [in] */ RtShort sDeltaY);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Redraw )( 
            IRsLibraryWnd * This,
            /* [in] */ RtBool bNow);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ShelfState )( 
            IRsLibraryWnd * This,
            /* [retval][out] */ RtShelfState *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ShelfState )( 
            IRsLibraryWnd * This,
            /* [in] */ RtShelfState eState);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *AddCategory )( 
            IRsLibraryWnd * This,
            /* [in] */ BSTR strName,
            /* [in] */ IRdBitmap *lpBitmap,
            /* [in] */ BSTR strGraphPath,
            /* [retval][out] */ int *result);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *DeleteCategory )( 
            IRsLibraryWnd * This,
            /* [in] */ int index);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *AddItem )( 
            IRsLibraryWnd * This,
            /* [in] */ int categoryIndex,
            /* [in] */ BSTR strName,
            /* [in] */ BSTR strComment,
            /* [in] */ IRdBitmap *lpBitmap,
            /* [in] */ BSTR strGraphPath,
            /* [in] */ BSTR strLCommand,
            /* [in] */ BSTR strLDBCommand,
            /* [in] */ BOOL bMaskedBitmap,
            /* [retval][out] */ int *result);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *DeleteItem )( 
            IRsLibraryWnd * This,
            /* [in] */ int categoryIndex,
            /* [in] */ int index);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetCategoryCount )( 
            IRsLibraryWnd * This,
            /* [retval][out] */ int *count);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetCategoryItemsCount )( 
            IRsLibraryWnd * This,
            /* [in] */ int categoryIndex,
            /* [retval][out] */ int *count);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *ClearCategory )( 
            IRsLibraryWnd * This,
            /* [in] */ int category);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetActiveCategory )( 
            IRsLibraryWnd * This,
            /* [in] */ int index);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetActiveCategory )( 
            IRsLibraryWnd * This,
            /* [retval][out] */ int *result);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Clear )( 
            IRsLibraryWnd * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetNoRedrawFlag )( 
            IRsLibraryWnd * This,
            /* [in] */ BOOL noRedrawFlag);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetTitle )( 
            IRsLibraryWnd * This,
            /* [in] */ LPCTSTR lpszTitle);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetCategoryWithPath )( 
            IRsLibraryWnd * This,
            /* [in] */ BSTR strPath,
            /* [retval][out] */ RtUlong *result);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetPath )( 
            IRsLibraryWnd * This,
            /* [in] */ BSTR szGraphPath,
            /* [in] */ BSTR szEncapsulator);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *RemoveItem )( 
            IRsLibraryWnd * This,
            /* [in] */ int iLibrary,
            /* [in] */ int iItem);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetCategoryAndItemWithPath )( 
            IRsLibraryWnd * This,
            /* [in] */ BSTR strLibPath,
            /* [in] */ BSTR strItemPath,
            /* [out] */ RtUlong *resultLib,
            /* [out] */ RtUlong *resultItem);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *InsertItem )( 
            IRsLibraryWnd * This,
            /* [in] */ int categoryIndex,
            /* [in] */ int insertIndex,
            /* [in] */ BSTR strName,
            /* [in] */ BSTR strComment,
            /* [in] */ IRdBitmap *lpBitmap,
            /* [in] */ BSTR strGraphPath,
            /* [in] */ BSTR strLCommand,
            /* [in] */ BSTR strLDBCommand,
            /* [in] */ BOOL bMaskedBitmap,
            /* [retval][out] */ int *result);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *InsertCategory )( 
            IRsLibraryWnd * This,
            /* [in] */ int insertIndex,
            /* [in] */ BSTR strName,
            /* [in] */ IRdBitmap *lpBitmap,
            /* [in] */ BSTR strGraphPath,
            /* [retval][out] */ int *result);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *RemoveCategory )( 
            IRsLibraryWnd * This,
            /* [in] */ int libraryIndex);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *RenameCategory )( 
            IRsLibraryWnd * This,
            /* [in] */ int categoryIndex,
            /* [in] */ BSTR strName);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *RenameItem )( 
            IRsLibraryWnd * This,
            /* [in] */ int categoryIndex,
            /* [in] */ int index,
            /* [in] */ BSTR strName);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetAspect )( 
            IRsLibraryWnd * This,
            /* [in] */ int newAspect);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *ChangeItemImage )( 
            IRsLibraryWnd * This,
            /* [in] */ int categoryIndex,
            /* [in] */ int index,
            /* [in] */ RtBool bMaskedBitmap,
            /* [in] */ IRdBitmap *lpBitmap);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *ChangeLibraryImage )( 
            IRsLibraryWnd * This,
            /* [in] */ int categoryIndex,
            /* [in] */ IRdBitmap *lpBitmap);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *ChangeItemHelpText )( 
            IRsLibraryWnd * This,
            /* [in] */ int categoryIndex,
            /* [in] */ int index,
            /* [in] */ BSTR strHelpText);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *ChangeItemLClickCommand )( 
            IRsLibraryWnd * This,
            /* [in] */ int categoryIndex,
            /* [in] */ int index,
            /* [in] */ BSTR bNewLCommand);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *ChangeItemLDBClickCommand )( 
            IRsLibraryWnd * This,
            /* [in] */ int categoryIndex,
            /* [in] */ int index,
            /* [in] */ BSTR bNewLDBCommand);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetFrame )( 
            IRsLibraryWnd * This,
            /* [in] */ IRsNode *pFrame);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetTitle )( 
            IRsLibraryWnd * This,
            /* [retval][out] */ BSTR *pResult);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetItemBitmapBigSize )( 
            IRsLibraryWnd * This,
            /* [in] */ SIZE newVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetItemBitmapSmallSize )( 
            IRsLibraryWnd * This,
            /* [in] */ SIZE newVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetMinimalSize )( 
            IRsLibraryWnd * This,
            /* [out] */ int *iWidth,
            /* [out] */ int *iHeight);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetAspect )( 
            IRsLibraryWnd * This,
            /* [retval][out] */ int *iAspect);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *BlockHideWindow )( 
            IRsLibraryWnd * This,
            /* [in] */ RtBool bBlock);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *IsVisible )( 
            IRsLibraryWnd * This);
        
        END_INTERFACE
    } IRsLibraryWndVtbl;

    interface IRsLibraryWnd
    {
        CONST_VTBL struct IRsLibraryWndVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsLibraryWnd_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsLibraryWnd_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsLibraryWnd_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsLibraryWnd_Show(This,iCmdShow)	\
    (This)->lpVtbl -> Show(This,iCmdShow)

#define IRsLibraryWnd_get_ParentNode(This,pVal)	\
    (This)->lpVtbl -> get_ParentNode(This,pVal)

#define IRsLibraryWnd_put_ParentNode(This,newVal)	\
    (This)->lpVtbl -> put_ParentNode(This,newVal)

#define IRsLibraryWnd_Close(This,iTypeOfClose)	\
    (This)->lpVtbl -> Close(This,iTypeOfClose)

#define IRsLibraryWnd_SetWindowZPos(This,hWndInsertAfter)	\
    (This)->lpVtbl -> SetWindowZPos(This,hWndInsertAfter)

#define IRsLibraryWnd_Move(This,sDeltaX,sDeltaY)	\
    (This)->lpVtbl -> Move(This,sDeltaX,sDeltaY)

#define IRsLibraryWnd_Redraw(This,bNow)	\
    (This)->lpVtbl -> Redraw(This,bNow)

#define IRsLibraryWnd_get_ShelfState(This,pVal)	\
    (This)->lpVtbl -> get_ShelfState(This,pVal)

#define IRsLibraryWnd_put_ShelfState(This,eState)	\
    (This)->lpVtbl -> put_ShelfState(This,eState)

#define IRsLibraryWnd_AddCategory(This,strName,lpBitmap,strGraphPath,result)	\
    (This)->lpVtbl -> AddCategory(This,strName,lpBitmap,strGraphPath,result)

#define IRsLibraryWnd_DeleteCategory(This,index)	\
    (This)->lpVtbl -> DeleteCategory(This,index)

#define IRsLibraryWnd_AddItem(This,categoryIndex,strName,strComment,lpBitmap,strGraphPath,strLCommand,strLDBCommand,bMaskedBitmap,result)	\
    (This)->lpVtbl -> AddItem(This,categoryIndex,strName,strComment,lpBitmap,strGraphPath,strLCommand,strLDBCommand,bMaskedBitmap,result)

#define IRsLibraryWnd_DeleteItem(This,categoryIndex,index)	\
    (This)->lpVtbl -> DeleteItem(This,categoryIndex,index)

#define IRsLibraryWnd_GetCategoryCount(This,count)	\
    (This)->lpVtbl -> GetCategoryCount(This,count)

#define IRsLibraryWnd_GetCategoryItemsCount(This,categoryIndex,count)	\
    (This)->lpVtbl -> GetCategoryItemsCount(This,categoryIndex,count)

#define IRsLibraryWnd_ClearCategory(This,category)	\
    (This)->lpVtbl -> ClearCategory(This,category)

#define IRsLibraryWnd_SetActiveCategory(This,index)	\
    (This)->lpVtbl -> SetActiveCategory(This,index)

#define IRsLibraryWnd_GetActiveCategory(This,result)	\
    (This)->lpVtbl -> GetActiveCategory(This,result)

#define IRsLibraryWnd_Clear(This)	\
    (This)->lpVtbl -> Clear(This)

#define IRsLibraryWnd_SetNoRedrawFlag(This,noRedrawFlag)	\
    (This)->lpVtbl -> SetNoRedrawFlag(This,noRedrawFlag)

#define IRsLibraryWnd_SetTitle(This,lpszTitle)	\
    (This)->lpVtbl -> SetTitle(This,lpszTitle)

#define IRsLibraryWnd_GetCategoryWithPath(This,strPath,result)	\
    (This)->lpVtbl -> GetCategoryWithPath(This,strPath,result)

#define IRsLibraryWnd_SetPath(This,szGraphPath,szEncapsulator)	\
    (This)->lpVtbl -> SetPath(This,szGraphPath,szEncapsulator)

#define IRsLibraryWnd_RemoveItem(This,iLibrary,iItem)	\
    (This)->lpVtbl -> RemoveItem(This,iLibrary,iItem)

#define IRsLibraryWnd_GetCategoryAndItemWithPath(This,strLibPath,strItemPath,resultLib,resultItem)	\
    (This)->lpVtbl -> GetCategoryAndItemWithPath(This,strLibPath,strItemPath,resultLib,resultItem)

#define IRsLibraryWnd_InsertItem(This,categoryIndex,insertIndex,strName,strComment,lpBitmap,strGraphPath,strLCommand,strLDBCommand,bMaskedBitmap,result)	\
    (This)->lpVtbl -> InsertItem(This,categoryIndex,insertIndex,strName,strComment,lpBitmap,strGraphPath,strLCommand,strLDBCommand,bMaskedBitmap,result)

#define IRsLibraryWnd_InsertCategory(This,insertIndex,strName,lpBitmap,strGraphPath,result)	\
    (This)->lpVtbl -> InsertCategory(This,insertIndex,strName,lpBitmap,strGraphPath,result)

#define IRsLibraryWnd_RemoveCategory(This,libraryIndex)	\
    (This)->lpVtbl -> RemoveCategory(This,libraryIndex)

#define IRsLibraryWnd_RenameCategory(This,categoryIndex,strName)	\
    (This)->lpVtbl -> RenameCategory(This,categoryIndex,strName)

#define IRsLibraryWnd_RenameItem(This,categoryIndex,index,strName)	\
    (This)->lpVtbl -> RenameItem(This,categoryIndex,index,strName)

#define IRsLibraryWnd_SetAspect(This,newAspect)	\
    (This)->lpVtbl -> SetAspect(This,newAspect)

#define IRsLibraryWnd_ChangeItemImage(This,categoryIndex,index,bMaskedBitmap,lpBitmap)	\
    (This)->lpVtbl -> ChangeItemImage(This,categoryIndex,index,bMaskedBitmap,lpBitmap)

#define IRsLibraryWnd_ChangeLibraryImage(This,categoryIndex,lpBitmap)	\
    (This)->lpVtbl -> ChangeLibraryImage(This,categoryIndex,lpBitmap)

#define IRsLibraryWnd_ChangeItemHelpText(This,categoryIndex,index,strHelpText)	\
    (This)->lpVtbl -> ChangeItemHelpText(This,categoryIndex,index,strHelpText)

#define IRsLibraryWnd_ChangeItemLClickCommand(This,categoryIndex,index,bNewLCommand)	\
    (This)->lpVtbl -> ChangeItemLClickCommand(This,categoryIndex,index,bNewLCommand)

#define IRsLibraryWnd_ChangeItemLDBClickCommand(This,categoryIndex,index,bNewLDBCommand)	\
    (This)->lpVtbl -> ChangeItemLDBClickCommand(This,categoryIndex,index,bNewLDBCommand)

#define IRsLibraryWnd_SetFrame(This,pFrame)	\
    (This)->lpVtbl -> SetFrame(This,pFrame)

#define IRsLibraryWnd_GetTitle(This,pResult)	\
    (This)->lpVtbl -> GetTitle(This,pResult)

#define IRsLibraryWnd_SetItemBitmapBigSize(This,newVal)	\
    (This)->lpVtbl -> SetItemBitmapBigSize(This,newVal)

#define IRsLibraryWnd_SetItemBitmapSmallSize(This,newVal)	\
    (This)->lpVtbl -> SetItemBitmapSmallSize(This,newVal)

#define IRsLibraryWnd_GetMinimalSize(This,iWidth,iHeight)	\
    (This)->lpVtbl -> GetMinimalSize(This,iWidth,iHeight)

#define IRsLibraryWnd_GetAspect(This,iAspect)	\
    (This)->lpVtbl -> GetAspect(This,iAspect)

#define IRsLibraryWnd_BlockHideWindow(This,bBlock)	\
    (This)->lpVtbl -> BlockHideWindow(This,bBlock)

#define IRsLibraryWnd_IsVisible(This)	\
    (This)->lpVtbl -> IsVisible(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRsLibraryWnd_Show_Proxy( 
    IRsLibraryWnd * This,
    /* [in] */ int iCmdShow);


void __RPC_STUB IRsLibraryWnd_Show_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IRsLibraryWnd_get_ParentNode_Proxy( 
    IRsLibraryWnd * This,
    /* [retval][out] */ IRsUnknownNode **pVal);


void __RPC_STUB IRsLibraryWnd_get_ParentNode_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IRsLibraryWnd_put_ParentNode_Proxy( 
    IRsLibraryWnd * This,
    /* [in] */ IRsUnknownNode *newVal);


void __RPC_STUB IRsLibraryWnd_put_ParentNode_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRsLibraryWnd_Close_Proxy( 
    IRsLibraryWnd * This,
    /* [in] */ int iTypeOfClose);


void __RPC_STUB IRsLibraryWnd_Close_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRsLibraryWnd_SetWindowZPos_Proxy( 
    IRsLibraryWnd * This,
    /* [in] */ HWND hWndInsertAfter);


void __RPC_STUB IRsLibraryWnd_SetWindowZPos_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRsLibraryWnd_Move_Proxy( 
    IRsLibraryWnd * This,
    /* [in] */ RtShort sDeltaX,
    /* [in] */ RtShort sDeltaY);


void __RPC_STUB IRsLibraryWnd_Move_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRsLibraryWnd_Redraw_Proxy( 
    IRsLibraryWnd * This,
    /* [in] */ RtBool bNow);


void __RPC_STUB IRsLibraryWnd_Redraw_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IRsLibraryWnd_get_ShelfState_Proxy( 
    IRsLibraryWnd * This,
    /* [retval][out] */ RtShelfState *pVal);


void __RPC_STUB IRsLibraryWnd_get_ShelfState_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IRsLibraryWnd_put_ShelfState_Proxy( 
    IRsLibraryWnd * This,
    /* [in] */ RtShelfState eState);


void __RPC_STUB IRsLibraryWnd_put_ShelfState_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRsLibraryWnd_AddCategory_Proxy( 
    IRsLibraryWnd * This,
    /* [in] */ BSTR strName,
    /* [in] */ IRdBitmap *lpBitmap,
    /* [in] */ BSTR strGraphPath,
    /* [retval][out] */ int *result);


void __RPC_STUB IRsLibraryWnd_AddCategory_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRsLibraryWnd_DeleteCategory_Proxy( 
    IRsLibraryWnd * This,
    /* [in] */ int index);


void __RPC_STUB IRsLibraryWnd_DeleteCategory_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRsLibraryWnd_AddItem_Proxy( 
    IRsLibraryWnd * This,
    /* [in] */ int categoryIndex,
    /* [in] */ BSTR strName,
    /* [in] */ BSTR strComment,
    /* [in] */ IRdBitmap *lpBitmap,
    /* [in] */ BSTR strGraphPath,
    /* [in] */ BSTR strLCommand,
    /* [in] */ BSTR strLDBCommand,
    /* [in] */ BOOL bMaskedBitmap,
    /* [retval][out] */ int *result);


void __RPC_STUB IRsLibraryWnd_AddItem_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRsLibraryWnd_DeleteItem_Proxy( 
    IRsLibraryWnd * This,
    /* [in] */ int categoryIndex,
    /* [in] */ int index);


void __RPC_STUB IRsLibraryWnd_DeleteItem_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRsLibraryWnd_GetCategoryCount_Proxy( 
    IRsLibraryWnd * This,
    /* [retval][out] */ int *count);


void __RPC_STUB IRsLibraryWnd_GetCategoryCount_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRsLibraryWnd_GetCategoryItemsCount_Proxy( 
    IRsLibraryWnd * This,
    /* [in] */ int categoryIndex,
    /* [retval][out] */ int *count);


void __RPC_STUB IRsLibraryWnd_GetCategoryItemsCount_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRsLibraryWnd_ClearCategory_Proxy( 
    IRsLibraryWnd * This,
    /* [in] */ int category);


void __RPC_STUB IRsLibraryWnd_ClearCategory_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRsLibraryWnd_SetActiveCategory_Proxy( 
    IRsLibraryWnd * This,
    /* [in] */ int index);


void __RPC_STUB IRsLibraryWnd_SetActiveCategory_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRsLibraryWnd_GetActiveCategory_Proxy( 
    IRsLibraryWnd * This,
    /* [retval][out] */ int *result);


void __RPC_STUB IRsLibraryWnd_GetActiveCategory_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRsLibraryWnd_Clear_Proxy( 
    IRsLibraryWnd * This);


void __RPC_STUB IRsLibraryWnd_Clear_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRsLibraryWnd_SetNoRedrawFlag_Proxy( 
    IRsLibraryWnd * This,
    /* [in] */ BOOL noRedrawFlag);


void __RPC_STUB IRsLibraryWnd_SetNoRedrawFlag_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRsLibraryWnd_SetTitle_Proxy( 
    IRsLibraryWnd * This,
    /* [in] */ LPCTSTR lpszTitle);


void __RPC_STUB IRsLibraryWnd_SetTitle_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRsLibraryWnd_GetCategoryWithPath_Proxy( 
    IRsLibraryWnd * This,
    /* [in] */ BSTR strPath,
    /* [retval][out] */ RtUlong *result);


void __RPC_STUB IRsLibraryWnd_GetCategoryWithPath_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRsLibraryWnd_SetPath_Proxy( 
    IRsLibraryWnd * This,
    /* [in] */ BSTR szGraphPath,
    /* [in] */ BSTR szEncapsulator);


void __RPC_STUB IRsLibraryWnd_SetPath_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRsLibraryWnd_RemoveItem_Proxy( 
    IRsLibraryWnd * This,
    /* [in] */ int iLibrary,
    /* [in] */ int iItem);


void __RPC_STUB IRsLibraryWnd_RemoveItem_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRsLibraryWnd_GetCategoryAndItemWithPath_Proxy( 
    IRsLibraryWnd * This,
    /* [in] */ BSTR strLibPath,
    /* [in] */ BSTR strItemPath,
    /* [out] */ RtUlong *resultLib,
    /* [out] */ RtUlong *resultItem);


void __RPC_STUB IRsLibraryWnd_GetCategoryAndItemWithPath_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRsLibraryWnd_InsertItem_Proxy( 
    IRsLibraryWnd * This,
    /* [in] */ int categoryIndex,
    /* [in] */ int insertIndex,
    /* [in] */ BSTR strName,
    /* [in] */ BSTR strComment,
    /* [in] */ IRdBitmap *lpBitmap,
    /* [in] */ BSTR strGraphPath,
    /* [in] */ BSTR strLCommand,
    /* [in] */ BSTR strLDBCommand,
    /* [in] */ BOOL bMaskedBitmap,
    /* [retval][out] */ int *result);


void __RPC_STUB IRsLibraryWnd_InsertItem_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRsLibraryWnd_InsertCategory_Proxy( 
    IRsLibraryWnd * This,
    /* [in] */ int insertIndex,
    /* [in] */ BSTR strName,
    /* [in] */ IRdBitmap *lpBitmap,
    /* [in] */ BSTR strGraphPath,
    /* [retval][out] */ int *result);


void __RPC_STUB IRsLibraryWnd_InsertCategory_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRsLibraryWnd_RemoveCategory_Proxy( 
    IRsLibraryWnd * This,
    /* [in] */ int libraryIndex);


void __RPC_STUB IRsLibraryWnd_RemoveCategory_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRsLibraryWnd_RenameCategory_Proxy( 
    IRsLibraryWnd * This,
    /* [in] */ int categoryIndex,
    /* [in] */ BSTR strName);


void __RPC_STUB IRsLibraryWnd_RenameCategory_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRsLibraryWnd_RenameItem_Proxy( 
    IRsLibraryWnd * This,
    /* [in] */ int categoryIndex,
    /* [in] */ int index,
    /* [in] */ BSTR strName);


void __RPC_STUB IRsLibraryWnd_RenameItem_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRsLibraryWnd_SetAspect_Proxy( 
    IRsLibraryWnd * This,
    /* [in] */ int newAspect);


void __RPC_STUB IRsLibraryWnd_SetAspect_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRsLibraryWnd_ChangeItemImage_Proxy( 
    IRsLibraryWnd * This,
    /* [in] */ int categoryIndex,
    /* [in] */ int index,
    /* [in] */ RtBool bMaskedBitmap,
    /* [in] */ IRdBitmap *lpBitmap);


void __RPC_STUB IRsLibraryWnd_ChangeItemImage_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRsLibraryWnd_ChangeLibraryImage_Proxy( 
    IRsLibraryWnd * This,
    /* [in] */ int categoryIndex,
    /* [in] */ IRdBitmap *lpBitmap);


void __RPC_STUB IRsLibraryWnd_ChangeLibraryImage_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRsLibraryWnd_ChangeItemHelpText_Proxy( 
    IRsLibraryWnd * This,
    /* [in] */ int categoryIndex,
    /* [in] */ int index,
    /* [in] */ BSTR strHelpText);


void __RPC_STUB IRsLibraryWnd_ChangeItemHelpText_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRsLibraryWnd_ChangeItemLClickCommand_Proxy( 
    IRsLibraryWnd * This,
    /* [in] */ int categoryIndex,
    /* [in] */ int index,
    /* [in] */ BSTR bNewLCommand);


void __RPC_STUB IRsLibraryWnd_ChangeItemLClickCommand_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRsLibraryWnd_ChangeItemLDBClickCommand_Proxy( 
    IRsLibraryWnd * This,
    /* [in] */ int categoryIndex,
    /* [in] */ int index,
    /* [in] */ BSTR bNewLDBCommand);


void __RPC_STUB IRsLibraryWnd_ChangeItemLDBClickCommand_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRsLibraryWnd_SetFrame_Proxy( 
    IRsLibraryWnd * This,
    /* [in] */ IRsNode *pFrame);


void __RPC_STUB IRsLibraryWnd_SetFrame_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRsLibraryWnd_GetTitle_Proxy( 
    IRsLibraryWnd * This,
    /* [retval][out] */ BSTR *pResult);


void __RPC_STUB IRsLibraryWnd_GetTitle_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRsLibraryWnd_SetItemBitmapBigSize_Proxy( 
    IRsLibraryWnd * This,
    /* [in] */ SIZE newVal);


void __RPC_STUB IRsLibraryWnd_SetItemBitmapBigSize_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRsLibraryWnd_SetItemBitmapSmallSize_Proxy( 
    IRsLibraryWnd * This,
    /* [in] */ SIZE newVal);


void __RPC_STUB IRsLibraryWnd_SetItemBitmapSmallSize_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRsLibraryWnd_GetMinimalSize_Proxy( 
    IRsLibraryWnd * This,
    /* [out] */ int *iWidth,
    /* [out] */ int *iHeight);


void __RPC_STUB IRsLibraryWnd_GetMinimalSize_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRsLibraryWnd_GetAspect_Proxy( 
    IRsLibraryWnd * This,
    /* [retval][out] */ int *iAspect);


void __RPC_STUB IRsLibraryWnd_GetAspect_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRsLibraryWnd_BlockHideWindow_Proxy( 
    IRsLibraryWnd * This,
    /* [in] */ RtBool bBlock);


void __RPC_STUB IRsLibraryWnd_BlockHideWindow_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRsLibraryWnd_IsVisible_Proxy( 
    IRsLibraryWnd * This);


void __RPC_STUB IRsLibraryWnd_IsVisible_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsLibraryWnd_INTERFACE_DEFINED__ */


#ifndef __IRnSubLibraryOutlookWindow_INTERFACE_DEFINED__
#define __IRnSubLibraryOutlookWindow_INTERFACE_DEFINED__

/* interface IRnSubLibraryOutlookWindow */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnSubLibraryOutlookWindow;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("356B4B8A-4382-464e-BE0D-909315B8EB0E")
    IRnSubLibraryOutlookWindow : public IUnknown
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Name( 
            /* [in] */ BSTR newVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_LibraryName( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_LibraryName( 
            /* [in] */ BSTR newVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_HelpText( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_HelpText( 
            /* [in] */ BSTR newVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_LibraryEncPath( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_LibraryEncPath( 
            /* [in] */ BSTR newVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetLibraryWindow( 
            /* [retval][out] */ IRsLibraryWnd **result) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRnSubLibraryOutlookWindowVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnSubLibraryOutlookWindow * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnSubLibraryOutlookWindow * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnSubLibraryOutlookWindow * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IRnSubLibraryOutlookWindow * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Name )( 
            IRnSubLibraryOutlookWindow * This,
            /* [in] */ BSTR newVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LibraryName )( 
            IRnSubLibraryOutlookWindow * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LibraryName )( 
            IRnSubLibraryOutlookWindow * This,
            /* [in] */ BSTR newVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HelpText )( 
            IRnSubLibraryOutlookWindow * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_HelpText )( 
            IRnSubLibraryOutlookWindow * This,
            /* [in] */ BSTR newVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LibraryEncPath )( 
            IRnSubLibraryOutlookWindow * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LibraryEncPath )( 
            IRnSubLibraryOutlookWindow * This,
            /* [in] */ BSTR newVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetLibraryWindow )( 
            IRnSubLibraryOutlookWindow * This,
            /* [retval][out] */ IRsLibraryWnd **result);
        
        END_INTERFACE
    } IRnSubLibraryOutlookWindowVtbl;

    interface IRnSubLibraryOutlookWindow
    {
        CONST_VTBL struct IRnSubLibraryOutlookWindowVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnSubLibraryOutlookWindow_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnSubLibraryOutlookWindow_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnSubLibraryOutlookWindow_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRnSubLibraryOutlookWindow_get_Name(This,pVal)	\
    (This)->lpVtbl -> get_Name(This,pVal)

#define IRnSubLibraryOutlookWindow_put_Name(This,newVal)	\
    (This)->lpVtbl -> put_Name(This,newVal)

#define IRnSubLibraryOutlookWindow_get_LibraryName(This,pVal)	\
    (This)->lpVtbl -> get_LibraryName(This,pVal)

#define IRnSubLibraryOutlookWindow_put_LibraryName(This,newVal)	\
    (This)->lpVtbl -> put_LibraryName(This,newVal)

#define IRnSubLibraryOutlookWindow_get_HelpText(This,pVal)	\
    (This)->lpVtbl -> get_HelpText(This,pVal)

#define IRnSubLibraryOutlookWindow_put_HelpText(This,newVal)	\
    (This)->lpVtbl -> put_HelpText(This,newVal)

#define IRnSubLibraryOutlookWindow_get_LibraryEncPath(This,pVal)	\
    (This)->lpVtbl -> get_LibraryEncPath(This,pVal)

#define IRnSubLibraryOutlookWindow_put_LibraryEncPath(This,newVal)	\
    (This)->lpVtbl -> put_LibraryEncPath(This,newVal)

#define IRnSubLibraryOutlookWindow_GetLibraryWindow(This,result)	\
    (This)->lpVtbl -> GetLibraryWindow(This,result)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRnSubLibraryOutlookWindow_get_Name_Proxy( 
    IRnSubLibraryOutlookWindow * This,
    /* [retval][out] */ BSTR *pVal);


void __RPC_STUB IRnSubLibraryOutlookWindow_get_Name_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRnSubLibraryOutlookWindow_put_Name_Proxy( 
    IRnSubLibraryOutlookWindow * This,
    /* [in] */ BSTR newVal);


void __RPC_STUB IRnSubLibraryOutlookWindow_put_Name_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRnSubLibraryOutlookWindow_get_LibraryName_Proxy( 
    IRnSubLibraryOutlookWindow * This,
    /* [retval][out] */ BSTR *pVal);


void __RPC_STUB IRnSubLibraryOutlookWindow_get_LibraryName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRnSubLibraryOutlookWindow_put_LibraryName_Proxy( 
    IRnSubLibraryOutlookWindow * This,
    /* [in] */ BSTR newVal);


void __RPC_STUB IRnSubLibraryOutlookWindow_put_LibraryName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRnSubLibraryOutlookWindow_get_HelpText_Proxy( 
    IRnSubLibraryOutlookWindow * This,
    /* [retval][out] */ BSTR *pVal);


void __RPC_STUB IRnSubLibraryOutlookWindow_get_HelpText_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRnSubLibraryOutlookWindow_put_HelpText_Proxy( 
    IRnSubLibraryOutlookWindow * This,
    /* [in] */ BSTR newVal);


void __RPC_STUB IRnSubLibraryOutlookWindow_put_HelpText_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRnSubLibraryOutlookWindow_get_LibraryEncPath_Proxy( 
    IRnSubLibraryOutlookWindow * This,
    /* [retval][out] */ BSTR *pVal);


void __RPC_STUB IRnSubLibraryOutlookWindow_get_LibraryEncPath_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRnSubLibraryOutlookWindow_put_LibraryEncPath_Proxy( 
    IRnSubLibraryOutlookWindow * This,
    /* [in] */ BSTR newVal);


void __RPC_STUB IRnSubLibraryOutlookWindow_put_LibraryEncPath_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnSubLibraryOutlookWindow_GetLibraryWindow_Proxy( 
    IRnSubLibraryOutlookWindow * This,
    /* [retval][out] */ IRsLibraryWnd **result);


void __RPC_STUB IRnSubLibraryOutlookWindow_GetLibraryWindow_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRnSubLibraryOutlookWindow_INTERFACE_DEFINED__ */


#ifndef __IRnSubLibraryVisualEncapulator_INTERFACE_DEFINED__
#define __IRnSubLibraryVisualEncapulator_INTERFACE_DEFINED__

/* interface IRnSubLibraryVisualEncapulator */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnSubLibraryVisualEncapulator;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("A2479A2C-C93B-4c5b-9025-D93BEF019A46")
    IRnSubLibraryVisualEncapulator : public IUnknown
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Path( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Path( 
            /* [in] */ BSTR newVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Visible( 
            /* [retval][out] */ RtBool *pVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ShowHead( 
            /* [retval][out] */ RtBool *pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_ShowHead( 
            /* [in] */ RtBool newVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ShowTail( 
            /* [retval][out] */ RtBool *pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_ShowTail( 
            /* [in] */ RtBool newVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ShowControls( 
            /* [retval][out] */ RtBool *pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_ShowControls( 
            /* [in] */ RtBool newVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Name( 
            /* [in] */ BSTR newVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_HelpText( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_HelpText( 
            /* [in] */ BSTR newVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Aspect( 
            /* [retval][out] */ RtUlong *pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Aspect( 
            /* [in] */ RtUlong newVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Type( 
            /* [retval][out] */ RtLibraryType *pVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_OpennedCategory( 
            /* [retval][out] */ RtLong *pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_OpennedCategory( 
            /* [in] */ RtLong newVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddItemToSublibrary( 
            /* [in] */ BSTR path,
            /* [in] */ IRsNode *pVal,
            /* [in] */ int insertIndex,
            /* [retval][out] */ IRnLibraryItem **pLibraryItem) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddLibraryToTopLibrary( 
            /* [in] */ IRsNode *pLibrary,
            /* [in] */ int insertIndex) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddSublibrary( 
            /* [in] */ BSTR szName,
            /* [in] */ RtLibraryType iType,
            /* [in] */ int iIndex,
            /* [retval][out] */ IRsNode **pLibrary) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE DeleteItemFromLibrary( 
            /* [in] */ BSTR libPath,
            /* [in] */ BSTR itemPath) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RenameSublibrary( 
            /* [in] */ BSTR bLibPath,
            /* [in] */ BSTR bNewName) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ChangeLibraryImage( 
            /* [in] */ BSTR bLibPath,
            /* [in] */ IRdBitmap *lpBitmap) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RenameItem( 
            /* [in] */ BSTR bLibPath,
            /* [in] */ BSTR itemPath,
            /* [in] */ BSTR bNewName) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ChangeItemHelpText( 
            /* [in] */ BSTR bLibPath,
            /* [in] */ BSTR itemPath,
            /* [in] */ BSTR bNewHelpText) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ChangeItemImage( 
            /* [in] */ BSTR bLibPath,
            /* [in] */ BSTR itemPath,
            /* [in] */ RtBool bMaskedBitmap,
            /* [in] */ IRdBitmap *lpBitmap) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ChangeItemLClickCommand( 
            /* [in] */ BSTR bLibPath,
            /* [in] */ BSTR itemPath,
            /* [in] */ BSTR bNewLCommand) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ChangeItemLDBClickCommand( 
            /* [in] */ BSTR bLibPath,
            /* [in] */ BSTR itemPath,
            /* [in] */ BSTR bNewLDBCommand) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE DeleteSubLibraryFromLibrary( 
            /* [in] */ BSTR libPath) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Position( 
            /* [retval][out] */ POINT *pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Position( 
            /* [in] */ POINT newVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Size( 
            /* [retval][out] */ POINT *pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Size( 
            /* [in] */ POINT newVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Filled( 
            /* [in] */ RtBool newVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ShowLibrary( 
            /* [in] */ IRnEncapsulator *pWinMng) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE HideLibrary( 
            /* [in] */ IRnEncapsulator *pWinMng) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE InitializeWithLibrary( 
            /* [in] */ BSTR libraryPath) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ChangeLibraryItemIndex( 
            /* [in] */ BSTR libraryItemPath,
            /* [in] */ RtUlong index) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ChangeLibraryIndex( 
            /* [in] */ BSTR libraryPath,
            /* [in] */ RtUlong index) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE InitializeWithOutlookNode( 
            /* [in] */ IRsNode *pNode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetFrameWindow( 
            /* [in] */ IRsNode **lpNode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CloseWindow( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetLibraryWnd( 
            /* [in] */ IRsNode *pNode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetItemImage( 
            /* [in] */ BSTR bLibPath,
            /* [in] */ BSTR itemPath,
            /* [in] */ RtBool *bMaskedBitmap,
            /* [in] */ IRdBitmap **lpBitmap) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRnSubLibraryVisualEncapulatorVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnSubLibraryVisualEncapulator * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnSubLibraryVisualEncapulator * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnSubLibraryVisualEncapulator * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Path )( 
            IRnSubLibraryVisualEncapulator * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Path )( 
            IRnSubLibraryVisualEncapulator * This,
            /* [in] */ BSTR newVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Visible )( 
            IRnSubLibraryVisualEncapulator * This,
            /* [retval][out] */ RtBool *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ShowHead )( 
            IRnSubLibraryVisualEncapulator * This,
            /* [retval][out] */ RtBool *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ShowHead )( 
            IRnSubLibraryVisualEncapulator * This,
            /* [in] */ RtBool newVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ShowTail )( 
            IRnSubLibraryVisualEncapulator * This,
            /* [retval][out] */ RtBool *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ShowTail )( 
            IRnSubLibraryVisualEncapulator * This,
            /* [in] */ RtBool newVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ShowControls )( 
            IRnSubLibraryVisualEncapulator * This,
            /* [retval][out] */ RtBool *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ShowControls )( 
            IRnSubLibraryVisualEncapulator * This,
            /* [in] */ RtBool newVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IRnSubLibraryVisualEncapulator * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Name )( 
            IRnSubLibraryVisualEncapulator * This,
            /* [in] */ BSTR newVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HelpText )( 
            IRnSubLibraryVisualEncapulator * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_HelpText )( 
            IRnSubLibraryVisualEncapulator * This,
            /* [in] */ BSTR newVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Aspect )( 
            IRnSubLibraryVisualEncapulator * This,
            /* [retval][out] */ RtUlong *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Aspect )( 
            IRnSubLibraryVisualEncapulator * This,
            /* [in] */ RtUlong newVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            IRnSubLibraryVisualEncapulator * This,
            /* [retval][out] */ RtLibraryType *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_OpennedCategory )( 
            IRnSubLibraryVisualEncapulator * This,
            /* [retval][out] */ RtLong *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_OpennedCategory )( 
            IRnSubLibraryVisualEncapulator * This,
            /* [in] */ RtLong newVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddItemToSublibrary )( 
            IRnSubLibraryVisualEncapulator * This,
            /* [in] */ BSTR path,
            /* [in] */ IRsNode *pVal,
            /* [in] */ int insertIndex,
            /* [retval][out] */ IRnLibraryItem **pLibraryItem);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddLibraryToTopLibrary )( 
            IRnSubLibraryVisualEncapulator * This,
            /* [in] */ IRsNode *pLibrary,
            /* [in] */ int insertIndex);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddSublibrary )( 
            IRnSubLibraryVisualEncapulator * This,
            /* [in] */ BSTR szName,
            /* [in] */ RtLibraryType iType,
            /* [in] */ int iIndex,
            /* [retval][out] */ IRsNode **pLibrary);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *DeleteItemFromLibrary )( 
            IRnSubLibraryVisualEncapulator * This,
            /* [in] */ BSTR libPath,
            /* [in] */ BSTR itemPath);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RenameSublibrary )( 
            IRnSubLibraryVisualEncapulator * This,
            /* [in] */ BSTR bLibPath,
            /* [in] */ BSTR bNewName);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ChangeLibraryImage )( 
            IRnSubLibraryVisualEncapulator * This,
            /* [in] */ BSTR bLibPath,
            /* [in] */ IRdBitmap *lpBitmap);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RenameItem )( 
            IRnSubLibraryVisualEncapulator * This,
            /* [in] */ BSTR bLibPath,
            /* [in] */ BSTR itemPath,
            /* [in] */ BSTR bNewName);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ChangeItemHelpText )( 
            IRnSubLibraryVisualEncapulator * This,
            /* [in] */ BSTR bLibPath,
            /* [in] */ BSTR itemPath,
            /* [in] */ BSTR bNewHelpText);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ChangeItemImage )( 
            IRnSubLibraryVisualEncapulator * This,
            /* [in] */ BSTR bLibPath,
            /* [in] */ BSTR itemPath,
            /* [in] */ RtBool bMaskedBitmap,
            /* [in] */ IRdBitmap *lpBitmap);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ChangeItemLClickCommand )( 
            IRnSubLibraryVisualEncapulator * This,
            /* [in] */ BSTR bLibPath,
            /* [in] */ BSTR itemPath,
            /* [in] */ BSTR bNewLCommand);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ChangeItemLDBClickCommand )( 
            IRnSubLibraryVisualEncapulator * This,
            /* [in] */ BSTR bLibPath,
            /* [in] */ BSTR itemPath,
            /* [in] */ BSTR bNewLDBCommand);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *DeleteSubLibraryFromLibrary )( 
            IRnSubLibraryVisualEncapulator * This,
            /* [in] */ BSTR libPath);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Position )( 
            IRnSubLibraryVisualEncapulator * This,
            /* [retval][out] */ POINT *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Position )( 
            IRnSubLibraryVisualEncapulator * This,
            /* [in] */ POINT newVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Size )( 
            IRnSubLibraryVisualEncapulator * This,
            /* [retval][out] */ POINT *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Size )( 
            IRnSubLibraryVisualEncapulator * This,
            /* [in] */ POINT newVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Filled )( 
            IRnSubLibraryVisualEncapulator * This,
            /* [in] */ RtBool newVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ShowLibrary )( 
            IRnSubLibraryVisualEncapulator * This,
            /* [in] */ IRnEncapsulator *pWinMng);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *HideLibrary )( 
            IRnSubLibraryVisualEncapulator * This,
            /* [in] */ IRnEncapsulator *pWinMng);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *InitializeWithLibrary )( 
            IRnSubLibraryVisualEncapulator * This,
            /* [in] */ BSTR libraryPath);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ChangeLibraryItemIndex )( 
            IRnSubLibraryVisualEncapulator * This,
            /* [in] */ BSTR libraryItemPath,
            /* [in] */ RtUlong index);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ChangeLibraryIndex )( 
            IRnSubLibraryVisualEncapulator * This,
            /* [in] */ BSTR libraryPath,
            /* [in] */ RtUlong index);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *InitializeWithOutlookNode )( 
            IRnSubLibraryVisualEncapulator * This,
            /* [in] */ IRsNode *pNode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetFrameWindow )( 
            IRnSubLibraryVisualEncapulator * This,
            /* [in] */ IRsNode **lpNode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CloseWindow )( 
            IRnSubLibraryVisualEncapulator * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetLibraryWnd )( 
            IRnSubLibraryVisualEncapulator * This,
            /* [in] */ IRsNode *pNode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetItemImage )( 
            IRnSubLibraryVisualEncapulator * This,
            /* [in] */ BSTR bLibPath,
            /* [in] */ BSTR itemPath,
            /* [in] */ RtBool *bMaskedBitmap,
            /* [in] */ IRdBitmap **lpBitmap);
        
        END_INTERFACE
    } IRnSubLibraryVisualEncapulatorVtbl;

    interface IRnSubLibraryVisualEncapulator
    {
        CONST_VTBL struct IRnSubLibraryVisualEncapulatorVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnSubLibraryVisualEncapulator_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnSubLibraryVisualEncapulator_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnSubLibraryVisualEncapulator_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRnSubLibraryVisualEncapulator_get_Path(This,pVal)	\
    (This)->lpVtbl -> get_Path(This,pVal)

#define IRnSubLibraryVisualEncapulator_put_Path(This,newVal)	\
    (This)->lpVtbl -> put_Path(This,newVal)

#define IRnSubLibraryVisualEncapulator_get_Visible(This,pVal)	\
    (This)->lpVtbl -> get_Visible(This,pVal)

#define IRnSubLibraryVisualEncapulator_get_ShowHead(This,pVal)	\
    (This)->lpVtbl -> get_ShowHead(This,pVal)

#define IRnSubLibraryVisualEncapulator_put_ShowHead(This,newVal)	\
    (This)->lpVtbl -> put_ShowHead(This,newVal)

#define IRnSubLibraryVisualEncapulator_get_ShowTail(This,pVal)	\
    (This)->lpVtbl -> get_ShowTail(This,pVal)

#define IRnSubLibraryVisualEncapulator_put_ShowTail(This,newVal)	\
    (This)->lpVtbl -> put_ShowTail(This,newVal)

#define IRnSubLibraryVisualEncapulator_get_ShowControls(This,pVal)	\
    (This)->lpVtbl -> get_ShowControls(This,pVal)

#define IRnSubLibraryVisualEncapulator_put_ShowControls(This,newVal)	\
    (This)->lpVtbl -> put_ShowControls(This,newVal)

#define IRnSubLibraryVisualEncapulator_get_Name(This,pVal)	\
    (This)->lpVtbl -> get_Name(This,pVal)

#define IRnSubLibraryVisualEncapulator_put_Name(This,newVal)	\
    (This)->lpVtbl -> put_Name(This,newVal)

#define IRnSubLibraryVisualEncapulator_get_HelpText(This,pVal)	\
    (This)->lpVtbl -> get_HelpText(This,pVal)

#define IRnSubLibraryVisualEncapulator_put_HelpText(This,newVal)	\
    (This)->lpVtbl -> put_HelpText(This,newVal)

#define IRnSubLibraryVisualEncapulator_get_Aspect(This,pVal)	\
    (This)->lpVtbl -> get_Aspect(This,pVal)

#define IRnSubLibraryVisualEncapulator_put_Aspect(This,newVal)	\
    (This)->lpVtbl -> put_Aspect(This,newVal)

#define IRnSubLibraryVisualEncapulator_get_Type(This,pVal)	\
    (This)->lpVtbl -> get_Type(This,pVal)

#define IRnSubLibraryVisualEncapulator_get_OpennedCategory(This,pVal)	\
    (This)->lpVtbl -> get_OpennedCategory(This,pVal)

#define IRnSubLibraryVisualEncapulator_put_OpennedCategory(This,newVal)	\
    (This)->lpVtbl -> put_OpennedCategory(This,newVal)

#define IRnSubLibraryVisualEncapulator_AddItemToSublibrary(This,path,pVal,insertIndex,pLibraryItem)	\
    (This)->lpVtbl -> AddItemToSublibrary(This,path,pVal,insertIndex,pLibraryItem)

#define IRnSubLibraryVisualEncapulator_AddLibraryToTopLibrary(This,pLibrary,insertIndex)	\
    (This)->lpVtbl -> AddLibraryToTopLibrary(This,pLibrary,insertIndex)

#define IRnSubLibraryVisualEncapulator_AddSublibrary(This,szName,iType,iIndex,pLibrary)	\
    (This)->lpVtbl -> AddSublibrary(This,szName,iType,iIndex,pLibrary)

#define IRnSubLibraryVisualEncapulator_DeleteItemFromLibrary(This,libPath,itemPath)	\
    (This)->lpVtbl -> DeleteItemFromLibrary(This,libPath,itemPath)

#define IRnSubLibraryVisualEncapulator_RenameSublibrary(This,bLibPath,bNewName)	\
    (This)->lpVtbl -> RenameSublibrary(This,bLibPath,bNewName)

#define IRnSubLibraryVisualEncapulator_ChangeLibraryImage(This,bLibPath,lpBitmap)	\
    (This)->lpVtbl -> ChangeLibraryImage(This,bLibPath,lpBitmap)

#define IRnSubLibraryVisualEncapulator_RenameItem(This,bLibPath,itemPath,bNewName)	\
    (This)->lpVtbl -> RenameItem(This,bLibPath,itemPath,bNewName)

#define IRnSubLibraryVisualEncapulator_ChangeItemHelpText(This,bLibPath,itemPath,bNewHelpText)	\
    (This)->lpVtbl -> ChangeItemHelpText(This,bLibPath,itemPath,bNewHelpText)

#define IRnSubLibraryVisualEncapulator_ChangeItemImage(This,bLibPath,itemPath,bMaskedBitmap,lpBitmap)	\
    (This)->lpVtbl -> ChangeItemImage(This,bLibPath,itemPath,bMaskedBitmap,lpBitmap)

#define IRnSubLibraryVisualEncapulator_ChangeItemLClickCommand(This,bLibPath,itemPath,bNewLCommand)	\
    (This)->lpVtbl -> ChangeItemLClickCommand(This,bLibPath,itemPath,bNewLCommand)

#define IRnSubLibraryVisualEncapulator_ChangeItemLDBClickCommand(This,bLibPath,itemPath,bNewLDBCommand)	\
    (This)->lpVtbl -> ChangeItemLDBClickCommand(This,bLibPath,itemPath,bNewLDBCommand)

#define IRnSubLibraryVisualEncapulator_DeleteSubLibraryFromLibrary(This,libPath)	\
    (This)->lpVtbl -> DeleteSubLibraryFromLibrary(This,libPath)

#define IRnSubLibraryVisualEncapulator_get_Position(This,pVal)	\
    (This)->lpVtbl -> get_Position(This,pVal)

#define IRnSubLibraryVisualEncapulator_put_Position(This,newVal)	\
    (This)->lpVtbl -> put_Position(This,newVal)

#define IRnSubLibraryVisualEncapulator_get_Size(This,pVal)	\
    (This)->lpVtbl -> get_Size(This,pVal)

#define IRnSubLibraryVisualEncapulator_put_Size(This,newVal)	\
    (This)->lpVtbl -> put_Size(This,newVal)

#define IRnSubLibraryVisualEncapulator_put_Filled(This,newVal)	\
    (This)->lpVtbl -> put_Filled(This,newVal)

#define IRnSubLibraryVisualEncapulator_ShowLibrary(This,pWinMng)	\
    (This)->lpVtbl -> ShowLibrary(This,pWinMng)

#define IRnSubLibraryVisualEncapulator_HideLibrary(This,pWinMng)	\
    (This)->lpVtbl -> HideLibrary(This,pWinMng)

#define IRnSubLibraryVisualEncapulator_InitializeWithLibrary(This,libraryPath)	\
    (This)->lpVtbl -> InitializeWithLibrary(This,libraryPath)

#define IRnSubLibraryVisualEncapulator_ChangeLibraryItemIndex(This,libraryItemPath,index)	\
    (This)->lpVtbl -> ChangeLibraryItemIndex(This,libraryItemPath,index)

#define IRnSubLibraryVisualEncapulator_ChangeLibraryIndex(This,libraryPath,index)	\
    (This)->lpVtbl -> ChangeLibraryIndex(This,libraryPath,index)

#define IRnSubLibraryVisualEncapulator_InitializeWithOutlookNode(This,pNode)	\
    (This)->lpVtbl -> InitializeWithOutlookNode(This,pNode)

#define IRnSubLibraryVisualEncapulator_GetFrameWindow(This,lpNode)	\
    (This)->lpVtbl -> GetFrameWindow(This,lpNode)

#define IRnSubLibraryVisualEncapulator_CloseWindow(This)	\
    (This)->lpVtbl -> CloseWindow(This)

#define IRnSubLibraryVisualEncapulator_SetLibraryWnd(This,pNode)	\
    (This)->lpVtbl -> SetLibraryWnd(This,pNode)

#define IRnSubLibraryVisualEncapulator_GetItemImage(This,bLibPath,itemPath,bMaskedBitmap,lpBitmap)	\
    (This)->lpVtbl -> GetItemImage(This,bLibPath,itemPath,bMaskedBitmap,lpBitmap)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRnSubLibraryVisualEncapulator_get_Path_Proxy( 
    IRnSubLibraryVisualEncapulator * This,
    /* [retval][out] */ BSTR *pVal);


void __RPC_STUB IRnSubLibraryVisualEncapulator_get_Path_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRnSubLibraryVisualEncapulator_put_Path_Proxy( 
    IRnSubLibraryVisualEncapulator * This,
    /* [in] */ BSTR newVal);


void __RPC_STUB IRnSubLibraryVisualEncapulator_put_Path_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRnSubLibraryVisualEncapulator_get_Visible_Proxy( 
    IRnSubLibraryVisualEncapulator * This,
    /* [retval][out] */ RtBool *pVal);


void __RPC_STUB IRnSubLibraryVisualEncapulator_get_Visible_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRnSubLibraryVisualEncapulator_get_ShowHead_Proxy( 
    IRnSubLibraryVisualEncapulator * This,
    /* [retval][out] */ RtBool *pVal);


void __RPC_STUB IRnSubLibraryVisualEncapulator_get_ShowHead_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRnSubLibraryVisualEncapulator_put_ShowHead_Proxy( 
    IRnSubLibraryVisualEncapulator * This,
    /* [in] */ RtBool newVal);


void __RPC_STUB IRnSubLibraryVisualEncapulator_put_ShowHead_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRnSubLibraryVisualEncapulator_get_ShowTail_Proxy( 
    IRnSubLibraryVisualEncapulator * This,
    /* [retval][out] */ RtBool *pVal);


void __RPC_STUB IRnSubLibraryVisualEncapulator_get_ShowTail_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRnSubLibraryVisualEncapulator_put_ShowTail_Proxy( 
    IRnSubLibraryVisualEncapulator * This,
    /* [in] */ RtBool newVal);


void __RPC_STUB IRnSubLibraryVisualEncapulator_put_ShowTail_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRnSubLibraryVisualEncapulator_get_ShowControls_Proxy( 
    IRnSubLibraryVisualEncapulator * This,
    /* [retval][out] */ RtBool *pVal);


void __RPC_STUB IRnSubLibraryVisualEncapulator_get_ShowControls_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRnSubLibraryVisualEncapulator_put_ShowControls_Proxy( 
    IRnSubLibraryVisualEncapulator * This,
    /* [in] */ RtBool newVal);


void __RPC_STUB IRnSubLibraryVisualEncapulator_put_ShowControls_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRnSubLibraryVisualEncapulator_get_Name_Proxy( 
    IRnSubLibraryVisualEncapulator * This,
    /* [retval][out] */ BSTR *pVal);


void __RPC_STUB IRnSubLibraryVisualEncapulator_get_Name_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRnSubLibraryVisualEncapulator_put_Name_Proxy( 
    IRnSubLibraryVisualEncapulator * This,
    /* [in] */ BSTR newVal);


void __RPC_STUB IRnSubLibraryVisualEncapulator_put_Name_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRnSubLibraryVisualEncapulator_get_HelpText_Proxy( 
    IRnSubLibraryVisualEncapulator * This,
    /* [retval][out] */ BSTR *pVal);


void __RPC_STUB IRnSubLibraryVisualEncapulator_get_HelpText_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRnSubLibraryVisualEncapulator_put_HelpText_Proxy( 
    IRnSubLibraryVisualEncapulator * This,
    /* [in] */ BSTR newVal);


void __RPC_STUB IRnSubLibraryVisualEncapulator_put_HelpText_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRnSubLibraryVisualEncapulator_get_Aspect_Proxy( 
    IRnSubLibraryVisualEncapulator * This,
    /* [retval][out] */ RtUlong *pVal);


void __RPC_STUB IRnSubLibraryVisualEncapulator_get_Aspect_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRnSubLibraryVisualEncapulator_put_Aspect_Proxy( 
    IRnSubLibraryVisualEncapulator * This,
    /* [in] */ RtUlong newVal);


void __RPC_STUB IRnSubLibraryVisualEncapulator_put_Aspect_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRnSubLibraryVisualEncapulator_get_Type_Proxy( 
    IRnSubLibraryVisualEncapulator * This,
    /* [retval][out] */ RtLibraryType *pVal);


void __RPC_STUB IRnSubLibraryVisualEncapulator_get_Type_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRnSubLibraryVisualEncapulator_get_OpennedCategory_Proxy( 
    IRnSubLibraryVisualEncapulator * This,
    /* [retval][out] */ RtLong *pVal);


void __RPC_STUB IRnSubLibraryVisualEncapulator_get_OpennedCategory_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRnSubLibraryVisualEncapulator_put_OpennedCategory_Proxy( 
    IRnSubLibraryVisualEncapulator * This,
    /* [in] */ RtLong newVal);


void __RPC_STUB IRnSubLibraryVisualEncapulator_put_OpennedCategory_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnSubLibraryVisualEncapulator_AddItemToSublibrary_Proxy( 
    IRnSubLibraryVisualEncapulator * This,
    /* [in] */ BSTR path,
    /* [in] */ IRsNode *pVal,
    /* [in] */ int insertIndex,
    /* [retval][out] */ IRnLibraryItem **pLibraryItem);


void __RPC_STUB IRnSubLibraryVisualEncapulator_AddItemToSublibrary_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnSubLibraryVisualEncapulator_AddLibraryToTopLibrary_Proxy( 
    IRnSubLibraryVisualEncapulator * This,
    /* [in] */ IRsNode *pLibrary,
    /* [in] */ int insertIndex);


void __RPC_STUB IRnSubLibraryVisualEncapulator_AddLibraryToTopLibrary_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnSubLibraryVisualEncapulator_AddSublibrary_Proxy( 
    IRnSubLibraryVisualEncapulator * This,
    /* [in] */ BSTR szName,
    /* [in] */ RtLibraryType iType,
    /* [in] */ int iIndex,
    /* [retval][out] */ IRsNode **pLibrary);


void __RPC_STUB IRnSubLibraryVisualEncapulator_AddSublibrary_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnSubLibraryVisualEncapulator_DeleteItemFromLibrary_Proxy( 
    IRnSubLibraryVisualEncapulator * This,
    /* [in] */ BSTR libPath,
    /* [in] */ BSTR itemPath);


void __RPC_STUB IRnSubLibraryVisualEncapulator_DeleteItemFromLibrary_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnSubLibraryVisualEncapulator_RenameSublibrary_Proxy( 
    IRnSubLibraryVisualEncapulator * This,
    /* [in] */ BSTR bLibPath,
    /* [in] */ BSTR bNewName);


void __RPC_STUB IRnSubLibraryVisualEncapulator_RenameSublibrary_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnSubLibraryVisualEncapulator_ChangeLibraryImage_Proxy( 
    IRnSubLibraryVisualEncapulator * This,
    /* [in] */ BSTR bLibPath,
    /* [in] */ IRdBitmap *lpBitmap);


void __RPC_STUB IRnSubLibraryVisualEncapulator_ChangeLibraryImage_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnSubLibraryVisualEncapulator_RenameItem_Proxy( 
    IRnSubLibraryVisualEncapulator * This,
    /* [in] */ BSTR bLibPath,
    /* [in] */ BSTR itemPath,
    /* [in] */ BSTR bNewName);


void __RPC_STUB IRnSubLibraryVisualEncapulator_RenameItem_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnSubLibraryVisualEncapulator_ChangeItemHelpText_Proxy( 
    IRnSubLibraryVisualEncapulator * This,
    /* [in] */ BSTR bLibPath,
    /* [in] */ BSTR itemPath,
    /* [in] */ BSTR bNewHelpText);


void __RPC_STUB IRnSubLibraryVisualEncapulator_ChangeItemHelpText_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnSubLibraryVisualEncapulator_ChangeItemImage_Proxy( 
    IRnSubLibraryVisualEncapulator * This,
    /* [in] */ BSTR bLibPath,
    /* [in] */ BSTR itemPath,
    /* [in] */ RtBool bMaskedBitmap,
    /* [in] */ IRdBitmap *lpBitmap);


void __RPC_STUB IRnSubLibraryVisualEncapulator_ChangeItemImage_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnSubLibraryVisualEncapulator_ChangeItemLClickCommand_Proxy( 
    IRnSubLibraryVisualEncapulator * This,
    /* [in] */ BSTR bLibPath,
    /* [in] */ BSTR itemPath,
    /* [in] */ BSTR bNewLCommand);


void __RPC_STUB IRnSubLibraryVisualEncapulator_ChangeItemLClickCommand_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnSubLibraryVisualEncapulator_ChangeItemLDBClickCommand_Proxy( 
    IRnSubLibraryVisualEncapulator * This,
    /* [in] */ BSTR bLibPath,
    /* [in] */ BSTR itemPath,
    /* [in] */ BSTR bNewLDBCommand);


void __RPC_STUB IRnSubLibraryVisualEncapulator_ChangeItemLDBClickCommand_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnSubLibraryVisualEncapulator_DeleteSubLibraryFromLibrary_Proxy( 
    IRnSubLibraryVisualEncapulator * This,
    /* [in] */ BSTR libPath);


void __RPC_STUB IRnSubLibraryVisualEncapulator_DeleteSubLibraryFromLibrary_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRnSubLibraryVisualEncapulator_get_Position_Proxy( 
    IRnSubLibraryVisualEncapulator * This,
    /* [retval][out] */ POINT *pVal);


void __RPC_STUB IRnSubLibraryVisualEncapulator_get_Position_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRnSubLibraryVisualEncapulator_put_Position_Proxy( 
    IRnSubLibraryVisualEncapulator * This,
    /* [in] */ POINT newVal);


void __RPC_STUB IRnSubLibraryVisualEncapulator_put_Position_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRnSubLibraryVisualEncapulator_get_Size_Proxy( 
    IRnSubLibraryVisualEncapulator * This,
    /* [retval][out] */ POINT *pVal);


void __RPC_STUB IRnSubLibraryVisualEncapulator_get_Size_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRnSubLibraryVisualEncapulator_put_Size_Proxy( 
    IRnSubLibraryVisualEncapulator * This,
    /* [in] */ POINT newVal);


void __RPC_STUB IRnSubLibraryVisualEncapulator_put_Size_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRnSubLibraryVisualEncapulator_put_Filled_Proxy( 
    IRnSubLibraryVisualEncapulator * This,
    /* [in] */ RtBool newVal);


void __RPC_STUB IRnSubLibraryVisualEncapulator_put_Filled_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnSubLibraryVisualEncapulator_ShowLibrary_Proxy( 
    IRnSubLibraryVisualEncapulator * This,
    /* [in] */ IRnEncapsulator *pWinMng);


void __RPC_STUB IRnSubLibraryVisualEncapulator_ShowLibrary_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnSubLibraryVisualEncapulator_HideLibrary_Proxy( 
    IRnSubLibraryVisualEncapulator * This,
    /* [in] */ IRnEncapsulator *pWinMng);


void __RPC_STUB IRnSubLibraryVisualEncapulator_HideLibrary_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnSubLibraryVisualEncapulator_InitializeWithLibrary_Proxy( 
    IRnSubLibraryVisualEncapulator * This,
    /* [in] */ BSTR libraryPath);


void __RPC_STUB IRnSubLibraryVisualEncapulator_InitializeWithLibrary_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnSubLibraryVisualEncapulator_ChangeLibraryItemIndex_Proxy( 
    IRnSubLibraryVisualEncapulator * This,
    /* [in] */ BSTR libraryItemPath,
    /* [in] */ RtUlong index);


void __RPC_STUB IRnSubLibraryVisualEncapulator_ChangeLibraryItemIndex_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnSubLibraryVisualEncapulator_ChangeLibraryIndex_Proxy( 
    IRnSubLibraryVisualEncapulator * This,
    /* [in] */ BSTR libraryPath,
    /* [in] */ RtUlong index);


void __RPC_STUB IRnSubLibraryVisualEncapulator_ChangeLibraryIndex_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnSubLibraryVisualEncapulator_InitializeWithOutlookNode_Proxy( 
    IRnSubLibraryVisualEncapulator * This,
    /* [in] */ IRsNode *pNode);


void __RPC_STUB IRnSubLibraryVisualEncapulator_InitializeWithOutlookNode_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnSubLibraryVisualEncapulator_GetFrameWindow_Proxy( 
    IRnSubLibraryVisualEncapulator * This,
    /* [in] */ IRsNode **lpNode);


void __RPC_STUB IRnSubLibraryVisualEncapulator_GetFrameWindow_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnSubLibraryVisualEncapulator_CloseWindow_Proxy( 
    IRnSubLibraryVisualEncapulator * This);


void __RPC_STUB IRnSubLibraryVisualEncapulator_CloseWindow_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnSubLibraryVisualEncapulator_SetLibraryWnd_Proxy( 
    IRnSubLibraryVisualEncapulator * This,
    /* [in] */ IRsNode *pNode);


void __RPC_STUB IRnSubLibraryVisualEncapulator_SetLibraryWnd_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnSubLibraryVisualEncapulator_GetItemImage_Proxy( 
    IRnSubLibraryVisualEncapulator * This,
    /* [in] */ BSTR bLibPath,
    /* [in] */ BSTR itemPath,
    /* [in] */ RtBool *bMaskedBitmap,
    /* [in] */ IRdBitmap **lpBitmap);


void __RPC_STUB IRnSubLibraryVisualEncapulator_GetItemImage_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRnSubLibraryVisualEncapulator_INTERFACE_DEFINED__ */


#ifndef __IRnLibraryVisualEncapulator_INTERFACE_DEFINED__
#define __IRnLibraryVisualEncapulator_INTERFACE_DEFINED__

/* interface IRnLibraryVisualEncapulator */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnLibraryVisualEncapulator;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("0DC2A7DB-1250-4cd5-A9D6-5756955B5B44")
    IRnLibraryVisualEncapulator : public IUnknown
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Path( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Path( 
            /* [in] */ BSTR newVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ToolbarPath( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_ToolbarPath( 
            /* [in] */ BSTR newVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_SnappedLibrary( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_SnappedLibrary( 
            /* [in] */ BSTR newVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ShowLibrary( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE InitializeWithLibrary( 
            /* [in] */ BSTR libraryPath,
            /* [in] */ RtBool isImportant,
            /* [in] */ RtBool bTopIsHidden,
            /* [out] */ IRnEncapsulator **ppToolbar) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetSubLibrary( 
            /* [in] */ BSTR libraryPath,
            /* [retval][out] */ IRnSubLibraryVisualEncapulator **pSubLibrary) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetSubLibraryAtIndex( 
            /* [in] */ RtUlong index,
            /* [retval][out] */ IRnSubLibraryVisualEncapulator **pSubLibrary) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetSubLibraryCount( 
            /* [retval][out] */ RtUlong *count) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE InsertLibrary( 
            /* [in] */ IRsNode *lpLibrary,
            /* [in] */ int insertIndex) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetToolbarFrameWindow( 
            /* [retval][out] */ IRsNode **lpNode) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRnLibraryVisualEncapulatorVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnLibraryVisualEncapulator * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnLibraryVisualEncapulator * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnLibraryVisualEncapulator * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Path )( 
            IRnLibraryVisualEncapulator * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Path )( 
            IRnLibraryVisualEncapulator * This,
            /* [in] */ BSTR newVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ToolbarPath )( 
            IRnLibraryVisualEncapulator * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ToolbarPath )( 
            IRnLibraryVisualEncapulator * This,
            /* [in] */ BSTR newVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SnappedLibrary )( 
            IRnLibraryVisualEncapulator * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_SnappedLibrary )( 
            IRnLibraryVisualEncapulator * This,
            /* [in] */ BSTR newVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ShowLibrary )( 
            IRnLibraryVisualEncapulator * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *InitializeWithLibrary )( 
            IRnLibraryVisualEncapulator * This,
            /* [in] */ BSTR libraryPath,
            /* [in] */ RtBool isImportant,
            /* [in] */ RtBool bTopIsHidden,
            /* [out] */ IRnEncapsulator **ppToolbar);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetSubLibrary )( 
            IRnLibraryVisualEncapulator * This,
            /* [in] */ BSTR libraryPath,
            /* [retval][out] */ IRnSubLibraryVisualEncapulator **pSubLibrary);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetSubLibraryAtIndex )( 
            IRnLibraryVisualEncapulator * This,
            /* [in] */ RtUlong index,
            /* [retval][out] */ IRnSubLibraryVisualEncapulator **pSubLibrary);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetSubLibraryCount )( 
            IRnLibraryVisualEncapulator * This,
            /* [retval][out] */ RtUlong *count);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *InsertLibrary )( 
            IRnLibraryVisualEncapulator * This,
            /* [in] */ IRsNode *lpLibrary,
            /* [in] */ int insertIndex);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetToolbarFrameWindow )( 
            IRnLibraryVisualEncapulator * This,
            /* [retval][out] */ IRsNode **lpNode);
        
        END_INTERFACE
    } IRnLibraryVisualEncapulatorVtbl;

    interface IRnLibraryVisualEncapulator
    {
        CONST_VTBL struct IRnLibraryVisualEncapulatorVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnLibraryVisualEncapulator_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnLibraryVisualEncapulator_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnLibraryVisualEncapulator_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRnLibraryVisualEncapulator_get_Path(This,pVal)	\
    (This)->lpVtbl -> get_Path(This,pVal)

#define IRnLibraryVisualEncapulator_put_Path(This,newVal)	\
    (This)->lpVtbl -> put_Path(This,newVal)

#define IRnLibraryVisualEncapulator_get_ToolbarPath(This,pVal)	\
    (This)->lpVtbl -> get_ToolbarPath(This,pVal)

#define IRnLibraryVisualEncapulator_put_ToolbarPath(This,newVal)	\
    (This)->lpVtbl -> put_ToolbarPath(This,newVal)

#define IRnLibraryVisualEncapulator_get_SnappedLibrary(This,pVal)	\
    (This)->lpVtbl -> get_SnappedLibrary(This,pVal)

#define IRnLibraryVisualEncapulator_put_SnappedLibrary(This,newVal)	\
    (This)->lpVtbl -> put_SnappedLibrary(This,newVal)

#define IRnLibraryVisualEncapulator_ShowLibrary(This)	\
    (This)->lpVtbl -> ShowLibrary(This)

#define IRnLibraryVisualEncapulator_InitializeWithLibrary(This,libraryPath,isImportant,bTopIsHidden,ppToolbar)	\
    (This)->lpVtbl -> InitializeWithLibrary(This,libraryPath,isImportant,bTopIsHidden,ppToolbar)

#define IRnLibraryVisualEncapulator_GetSubLibrary(This,libraryPath,pSubLibrary)	\
    (This)->lpVtbl -> GetSubLibrary(This,libraryPath,pSubLibrary)

#define IRnLibraryVisualEncapulator_GetSubLibraryAtIndex(This,index,pSubLibrary)	\
    (This)->lpVtbl -> GetSubLibraryAtIndex(This,index,pSubLibrary)

#define IRnLibraryVisualEncapulator_GetSubLibraryCount(This,count)	\
    (This)->lpVtbl -> GetSubLibraryCount(This,count)

#define IRnLibraryVisualEncapulator_InsertLibrary(This,lpLibrary,insertIndex)	\
    (This)->lpVtbl -> InsertLibrary(This,lpLibrary,insertIndex)

#define IRnLibraryVisualEncapulator_GetToolbarFrameWindow(This,lpNode)	\
    (This)->lpVtbl -> GetToolbarFrameWindow(This,lpNode)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRnLibraryVisualEncapulator_get_Path_Proxy( 
    IRnLibraryVisualEncapulator * This,
    /* [retval][out] */ BSTR *pVal);


void __RPC_STUB IRnLibraryVisualEncapulator_get_Path_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRnLibraryVisualEncapulator_put_Path_Proxy( 
    IRnLibraryVisualEncapulator * This,
    /* [in] */ BSTR newVal);


void __RPC_STUB IRnLibraryVisualEncapulator_put_Path_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRnLibraryVisualEncapulator_get_ToolbarPath_Proxy( 
    IRnLibraryVisualEncapulator * This,
    /* [retval][out] */ BSTR *pVal);


void __RPC_STUB IRnLibraryVisualEncapulator_get_ToolbarPath_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRnLibraryVisualEncapulator_put_ToolbarPath_Proxy( 
    IRnLibraryVisualEncapulator * This,
    /* [in] */ BSTR newVal);


void __RPC_STUB IRnLibraryVisualEncapulator_put_ToolbarPath_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRnLibraryVisualEncapulator_get_SnappedLibrary_Proxy( 
    IRnLibraryVisualEncapulator * This,
    /* [retval][out] */ BSTR *pVal);


void __RPC_STUB IRnLibraryVisualEncapulator_get_SnappedLibrary_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRnLibraryVisualEncapulator_put_SnappedLibrary_Proxy( 
    IRnLibraryVisualEncapulator * This,
    /* [in] */ BSTR newVal);


void __RPC_STUB IRnLibraryVisualEncapulator_put_SnappedLibrary_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnLibraryVisualEncapulator_ShowLibrary_Proxy( 
    IRnLibraryVisualEncapulator * This);


void __RPC_STUB IRnLibraryVisualEncapulator_ShowLibrary_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnLibraryVisualEncapulator_InitializeWithLibrary_Proxy( 
    IRnLibraryVisualEncapulator * This,
    /* [in] */ BSTR libraryPath,
    /* [in] */ RtBool isImportant,
    /* [in] */ RtBool bTopIsHidden,
    /* [out] */ IRnEncapsulator **ppToolbar);


void __RPC_STUB IRnLibraryVisualEncapulator_InitializeWithLibrary_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnLibraryVisualEncapulator_GetSubLibrary_Proxy( 
    IRnLibraryVisualEncapulator * This,
    /* [in] */ BSTR libraryPath,
    /* [retval][out] */ IRnSubLibraryVisualEncapulator **pSubLibrary);


void __RPC_STUB IRnLibraryVisualEncapulator_GetSubLibrary_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnLibraryVisualEncapulator_GetSubLibraryAtIndex_Proxy( 
    IRnLibraryVisualEncapulator * This,
    /* [in] */ RtUlong index,
    /* [retval][out] */ IRnSubLibraryVisualEncapulator **pSubLibrary);


void __RPC_STUB IRnLibraryVisualEncapulator_GetSubLibraryAtIndex_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnLibraryVisualEncapulator_GetSubLibraryCount_Proxy( 
    IRnLibraryVisualEncapulator * This,
    /* [retval][out] */ RtUlong *count);


void __RPC_STUB IRnLibraryVisualEncapulator_GetSubLibraryCount_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnLibraryVisualEncapulator_InsertLibrary_Proxy( 
    IRnLibraryVisualEncapulator * This,
    /* [in] */ IRsNode *lpLibrary,
    /* [in] */ int insertIndex);


void __RPC_STUB IRnLibraryVisualEncapulator_InsertLibrary_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnLibraryVisualEncapulator_GetToolbarFrameWindow_Proxy( 
    IRnLibraryVisualEncapulator * This,
    /* [retval][out] */ IRsNode **lpNode);


void __RPC_STUB IRnLibraryVisualEncapulator_GetToolbarFrameWindow_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRnLibraryVisualEncapulator_INTERFACE_DEFINED__ */


#ifndef __IRnLibraries_INTERFACE_DEFINED__
#define __IRnLibraries_INTERFACE_DEFINED__

/* interface IRnLibraries */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnLibraries;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("D4696108-F702-419A-A1D9-3B3E8554FA6D")
    IRnLibraries : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Notify( 
            /* [in] */ RtLibraryMouseEvent iEvent,
            /* [in] */ IRnLibraryItem *pLibraryItem,
            /* [in] */ IRsNode *pLibraryVisualEncapsulator) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Hook( 
            /* [in] */ IRsLibraryEventReceiver *pListener) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Unhook( 
            /* [in] */ IRsLibraryEventReceiver *pListener) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRnLibrariesVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnLibraries * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnLibraries * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnLibraries * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Notify )( 
            IRnLibraries * This,
            /* [in] */ RtLibraryMouseEvent iEvent,
            /* [in] */ IRnLibraryItem *pLibraryItem,
            /* [in] */ IRsNode *pLibraryVisualEncapsulator);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Hook )( 
            IRnLibraries * This,
            /* [in] */ IRsLibraryEventReceiver *pListener);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Unhook )( 
            IRnLibraries * This,
            /* [in] */ IRsLibraryEventReceiver *pListener);
        
        END_INTERFACE
    } IRnLibrariesVtbl;

    interface IRnLibraries
    {
        CONST_VTBL struct IRnLibrariesVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnLibraries_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnLibraries_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnLibraries_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRnLibraries_Notify(This,iEvent,pLibraryItem,pLibraryVisualEncapsulator)	\
    (This)->lpVtbl -> Notify(This,iEvent,pLibraryItem,pLibraryVisualEncapsulator)

#define IRnLibraries_Hook(This,pListener)	\
    (This)->lpVtbl -> Hook(This,pListener)

#define IRnLibraries_Unhook(This,pListener)	\
    (This)->lpVtbl -> Unhook(This,pListener)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnLibraries_Notify_Proxy( 
    IRnLibraries * This,
    /* [in] */ RtLibraryMouseEvent iEvent,
    /* [in] */ IRnLibraryItem *pLibraryItem,
    /* [in] */ IRsNode *pLibraryVisualEncapsulator);


void __RPC_STUB IRnLibraries_Notify_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnLibraries_Hook_Proxy( 
    IRnLibraries * This,
    /* [in] */ IRsLibraryEventReceiver *pListener);


void __RPC_STUB IRnLibraries_Hook_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnLibraries_Unhook_Proxy( 
    IRnLibraries * This,
    /* [in] */ IRsLibraryEventReceiver *pListener);


void __RPC_STUB IRnLibraries_Unhook_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRnLibraries_INTERFACE_DEFINED__ */


/* interface __MIDL_itf__Kernel_1014 */
/* [local] */ 

typedef struct _tagLibraryDefinition
    {
    LPCTSTR zsName;
    LPCTSTR zsHelpText;
    LPCTSTR zsNodeName;
    RtLibraryType wTypeId;
    int wResId;
    struct _tagLibraryDefinition *subLibraries;
    int iSubLibrariesCount;
    int wGroupId;
    } 	LibraryDefinition;



extern RPC_IF_HANDLE __MIDL_itf__Kernel_1014_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf__Kernel_1014_v0_0_s_ifspec;

#ifndef __IRfLibrarySet_INTERFACE_DEFINED__
#define __IRfLibrarySet_INTERFACE_DEFINED__

/* interface IRfLibrarySet */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRfLibrarySet;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("63CAADA3-6A96-433f-915B-DF1CB5E8823E")
    IRfLibrarySet : public IUnknown
    {
    public:
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetLibraryItem( 
            /* [in] */ BSTR bszLibraryName,
            /* [in] */ BSTR bszCathegoryName,
            /* [in] */ BSTR bszItemName,
            /* [out] */ IRnLibraryItem **ppItem) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetLibraryItemFromLibrary( 
            /* [in] */ BSTR bszLibraryPath,
            /* [in] */ BSTR bszLibraryName,
            /* [in] */ BSTR bszCathegoryName,
            /* [in] */ BSTR bszItemName,
            /* [out] */ IRnLibraryItem **ppItem) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ShowLibrary( 
            /* [in] */ BSTR bszLibraryPath,
            /* [in] */ RtBool isImportant,
            /* [in] */ RtBool bTopIsHidden,
            /* [in] */ RtBool bShowFirstSubLib,
            /* [out] */ IRsNode **ppItem) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE CreateLibraryFromDefinition( 
            /* [in] */ IRsNode *pParent,
            /* [in] */ LibraryDefinition *pLibraryDefinition,
            /* [out] */ IRsNode **ppItem) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE CreatePackagesLibrary( 
            /* [in] */ IRnEncapsulator *pOwner) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ResurectLibrary( 
            /* [in] */ BSTR parent,
            /* [in] */ BSTR prefix,
            /* [in] */ LibraryDefinition *libDef) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE CreateSubLibraryEnc( 
            /* [in] */ IRnLibrary *pSubLibrary,
            /* [in] */ IRnEncapsulator *pParent,
            /* [out] */ IRsNode **ppEnc) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetLibrariesNode( 
            /* [retval][out] */ IRnLibraries **ppLibraries) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Notify( 
            /* [in] */ RtLibraryMouseEvent iEvent,
            /* [in] */ IRnLibraryItem *pLibraryItem,
            /* [in] */ IRsNode *pLibraryVisualEncapsulator) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Hook( 
            /* [in] */ IRsLibraryEventReceiver *pListener) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Unhook( 
            /* [in] */ IRsLibraryEventReceiver *pListener) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetLibrariesNodeDefaultName( 
            /* [retval][out] */ BSTR *bszName) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetMainLibrary( 
            /* [retval][out] */ IRnLibrary **ppMainLibrary) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE FindNamedSublibrary( 
            /* [in] */ IRnLibrary *ppLibrary,
            /* [in] */ BSTR bszLibraryName,
            /* [retval][out] */ IRnLibrary **ppSubLibrary) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetLibraryPathFromLibraryItemNode( 
            /* [in] */ BSTR bszLibraryItemName,
            /* [retval][out] */ BSTR *pLibItem) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRfLibrarySetVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRfLibrarySet * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRfLibrarySet * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRfLibrarySet * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetLibraryItem )( 
            IRfLibrarySet * This,
            /* [in] */ BSTR bszLibraryName,
            /* [in] */ BSTR bszCathegoryName,
            /* [in] */ BSTR bszItemName,
            /* [out] */ IRnLibraryItem **ppItem);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetLibraryItemFromLibrary )( 
            IRfLibrarySet * This,
            /* [in] */ BSTR bszLibraryPath,
            /* [in] */ BSTR bszLibraryName,
            /* [in] */ BSTR bszCathegoryName,
            /* [in] */ BSTR bszItemName,
            /* [out] */ IRnLibraryItem **ppItem);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *ShowLibrary )( 
            IRfLibrarySet * This,
            /* [in] */ BSTR bszLibraryPath,
            /* [in] */ RtBool isImportant,
            /* [in] */ RtBool bTopIsHidden,
            /* [in] */ RtBool bShowFirstSubLib,
            /* [out] */ IRsNode **ppItem);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *CreateLibraryFromDefinition )( 
            IRfLibrarySet * This,
            /* [in] */ IRsNode *pParent,
            /* [in] */ LibraryDefinition *pLibraryDefinition,
            /* [out] */ IRsNode **ppItem);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *CreatePackagesLibrary )( 
            IRfLibrarySet * This,
            /* [in] */ IRnEncapsulator *pOwner);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *ResurectLibrary )( 
            IRfLibrarySet * This,
            /* [in] */ BSTR parent,
            /* [in] */ BSTR prefix,
            /* [in] */ LibraryDefinition *libDef);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *CreateSubLibraryEnc )( 
            IRfLibrarySet * This,
            /* [in] */ IRnLibrary *pSubLibrary,
            /* [in] */ IRnEncapsulator *pParent,
            /* [out] */ IRsNode **ppEnc);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetLibrariesNode )( 
            IRfLibrarySet * This,
            /* [retval][out] */ IRnLibraries **ppLibraries);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Notify )( 
            IRfLibrarySet * This,
            /* [in] */ RtLibraryMouseEvent iEvent,
            /* [in] */ IRnLibraryItem *pLibraryItem,
            /* [in] */ IRsNode *pLibraryVisualEncapsulator);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Hook )( 
            IRfLibrarySet * This,
            /* [in] */ IRsLibraryEventReceiver *pListener);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Unhook )( 
            IRfLibrarySet * This,
            /* [in] */ IRsLibraryEventReceiver *pListener);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetLibrariesNodeDefaultName )( 
            IRfLibrarySet * This,
            /* [retval][out] */ BSTR *bszName);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetMainLibrary )( 
            IRfLibrarySet * This,
            /* [retval][out] */ IRnLibrary **ppMainLibrary);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *FindNamedSublibrary )( 
            IRfLibrarySet * This,
            /* [in] */ IRnLibrary *ppLibrary,
            /* [in] */ BSTR bszLibraryName,
            /* [retval][out] */ IRnLibrary **ppSubLibrary);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetLibraryPathFromLibraryItemNode )( 
            IRfLibrarySet * This,
            /* [in] */ BSTR bszLibraryItemName,
            /* [retval][out] */ BSTR *pLibItem);
        
        END_INTERFACE
    } IRfLibrarySetVtbl;

    interface IRfLibrarySet
    {
        CONST_VTBL struct IRfLibrarySetVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRfLibrarySet_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRfLibrarySet_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRfLibrarySet_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRfLibrarySet_GetLibraryItem(This,bszLibraryName,bszCathegoryName,bszItemName,ppItem)	\
    (This)->lpVtbl -> GetLibraryItem(This,bszLibraryName,bszCathegoryName,bszItemName,ppItem)

#define IRfLibrarySet_GetLibraryItemFromLibrary(This,bszLibraryPath,bszLibraryName,bszCathegoryName,bszItemName,ppItem)	\
    (This)->lpVtbl -> GetLibraryItemFromLibrary(This,bszLibraryPath,bszLibraryName,bszCathegoryName,bszItemName,ppItem)

#define IRfLibrarySet_ShowLibrary(This,bszLibraryPath,isImportant,bTopIsHidden,bShowFirstSubLib,ppItem)	\
    (This)->lpVtbl -> ShowLibrary(This,bszLibraryPath,isImportant,bTopIsHidden,bShowFirstSubLib,ppItem)

#define IRfLibrarySet_CreateLibraryFromDefinition(This,pParent,pLibraryDefinition,ppItem)	\
    (This)->lpVtbl -> CreateLibraryFromDefinition(This,pParent,pLibraryDefinition,ppItem)

#define IRfLibrarySet_CreatePackagesLibrary(This,pOwner)	\
    (This)->lpVtbl -> CreatePackagesLibrary(This,pOwner)

#define IRfLibrarySet_ResurectLibrary(This,parent,prefix,libDef)	\
    (This)->lpVtbl -> ResurectLibrary(This,parent,prefix,libDef)

#define IRfLibrarySet_CreateSubLibraryEnc(This,pSubLibrary,pParent,ppEnc)	\
    (This)->lpVtbl -> CreateSubLibraryEnc(This,pSubLibrary,pParent,ppEnc)

#define IRfLibrarySet_GetLibrariesNode(This,ppLibraries)	\
    (This)->lpVtbl -> GetLibrariesNode(This,ppLibraries)

#define IRfLibrarySet_Notify(This,iEvent,pLibraryItem,pLibraryVisualEncapsulator)	\
    (This)->lpVtbl -> Notify(This,iEvent,pLibraryItem,pLibraryVisualEncapsulator)

#define IRfLibrarySet_Hook(This,pListener)	\
    (This)->lpVtbl -> Hook(This,pListener)

#define IRfLibrarySet_Unhook(This,pListener)	\
    (This)->lpVtbl -> Unhook(This,pListener)

#define IRfLibrarySet_GetLibrariesNodeDefaultName(This,bszName)	\
    (This)->lpVtbl -> GetLibrariesNodeDefaultName(This,bszName)

#define IRfLibrarySet_GetMainLibrary(This,ppMainLibrary)	\
    (This)->lpVtbl -> GetMainLibrary(This,ppMainLibrary)

#define IRfLibrarySet_FindNamedSublibrary(This,ppLibrary,bszLibraryName,ppSubLibrary)	\
    (This)->lpVtbl -> FindNamedSublibrary(This,ppLibrary,bszLibraryName,ppSubLibrary)

#define IRfLibrarySet_GetLibraryPathFromLibraryItemNode(This,bszLibraryItemName,pLibItem)	\
    (This)->lpVtbl -> GetLibraryPathFromLibraryItemNode(This,bszLibraryItemName,pLibItem)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRfLibrarySet_GetLibraryItem_Proxy( 
    IRfLibrarySet * This,
    /* [in] */ BSTR bszLibraryName,
    /* [in] */ BSTR bszCathegoryName,
    /* [in] */ BSTR bszItemName,
    /* [out] */ IRnLibraryItem **ppItem);


void __RPC_STUB IRfLibrarySet_GetLibraryItem_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRfLibrarySet_GetLibraryItemFromLibrary_Proxy( 
    IRfLibrarySet * This,
    /* [in] */ BSTR bszLibraryPath,
    /* [in] */ BSTR bszLibraryName,
    /* [in] */ BSTR bszCathegoryName,
    /* [in] */ BSTR bszItemName,
    /* [out] */ IRnLibraryItem **ppItem);


void __RPC_STUB IRfLibrarySet_GetLibraryItemFromLibrary_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRfLibrarySet_ShowLibrary_Proxy( 
    IRfLibrarySet * This,
    /* [in] */ BSTR bszLibraryPath,
    /* [in] */ RtBool isImportant,
    /* [in] */ RtBool bTopIsHidden,
    /* [in] */ RtBool bShowFirstSubLib,
    /* [out] */ IRsNode **ppItem);


void __RPC_STUB IRfLibrarySet_ShowLibrary_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRfLibrarySet_CreateLibraryFromDefinition_Proxy( 
    IRfLibrarySet * This,
    /* [in] */ IRsNode *pParent,
    /* [in] */ LibraryDefinition *pLibraryDefinition,
    /* [out] */ IRsNode **ppItem);


void __RPC_STUB IRfLibrarySet_CreateLibraryFromDefinition_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRfLibrarySet_CreatePackagesLibrary_Proxy( 
    IRfLibrarySet * This,
    /* [in] */ IRnEncapsulator *pOwner);


void __RPC_STUB IRfLibrarySet_CreatePackagesLibrary_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRfLibrarySet_ResurectLibrary_Proxy( 
    IRfLibrarySet * This,
    /* [in] */ BSTR parent,
    /* [in] */ BSTR prefix,
    /* [in] */ LibraryDefinition *libDef);


void __RPC_STUB IRfLibrarySet_ResurectLibrary_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRfLibrarySet_CreateSubLibraryEnc_Proxy( 
    IRfLibrarySet * This,
    /* [in] */ IRnLibrary *pSubLibrary,
    /* [in] */ IRnEncapsulator *pParent,
    /* [out] */ IRsNode **ppEnc);


void __RPC_STUB IRfLibrarySet_CreateSubLibraryEnc_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRfLibrarySet_GetLibrariesNode_Proxy( 
    IRfLibrarySet * This,
    /* [retval][out] */ IRnLibraries **ppLibraries);


void __RPC_STUB IRfLibrarySet_GetLibrariesNode_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRfLibrarySet_Notify_Proxy( 
    IRfLibrarySet * This,
    /* [in] */ RtLibraryMouseEvent iEvent,
    /* [in] */ IRnLibraryItem *pLibraryItem,
    /* [in] */ IRsNode *pLibraryVisualEncapsulator);


void __RPC_STUB IRfLibrarySet_Notify_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRfLibrarySet_Hook_Proxy( 
    IRfLibrarySet * This,
    /* [in] */ IRsLibraryEventReceiver *pListener);


void __RPC_STUB IRfLibrarySet_Hook_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRfLibrarySet_Unhook_Proxy( 
    IRfLibrarySet * This,
    /* [in] */ IRsLibraryEventReceiver *pListener);


void __RPC_STUB IRfLibrarySet_Unhook_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRfLibrarySet_GetLibrariesNodeDefaultName_Proxy( 
    IRfLibrarySet * This,
    /* [retval][out] */ BSTR *bszName);


void __RPC_STUB IRfLibrarySet_GetLibrariesNodeDefaultName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRfLibrarySet_GetMainLibrary_Proxy( 
    IRfLibrarySet * This,
    /* [retval][out] */ IRnLibrary **ppMainLibrary);


void __RPC_STUB IRfLibrarySet_GetMainLibrary_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRfLibrarySet_FindNamedSublibrary_Proxy( 
    IRfLibrarySet * This,
    /* [in] */ IRnLibrary *ppLibrary,
    /* [in] */ BSTR bszLibraryName,
    /* [retval][out] */ IRnLibrary **ppSubLibrary);


void __RPC_STUB IRfLibrarySet_FindNamedSublibrary_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRfLibrarySet_GetLibraryPathFromLibraryItemNode_Proxy( 
    IRfLibrarySet * This,
    /* [in] */ BSTR bszLibraryItemName,
    /* [retval][out] */ BSTR *pLibItem);


void __RPC_STUB IRfLibrarySet_GetLibraryPathFromLibraryItemNode_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRfLibrarySet_INTERFACE_DEFINED__ */


#ifndef __IRpLibrary_INTERFACE_DEFINED__
#define __IRpLibrary_INTERFACE_DEFINED__

/* interface IRpLibrary */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRpLibrary;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("42512163-7676-4730-954E-E052F0E7FAE7")
    IRpLibrary : public IRsObject
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateLibrariesFnSet( 
            /* [retval][out] */ IRfLibrarySet **ppFn) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRpLibraryVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRpLibrary * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRpLibrary * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRpLibrary * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassId )( 
            IRpLibrary * This,
            /* [retval][out] */ GUID *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassName )( 
            IRpLibrary * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateLibrariesFnSet )( 
            IRpLibrary * This,
            /* [retval][out] */ IRfLibrarySet **ppFn);
        
        END_INTERFACE
    } IRpLibraryVtbl;

    interface IRpLibrary
    {
        CONST_VTBL struct IRpLibraryVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRpLibrary_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRpLibrary_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRpLibrary_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRpLibrary_get_ClassId(This,pVal)	\
    (This)->lpVtbl -> get_ClassId(This,pVal)

#define IRpLibrary_get_ClassName(This,pVal)	\
    (This)->lpVtbl -> get_ClassName(This,pVal)


#define IRpLibrary_CreateLibrariesFnSet(This,ppFn)	\
    (This)->lpVtbl -> CreateLibrariesFnSet(This,ppFn)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRpLibrary_CreateLibrariesFnSet_Proxy( 
    IRpLibrary * This,
    /* [retval][out] */ IRfLibrarySet **ppFn);


void __RPC_STUB IRpLibrary_CreateLibrariesFnSet_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRpLibrary_INTERFACE_DEFINED__ */


#ifndef __IRnLibraryItemControlImportExport_INTERFACE_DEFINED__
#define __IRnLibraryItemControlImportExport_INTERFACE_DEFINED__

/* interface IRnLibraryItemControlImportExport */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnLibraryItemControlImportExport;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("06BEAD81-E20B-49ba-A8B9-58A70483988C")
    IRnLibraryItemControlImportExport : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE BeforeLibraryItemExport( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AfterLibraryItemExport( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AfterLibraryItemImport( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRnLibraryItemControlImportExportVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnLibraryItemControlImportExport * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnLibraryItemControlImportExport * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnLibraryItemControlImportExport * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *BeforeLibraryItemExport )( 
            IRnLibraryItemControlImportExport * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AfterLibraryItemExport )( 
            IRnLibraryItemControlImportExport * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AfterLibraryItemImport )( 
            IRnLibraryItemControlImportExport * This);
        
        END_INTERFACE
    } IRnLibraryItemControlImportExportVtbl;

    interface IRnLibraryItemControlImportExport
    {
        CONST_VTBL struct IRnLibraryItemControlImportExportVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnLibraryItemControlImportExport_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnLibraryItemControlImportExport_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnLibraryItemControlImportExport_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRnLibraryItemControlImportExport_BeforeLibraryItemExport(This)	\
    (This)->lpVtbl -> BeforeLibraryItemExport(This)

#define IRnLibraryItemControlImportExport_AfterLibraryItemExport(This)	\
    (This)->lpVtbl -> AfterLibraryItemExport(This)

#define IRnLibraryItemControlImportExport_AfterLibraryItemImport(This)	\
    (This)->lpVtbl -> AfterLibraryItemImport(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnLibraryItemControlImportExport_BeforeLibraryItemExport_Proxy( 
    IRnLibraryItemControlImportExport * This);


void __RPC_STUB IRnLibraryItemControlImportExport_BeforeLibraryItemExport_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnLibraryItemControlImportExport_AfterLibraryItemExport_Proxy( 
    IRnLibraryItemControlImportExport * This);


void __RPC_STUB IRnLibraryItemControlImportExport_AfterLibraryItemExport_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnLibraryItemControlImportExport_AfterLibraryItemImport_Proxy( 
    IRnLibraryItemControlImportExport * This);


void __RPC_STUB IRnLibraryItemControlImportExport_AfterLibraryItemImport_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRnLibraryItemControlImportExport_INTERFACE_DEFINED__ */


#ifndef __IRnLibraryItemControlRename_INTERFACE_DEFINED__
#define __IRnLibraryItemControlRename_INTERFACE_DEFINED__

/* interface IRnLibraryItemControlRename */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnLibraryItemControlRename;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("7C6B5C5B-ED67-4c96-B08C-0EF5E4093EC7")
    IRnLibraryItemControlRename : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE BeforeRename( 
            /* [in] */ BSTR bszOldName) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AfterRename( 
            /* [in] */ BSTR bszNewName) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AllowRename( 
            /* [retval][out] */ RtBool *pVal) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRnLibraryItemControlRenameVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnLibraryItemControlRename * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnLibraryItemControlRename * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnLibraryItemControlRename * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *BeforeRename )( 
            IRnLibraryItemControlRename * This,
            /* [in] */ BSTR bszOldName);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AfterRename )( 
            IRnLibraryItemControlRename * This,
            /* [in] */ BSTR bszNewName);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AllowRename )( 
            IRnLibraryItemControlRename * This,
            /* [retval][out] */ RtBool *pVal);
        
        END_INTERFACE
    } IRnLibraryItemControlRenameVtbl;

    interface IRnLibraryItemControlRename
    {
        CONST_VTBL struct IRnLibraryItemControlRenameVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnLibraryItemControlRename_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnLibraryItemControlRename_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnLibraryItemControlRename_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRnLibraryItemControlRename_BeforeRename(This,bszOldName)	\
    (This)->lpVtbl -> BeforeRename(This,bszOldName)

#define IRnLibraryItemControlRename_AfterRename(This,bszNewName)	\
    (This)->lpVtbl -> AfterRename(This,bszNewName)

#define IRnLibraryItemControlRename_AllowRename(This,pVal)	\
    (This)->lpVtbl -> AllowRename(This,pVal)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnLibraryItemControlRename_BeforeRename_Proxy( 
    IRnLibraryItemControlRename * This,
    /* [in] */ BSTR bszOldName);


void __RPC_STUB IRnLibraryItemControlRename_BeforeRename_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnLibraryItemControlRename_AfterRename_Proxy( 
    IRnLibraryItemControlRename * This,
    /* [in] */ BSTR bszNewName);


void __RPC_STUB IRnLibraryItemControlRename_AfterRename_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnLibraryItemControlRename_AllowRename_Proxy( 
    IRnLibraryItemControlRename * This,
    /* [retval][out] */ RtBool *pVal);


void __RPC_STUB IRnLibraryItemControlRename_AllowRename_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRnLibraryItemControlRename_INTERFACE_DEFINED__ */


#ifndef __IRsUIUpdateAgent_INTERFACE_DEFINED__
#define __IRsUIUpdateAgent_INTERFACE_DEFINED__

/* interface IRsUIUpdateAgent */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsUIUpdateAgent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("691EA0DC-A8EA-4dbf-9BB6-01B0894D551D")
    IRsUIUpdateAgent : public IRsObject
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Register( 
            /* [in] */ IRsUIControl *uictl) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Unregister( 
            /* [in] */ IRsUIControl *uictl) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE DoUpdate( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE DoGraphUpdate( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsUIUpdateAgentVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsUIUpdateAgent * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsUIUpdateAgent * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsUIUpdateAgent * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassId )( 
            IRsUIUpdateAgent * This,
            /* [retval][out] */ GUID *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassName )( 
            IRsUIUpdateAgent * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Register )( 
            IRsUIUpdateAgent * This,
            /* [in] */ IRsUIControl *uictl);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Unregister )( 
            IRsUIUpdateAgent * This,
            /* [in] */ IRsUIControl *uictl);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *DoUpdate )( 
            IRsUIUpdateAgent * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *DoGraphUpdate )( 
            IRsUIUpdateAgent * This);
        
        END_INTERFACE
    } IRsUIUpdateAgentVtbl;

    interface IRsUIUpdateAgent
    {
        CONST_VTBL struct IRsUIUpdateAgentVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsUIUpdateAgent_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsUIUpdateAgent_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsUIUpdateAgent_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsUIUpdateAgent_get_ClassId(This,pVal)	\
    (This)->lpVtbl -> get_ClassId(This,pVal)

#define IRsUIUpdateAgent_get_ClassName(This,pVal)	\
    (This)->lpVtbl -> get_ClassName(This,pVal)


#define IRsUIUpdateAgent_Register(This,uictl)	\
    (This)->lpVtbl -> Register(This,uictl)

#define IRsUIUpdateAgent_Unregister(This,uictl)	\
    (This)->lpVtbl -> Unregister(This,uictl)

#define IRsUIUpdateAgent_DoUpdate(This)	\
    (This)->lpVtbl -> DoUpdate(This)

#define IRsUIUpdateAgent_DoGraphUpdate(This)	\
    (This)->lpVtbl -> DoGraphUpdate(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsUIUpdateAgent_Register_Proxy( 
    IRsUIUpdateAgent * This,
    /* [in] */ IRsUIControl *uictl);


void __RPC_STUB IRsUIUpdateAgent_Register_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsUIUpdateAgent_Unregister_Proxy( 
    IRsUIUpdateAgent * This,
    /* [in] */ IRsUIControl *uictl);


void __RPC_STUB IRsUIUpdateAgent_Unregister_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsUIUpdateAgent_DoUpdate_Proxy( 
    IRsUIUpdateAgent * This);


void __RPC_STUB IRsUIUpdateAgent_DoUpdate_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsUIUpdateAgent_DoGraphUpdate_Proxy( 
    IRsUIUpdateAgent * This);


void __RPC_STUB IRsUIUpdateAgent_DoGraphUpdate_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsUIUpdateAgent_INTERFACE_DEFINED__ */


#ifndef __IRsSimpleUIUpdateAgent_INTERFACE_DEFINED__
#define __IRsSimpleUIUpdateAgent_INTERFACE_DEFINED__

/* interface IRsSimpleUIUpdateAgent */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsSimpleUIUpdateAgent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("E2C20968-D923-4dac-BA74-363F79201243")
    IRsSimpleUIUpdateAgent : public IRsUIUpdateAgent
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE IsChecked( 
            /* [in] */ int tag,
            /* [retval][out] */ RtBOOL *state) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE IsEnabled( 
            /* [in] */ int tag,
            /* [retval][out] */ RtBOOL *state) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetTagFromString( 
            /* [in] */ int tagType,
            /* [in] */ BSTR bszTagString,
            /* [retval][out] */ int *tag) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsSimpleUIUpdateAgentVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsSimpleUIUpdateAgent * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsSimpleUIUpdateAgent * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsSimpleUIUpdateAgent * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassId )( 
            IRsSimpleUIUpdateAgent * This,
            /* [retval][out] */ GUID *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassName )( 
            IRsSimpleUIUpdateAgent * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Register )( 
            IRsSimpleUIUpdateAgent * This,
            /* [in] */ IRsUIControl *uictl);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Unregister )( 
            IRsSimpleUIUpdateAgent * This,
            /* [in] */ IRsUIControl *uictl);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *DoUpdate )( 
            IRsSimpleUIUpdateAgent * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *DoGraphUpdate )( 
            IRsSimpleUIUpdateAgent * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *IsChecked )( 
            IRsSimpleUIUpdateAgent * This,
            /* [in] */ int tag,
            /* [retval][out] */ RtBOOL *state);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *IsEnabled )( 
            IRsSimpleUIUpdateAgent * This,
            /* [in] */ int tag,
            /* [retval][out] */ RtBOOL *state);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetTagFromString )( 
            IRsSimpleUIUpdateAgent * This,
            /* [in] */ int tagType,
            /* [in] */ BSTR bszTagString,
            /* [retval][out] */ int *tag);
        
        END_INTERFACE
    } IRsSimpleUIUpdateAgentVtbl;

    interface IRsSimpleUIUpdateAgent
    {
        CONST_VTBL struct IRsSimpleUIUpdateAgentVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsSimpleUIUpdateAgent_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsSimpleUIUpdateAgent_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsSimpleUIUpdateAgent_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsSimpleUIUpdateAgent_get_ClassId(This,pVal)	\
    (This)->lpVtbl -> get_ClassId(This,pVal)

#define IRsSimpleUIUpdateAgent_get_ClassName(This,pVal)	\
    (This)->lpVtbl -> get_ClassName(This,pVal)


#define IRsSimpleUIUpdateAgent_Register(This,uictl)	\
    (This)->lpVtbl -> Register(This,uictl)

#define IRsSimpleUIUpdateAgent_Unregister(This,uictl)	\
    (This)->lpVtbl -> Unregister(This,uictl)

#define IRsSimpleUIUpdateAgent_DoUpdate(This)	\
    (This)->lpVtbl -> DoUpdate(This)

#define IRsSimpleUIUpdateAgent_DoGraphUpdate(This)	\
    (This)->lpVtbl -> DoGraphUpdate(This)


#define IRsSimpleUIUpdateAgent_IsChecked(This,tag,state)	\
    (This)->lpVtbl -> IsChecked(This,tag,state)

#define IRsSimpleUIUpdateAgent_IsEnabled(This,tag,state)	\
    (This)->lpVtbl -> IsEnabled(This,tag,state)

#define IRsSimpleUIUpdateAgent_GetTagFromString(This,tagType,bszTagString,tag)	\
    (This)->lpVtbl -> GetTagFromString(This,tagType,bszTagString,tag)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsSimpleUIUpdateAgent_IsChecked_Proxy( 
    IRsSimpleUIUpdateAgent * This,
    /* [in] */ int tag,
    /* [retval][out] */ RtBOOL *state);


void __RPC_STUB IRsSimpleUIUpdateAgent_IsChecked_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsSimpleUIUpdateAgent_IsEnabled_Proxy( 
    IRsSimpleUIUpdateAgent * This,
    /* [in] */ int tag,
    /* [retval][out] */ RtBOOL *state);


void __RPC_STUB IRsSimpleUIUpdateAgent_IsEnabled_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsSimpleUIUpdateAgent_GetTagFromString_Proxy( 
    IRsSimpleUIUpdateAgent * This,
    /* [in] */ int tagType,
    /* [in] */ BSTR bszTagString,
    /* [retval][out] */ int *tag);


void __RPC_STUB IRsSimpleUIUpdateAgent_GetTagFromString_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsSimpleUIUpdateAgent_INTERFACE_DEFINED__ */


#ifndef __IRsUIUpdateAgentController_INTERFACE_DEFINED__
#define __IRsUIUpdateAgentController_INTERFACE_DEFINED__

/* interface IRsUIUpdateAgentController */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsUIUpdateAgentController;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("AC700525-125A-4376-9802-F7870A3D1A0D")
    IRsUIUpdateAgentController : public IRsObject
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Register( 
            /* [in] */ IRsUIUpdateAgent *uictl) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Unregister( 
            /* [in] */ IRsUIUpdateAgent *uictl) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE DoUpdate( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetAgent( 
            /* [in] */ const IID iid,
            /* [out] */ IRsUIUpdateAgent **ppAgent,
            /* [in] */ IRsUnknownPackage *ppcg) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsUIUpdateAgentControllerVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsUIUpdateAgentController * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsUIUpdateAgentController * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsUIUpdateAgentController * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassId )( 
            IRsUIUpdateAgentController * This,
            /* [retval][out] */ GUID *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassName )( 
            IRsUIUpdateAgentController * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Register )( 
            IRsUIUpdateAgentController * This,
            /* [in] */ IRsUIUpdateAgent *uictl);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Unregister )( 
            IRsUIUpdateAgentController * This,
            /* [in] */ IRsUIUpdateAgent *uictl);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *DoUpdate )( 
            IRsUIUpdateAgentController * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetAgent )( 
            IRsUIUpdateAgentController * This,
            /* [in] */ const IID iid,
            /* [out] */ IRsUIUpdateAgent **ppAgent,
            /* [in] */ IRsUnknownPackage *ppcg);
        
        END_INTERFACE
    } IRsUIUpdateAgentControllerVtbl;

    interface IRsUIUpdateAgentController
    {
        CONST_VTBL struct IRsUIUpdateAgentControllerVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsUIUpdateAgentController_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsUIUpdateAgentController_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsUIUpdateAgentController_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsUIUpdateAgentController_get_ClassId(This,pVal)	\
    (This)->lpVtbl -> get_ClassId(This,pVal)

#define IRsUIUpdateAgentController_get_ClassName(This,pVal)	\
    (This)->lpVtbl -> get_ClassName(This,pVal)


#define IRsUIUpdateAgentController_Register(This,uictl)	\
    (This)->lpVtbl -> Register(This,uictl)

#define IRsUIUpdateAgentController_Unregister(This,uictl)	\
    (This)->lpVtbl -> Unregister(This,uictl)

#define IRsUIUpdateAgentController_DoUpdate(This)	\
    (This)->lpVtbl -> DoUpdate(This)

#define IRsUIUpdateAgentController_GetAgent(This,iid,ppAgent,ppcg)	\
    (This)->lpVtbl -> GetAgent(This,iid,ppAgent,ppcg)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsUIUpdateAgentController_Register_Proxy( 
    IRsUIUpdateAgentController * This,
    /* [in] */ IRsUIUpdateAgent *uictl);


void __RPC_STUB IRsUIUpdateAgentController_Register_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsUIUpdateAgentController_Unregister_Proxy( 
    IRsUIUpdateAgentController * This,
    /* [in] */ IRsUIUpdateAgent *uictl);


void __RPC_STUB IRsUIUpdateAgentController_Unregister_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsUIUpdateAgentController_DoUpdate_Proxy( 
    IRsUIUpdateAgentController * This);


void __RPC_STUB IRsUIUpdateAgentController_DoUpdate_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsUIUpdateAgentController_GetAgent_Proxy( 
    IRsUIUpdateAgentController * This,
    /* [in] */ const IID iid,
    /* [out] */ IRsUIUpdateAgent **ppAgent,
    /* [in] */ IRsUnknownPackage *ppcg);


void __RPC_STUB IRsUIUpdateAgentController_GetAgent_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsUIUpdateAgentController_INTERFACE_DEFINED__ */


#ifndef __IRsHashable_INTERFACE_DEFINED__
#define __IRsHashable_INTERFACE_DEFINED__

/* interface IRsHashable */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsHashable;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("2C91CC23-A09C-4bc6-93E6-D69D7229FCD8")
    IRsHashable : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetHash( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsHashableVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsHashable * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsHashable * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsHashable * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetHash )( 
            IRsHashable * This,
            /* [retval][out] */ BSTR *pVal);
        
        END_INTERFACE
    } IRsHashableVtbl;

    interface IRsHashable
    {
        CONST_VTBL struct IRsHashableVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsHashable_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsHashable_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsHashable_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsHashable_GetHash(This,pVal)	\
    (This)->lpVtbl -> GetHash(This,pVal)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsHashable_GetHash_Proxy( 
    IRsHashable * This,
    /* [retval][out] */ BSTR *pVal);


void __RPC_STUB IRsHashable_GetHash_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsHashable_INTERFACE_DEFINED__ */


#ifndef __IRnWindowDragAndDropSubNode_INTERFACE_DEFINED__
#define __IRnWindowDragAndDropSubNode_INTERFACE_DEFINED__

/* interface IRnWindowDragAndDropSubNode */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnWindowDragAndDropSubNode;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("51208A71-597B-4725-AB57-11336EFE962F")
    IRnWindowDragAndDropSubNode : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetDragAndDropSubNode( 
            /* [out] */ IUnknown **pNode) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRnWindowDragAndDropSubNodeVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnWindowDragAndDropSubNode * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnWindowDragAndDropSubNode * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnWindowDragAndDropSubNode * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetDragAndDropSubNode )( 
            IRnWindowDragAndDropSubNode * This,
            /* [out] */ IUnknown **pNode);
        
        END_INTERFACE
    } IRnWindowDragAndDropSubNodeVtbl;

    interface IRnWindowDragAndDropSubNode
    {
        CONST_VTBL struct IRnWindowDragAndDropSubNodeVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnWindowDragAndDropSubNode_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnWindowDragAndDropSubNode_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnWindowDragAndDropSubNode_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRnWindowDragAndDropSubNode_GetDragAndDropSubNode(This,pNode)	\
    (This)->lpVtbl -> GetDragAndDropSubNode(This,pNode)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnWindowDragAndDropSubNode_GetDragAndDropSubNode_Proxy( 
    IRnWindowDragAndDropSubNode * This,
    /* [out] */ IUnknown **pNode);


void __RPC_STUB IRnWindowDragAndDropSubNode_GetDragAndDropSubNode_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRnWindowDragAndDropSubNode_INTERFACE_DEFINED__ */


/* interface __MIDL_itf__Kernel_1023 */
/* [local] */ 

typedef struct _WINDOW_SNAP_LINE
    {
    int m_iCorner;
    int m_iOffsetX;
    int m_iOffsetY;
    } 	WINDOW_SNAP_LINE;



extern RPC_IF_HANDLE __MIDL_itf__Kernel_1023_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf__Kernel_1023_v0_0_s_ifspec;

#ifndef __IRnWindowControlSnapping_INTERFACE_DEFINED__
#define __IRnWindowControlSnapping_INTERFACE_DEFINED__

/* interface IRnWindowControlSnapping */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnWindowControlSnapping;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("BE73CA86-4503-4f2f-ABC3-ADCEC6106FFE")
    IRnWindowControlSnapping : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AllowCornerSnapping( 
            /* [out] */ BOOL *bResult) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetSnappingLines( 
            /* [out][in] */ int *count,
            /* [size_is][out] */ struct _WINDOW_SNAP_LINE **lpFrameWindowSnapLine) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Unsnapped( 
            /* [in] */ BSTR bsUnsnappedFromFrame) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRnWindowControlSnappingVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnWindowControlSnapping * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnWindowControlSnapping * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnWindowControlSnapping * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AllowCornerSnapping )( 
            IRnWindowControlSnapping * This,
            /* [out] */ BOOL *bResult);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetSnappingLines )( 
            IRnWindowControlSnapping * This,
            /* [out][in] */ int *count,
            /* [size_is][out] */ struct _WINDOW_SNAP_LINE **lpFrameWindowSnapLine);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Unsnapped )( 
            IRnWindowControlSnapping * This,
            /* [in] */ BSTR bsUnsnappedFromFrame);
        
        END_INTERFACE
    } IRnWindowControlSnappingVtbl;

    interface IRnWindowControlSnapping
    {
        CONST_VTBL struct IRnWindowControlSnappingVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnWindowControlSnapping_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnWindowControlSnapping_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnWindowControlSnapping_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRnWindowControlSnapping_AllowCornerSnapping(This,bResult)	\
    (This)->lpVtbl -> AllowCornerSnapping(This,bResult)

#define IRnWindowControlSnapping_GetSnappingLines(This,count,lpFrameWindowSnapLine)	\
    (This)->lpVtbl -> GetSnappingLines(This,count,lpFrameWindowSnapLine)

#define IRnWindowControlSnapping_Unsnapped(This,bsUnsnappedFromFrame)	\
    (This)->lpVtbl -> Unsnapped(This,bsUnsnappedFromFrame)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnWindowControlSnapping_AllowCornerSnapping_Proxy( 
    IRnWindowControlSnapping * This,
    /* [out] */ BOOL *bResult);


void __RPC_STUB IRnWindowControlSnapping_AllowCornerSnapping_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnWindowControlSnapping_GetSnappingLines_Proxy( 
    IRnWindowControlSnapping * This,
    /* [out][in] */ int *count,
    /* [size_is][out] */ struct _WINDOW_SNAP_LINE **lpFrameWindowSnapLine);


void __RPC_STUB IRnWindowControlSnapping_GetSnappingLines_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnWindowControlSnapping_Unsnapped_Proxy( 
    IRnWindowControlSnapping * This,
    /* [in] */ BSTR bsUnsnappedFromFrame);


void __RPC_STUB IRnWindowControlSnapping_Unsnapped_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRnWindowControlSnapping_INTERFACE_DEFINED__ */


#ifndef __IRnWindowChildSizingNotify_INTERFACE_DEFINED__
#define __IRnWindowChildSizingNotify_INTERFACE_DEFINED__

/* interface IRnWindowChildSizingNotify */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnWindowChildSizingNotify;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("1394B204-27AD-41da-B49C-5814F74010AC")
    IRnWindowChildSizingNotify : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE StartSizingChild( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE EndSizingChild( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRnWindowChildSizingNotifyVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnWindowChildSizingNotify * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnWindowChildSizingNotify * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnWindowChildSizingNotify * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *StartSizingChild )( 
            IRnWindowChildSizingNotify * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *EndSizingChild )( 
            IRnWindowChildSizingNotify * This);
        
        END_INTERFACE
    } IRnWindowChildSizingNotifyVtbl;

    interface IRnWindowChildSizingNotify
    {
        CONST_VTBL struct IRnWindowChildSizingNotifyVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnWindowChildSizingNotify_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnWindowChildSizingNotify_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnWindowChildSizingNotify_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRnWindowChildSizingNotify_StartSizingChild(This)	\
    (This)->lpVtbl -> StartSizingChild(This)

#define IRnWindowChildSizingNotify_EndSizingChild(This)	\
    (This)->lpVtbl -> EndSizingChild(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnWindowChildSizingNotify_StartSizingChild_Proxy( 
    IRnWindowChildSizingNotify * This);


void __RPC_STUB IRnWindowChildSizingNotify_StartSizingChild_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnWindowChildSizingNotify_EndSizingChild_Proxy( 
    IRnWindowChildSizingNotify * This);


void __RPC_STUB IRnWindowChildSizingNotify_EndSizingChild_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRnWindowChildSizingNotify_INTERFACE_DEFINED__ */


#ifndef __IRnWindowControlSizing_INTERFACE_DEFINED__
#define __IRnWindowControlSizing_INTERFACE_DEFINED__

/* interface IRnWindowControlSizing */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnWindowControlSizing;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("A1D71E7E-570E-49a3-A184-82444C3DB08B")
    IRnWindowControlSizing : public IUnknown
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Expanded( 
            /* [retval][out] */ RtBYTE *pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Expanded( 
            /* [in] */ RtBYTE newVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_HasDesiredSize( 
            /* [retval][out] */ BOOL *pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetDesiredSize( 
            /* [in] */ int iOrientation,
            /* [in] */ int iDockWidth,
            /* [in] */ int iDockHeight,
            /* [out] */ int *iWidth,
            /* [out] */ int *iHeight) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetMinimalSize( 
            /* [in] */ int iOrientation,
            /* [out] */ int *iWidth,
            /* [out] */ int *iHeight) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE IsHiddenByMinimizing( 
            /* [out] */ RtBool *bRetVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetDesiredHeightForWidth( 
            /* [in] */ int iOrientation,
            /* [in] */ int iWidth,
            /* [out] */ int *iHeight) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRnWindowControlSizingVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnWindowControlSizing * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnWindowControlSizing * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnWindowControlSizing * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Expanded )( 
            IRnWindowControlSizing * This,
            /* [retval][out] */ RtBYTE *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Expanded )( 
            IRnWindowControlSizing * This,
            /* [in] */ RtBYTE newVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasDesiredSize )( 
            IRnWindowControlSizing * This,
            /* [retval][out] */ BOOL *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetDesiredSize )( 
            IRnWindowControlSizing * This,
            /* [in] */ int iOrientation,
            /* [in] */ int iDockWidth,
            /* [in] */ int iDockHeight,
            /* [out] */ int *iWidth,
            /* [out] */ int *iHeight);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetMinimalSize )( 
            IRnWindowControlSizing * This,
            /* [in] */ int iOrientation,
            /* [out] */ int *iWidth,
            /* [out] */ int *iHeight);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *IsHiddenByMinimizing )( 
            IRnWindowControlSizing * This,
            /* [out] */ RtBool *bRetVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetDesiredHeightForWidth )( 
            IRnWindowControlSizing * This,
            /* [in] */ int iOrientation,
            /* [in] */ int iWidth,
            /* [out] */ int *iHeight);
        
        END_INTERFACE
    } IRnWindowControlSizingVtbl;

    interface IRnWindowControlSizing
    {
        CONST_VTBL struct IRnWindowControlSizingVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnWindowControlSizing_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnWindowControlSizing_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnWindowControlSizing_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRnWindowControlSizing_get_Expanded(This,pVal)	\
    (This)->lpVtbl -> get_Expanded(This,pVal)

#define IRnWindowControlSizing_put_Expanded(This,newVal)	\
    (This)->lpVtbl -> put_Expanded(This,newVal)

#define IRnWindowControlSizing_get_HasDesiredSize(This,pVal)	\
    (This)->lpVtbl -> get_HasDesiredSize(This,pVal)

#define IRnWindowControlSizing_GetDesiredSize(This,iOrientation,iDockWidth,iDockHeight,iWidth,iHeight)	\
    (This)->lpVtbl -> GetDesiredSize(This,iOrientation,iDockWidth,iDockHeight,iWidth,iHeight)

#define IRnWindowControlSizing_GetMinimalSize(This,iOrientation,iWidth,iHeight)	\
    (This)->lpVtbl -> GetMinimalSize(This,iOrientation,iWidth,iHeight)

#define IRnWindowControlSizing_IsHiddenByMinimizing(This,bRetVal)	\
    (This)->lpVtbl -> IsHiddenByMinimizing(This,bRetVal)

#define IRnWindowControlSizing_GetDesiredHeightForWidth(This,iOrientation,iWidth,iHeight)	\
    (This)->lpVtbl -> GetDesiredHeightForWidth(This,iOrientation,iWidth,iHeight)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRnWindowControlSizing_get_Expanded_Proxy( 
    IRnWindowControlSizing * This,
    /* [retval][out] */ RtBYTE *pVal);


void __RPC_STUB IRnWindowControlSizing_get_Expanded_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRnWindowControlSizing_put_Expanded_Proxy( 
    IRnWindowControlSizing * This,
    /* [in] */ RtBYTE newVal);


void __RPC_STUB IRnWindowControlSizing_put_Expanded_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRnWindowControlSizing_get_HasDesiredSize_Proxy( 
    IRnWindowControlSizing * This,
    /* [retval][out] */ BOOL *pVal);


void __RPC_STUB IRnWindowControlSizing_get_HasDesiredSize_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnWindowControlSizing_GetDesiredSize_Proxy( 
    IRnWindowControlSizing * This,
    /* [in] */ int iOrientation,
    /* [in] */ int iDockWidth,
    /* [in] */ int iDockHeight,
    /* [out] */ int *iWidth,
    /* [out] */ int *iHeight);


void __RPC_STUB IRnWindowControlSizing_GetDesiredSize_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnWindowControlSizing_GetMinimalSize_Proxy( 
    IRnWindowControlSizing * This,
    /* [in] */ int iOrientation,
    /* [out] */ int *iWidth,
    /* [out] */ int *iHeight);


void __RPC_STUB IRnWindowControlSizing_GetMinimalSize_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnWindowControlSizing_IsHiddenByMinimizing_Proxy( 
    IRnWindowControlSizing * This,
    /* [out] */ RtBool *bRetVal);


void __RPC_STUB IRnWindowControlSizing_IsHiddenByMinimizing_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnWindowControlSizing_GetDesiredHeightForWidth_Proxy( 
    IRnWindowControlSizing * This,
    /* [in] */ int iOrientation,
    /* [in] */ int iWidth,
    /* [out] */ int *iHeight);


void __RPC_STUB IRnWindowControlSizing_GetDesiredHeightForWidth_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRnWindowControlSizing_INTERFACE_DEFINED__ */


#ifndef __IRnWindowControlFrameMenu_INTERFACE_DEFINED__
#define __IRnWindowControlFrameMenu_INTERFACE_DEFINED__

/* interface IRnWindowControlFrameMenu */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnWindowControlFrameMenu;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("18DFCE4D-3AC6-433c-9A2B-E4F6F663E45C")
    IRnWindowControlFrameMenu : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetFrameMenuItemCount( 
            /* [out] */ RtUlong *iCount) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetFrameMenuItem( 
            /* [in] */ RtUlong index,
            /* [out] */ BSTR *text,
            /* [out] */ HICON *hIcon) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetFrameMenuItemCommand( 
            /* [in] */ RtUlong index,
            /* [out] */ BSTR *lpCommand) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRnWindowControlFrameMenuVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnWindowControlFrameMenu * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnWindowControlFrameMenu * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnWindowControlFrameMenu * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetFrameMenuItemCount )( 
            IRnWindowControlFrameMenu * This,
            /* [out] */ RtUlong *iCount);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetFrameMenuItem )( 
            IRnWindowControlFrameMenu * This,
            /* [in] */ RtUlong index,
            /* [out] */ BSTR *text,
            /* [out] */ HICON *hIcon);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetFrameMenuItemCommand )( 
            IRnWindowControlFrameMenu * This,
            /* [in] */ RtUlong index,
            /* [out] */ BSTR *lpCommand);
        
        END_INTERFACE
    } IRnWindowControlFrameMenuVtbl;

    interface IRnWindowControlFrameMenu
    {
        CONST_VTBL struct IRnWindowControlFrameMenuVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnWindowControlFrameMenu_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnWindowControlFrameMenu_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnWindowControlFrameMenu_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRnWindowControlFrameMenu_GetFrameMenuItemCount(This,iCount)	\
    (This)->lpVtbl -> GetFrameMenuItemCount(This,iCount)

#define IRnWindowControlFrameMenu_GetFrameMenuItem(This,index,text,hIcon)	\
    (This)->lpVtbl -> GetFrameMenuItem(This,index,text,hIcon)

#define IRnWindowControlFrameMenu_GetFrameMenuItemCommand(This,index,lpCommand)	\
    (This)->lpVtbl -> GetFrameMenuItemCommand(This,index,lpCommand)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnWindowControlFrameMenu_GetFrameMenuItemCount_Proxy( 
    IRnWindowControlFrameMenu * This,
    /* [out] */ RtUlong *iCount);


void __RPC_STUB IRnWindowControlFrameMenu_GetFrameMenuItemCount_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnWindowControlFrameMenu_GetFrameMenuItem_Proxy( 
    IRnWindowControlFrameMenu * This,
    /* [in] */ RtUlong index,
    /* [out] */ BSTR *text,
    /* [out] */ HICON *hIcon);


void __RPC_STUB IRnWindowControlFrameMenu_GetFrameMenuItem_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnWindowControlFrameMenu_GetFrameMenuItemCommand_Proxy( 
    IRnWindowControlFrameMenu * This,
    /* [in] */ RtUlong index,
    /* [out] */ BSTR *lpCommand);


void __RPC_STUB IRnWindowControlFrameMenu_GetFrameMenuItemCommand_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRnWindowControlFrameMenu_INTERFACE_DEFINED__ */


/* interface __MIDL_itf__Kernel_1027 */
/* [local] */ 

typedef 
enum _tagRtRosettaWindowCommandMenuType
    {	RWCMT_ICONIZE_ALL	= 0,
	RWCMT_MINIMIZE_ALL	= 1,
	RWCMT_EXPAND_ALL	= 2,
	RWCMT_CLOSE_ALL	= 3,
	RWCMT_ARRANGE	= 4,
	RWCMT_ZOOM_TO_FIT_ALL	= 5,
	RWCMT_CENTER_SELECTED	= 6,
	RWCMT_LAST_COMMAND	= 7
    } 	RtRosettaWindowCommandMenuType;

typedef 
enum _tagRtRosettaWindowCommandMenuExecuteStatus
    {	RWCMES_HIDE	= 0,
	RWCMES_DISABLED	= 1,
	RWCMES_ENABLED	= 2
    } 	RtRosettaWindowCommandMenuExecuteStatus;



extern RPC_IF_HANDLE __MIDL_itf__Kernel_1027_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf__Kernel_1027_v0_0_s_ifspec;

#ifndef __IRsWindowControlRosettaWindowCommandMenu_INTERFACE_DEFINED__
#define __IRsWindowControlRosettaWindowCommandMenu_INTERFACE_DEFINED__

/* interface IRsWindowControlRosettaWindowCommandMenu */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsWindowControlRosettaWindowCommandMenu;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("C7BD8207-DDD3-430a-B112-02FC73AE31CF")
    IRsWindowControlRosettaWindowCommandMenu : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CanExecuteRosettaWindowCommand( 
            /* [in] */ RtRosettaWindowCommandMenuType iCommand,
            /* [out] */ BSTR *bszCommand,
            /* [retval][out] */ RtRosettaWindowCommandMenuExecuteStatus *pResult) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsWindowControlRosettaWindowCommandMenuVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsWindowControlRosettaWindowCommandMenu * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsWindowControlRosettaWindowCommandMenu * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsWindowControlRosettaWindowCommandMenu * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CanExecuteRosettaWindowCommand )( 
            IRsWindowControlRosettaWindowCommandMenu * This,
            /* [in] */ RtRosettaWindowCommandMenuType iCommand,
            /* [out] */ BSTR *bszCommand,
            /* [retval][out] */ RtRosettaWindowCommandMenuExecuteStatus *pResult);
        
        END_INTERFACE
    } IRsWindowControlRosettaWindowCommandMenuVtbl;

    interface IRsWindowControlRosettaWindowCommandMenu
    {
        CONST_VTBL struct IRsWindowControlRosettaWindowCommandMenuVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsWindowControlRosettaWindowCommandMenu_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsWindowControlRosettaWindowCommandMenu_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsWindowControlRosettaWindowCommandMenu_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsWindowControlRosettaWindowCommandMenu_CanExecuteRosettaWindowCommand(This,iCommand,bszCommand,pResult)	\
    (This)->lpVtbl -> CanExecuteRosettaWindowCommand(This,iCommand,bszCommand,pResult)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsWindowControlRosettaWindowCommandMenu_CanExecuteRosettaWindowCommand_Proxy( 
    IRsWindowControlRosettaWindowCommandMenu * This,
    /* [in] */ RtRosettaWindowCommandMenuType iCommand,
    /* [out] */ BSTR *bszCommand,
    /* [retval][out] */ RtRosettaWindowCommandMenuExecuteStatus *pResult);


void __RPC_STUB IRsWindowControlRosettaWindowCommandMenu_CanExecuteRosettaWindowCommand_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsWindowControlRosettaWindowCommandMenu_INTERFACE_DEFINED__ */


#ifndef __IRnWindowControlFrameMenuAdvanced_INTERFACE_DEFINED__
#define __IRnWindowControlFrameMenuAdvanced_INTERFACE_DEFINED__

/* interface IRnWindowControlFrameMenuAdvanced */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnWindowControlFrameMenuAdvanced;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("A47FB13B-F3B7-4ff5-A206-157366EE4761")
    IRnWindowControlFrameMenuAdvanced : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE FillFrameMenu( 
            /* [in] */ HMENU hMenu) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetFrameMenuItemCommand( 
            /* [in] */ RtUlong index,
            /* [out] */ BSTR *lpCommand) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRnWindowControlFrameMenuAdvancedVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnWindowControlFrameMenuAdvanced * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnWindowControlFrameMenuAdvanced * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnWindowControlFrameMenuAdvanced * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *FillFrameMenu )( 
            IRnWindowControlFrameMenuAdvanced * This,
            /* [in] */ HMENU hMenu);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetFrameMenuItemCommand )( 
            IRnWindowControlFrameMenuAdvanced * This,
            /* [in] */ RtUlong index,
            /* [out] */ BSTR *lpCommand);
        
        END_INTERFACE
    } IRnWindowControlFrameMenuAdvancedVtbl;

    interface IRnWindowControlFrameMenuAdvanced
    {
        CONST_VTBL struct IRnWindowControlFrameMenuAdvancedVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnWindowControlFrameMenuAdvanced_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnWindowControlFrameMenuAdvanced_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnWindowControlFrameMenuAdvanced_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRnWindowControlFrameMenuAdvanced_FillFrameMenu(This,hMenu)	\
    (This)->lpVtbl -> FillFrameMenu(This,hMenu)

#define IRnWindowControlFrameMenuAdvanced_GetFrameMenuItemCommand(This,index,lpCommand)	\
    (This)->lpVtbl -> GetFrameMenuItemCommand(This,index,lpCommand)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnWindowControlFrameMenuAdvanced_FillFrameMenu_Proxy( 
    IRnWindowControlFrameMenuAdvanced * This,
    /* [in] */ HMENU hMenu);


void __RPC_STUB IRnWindowControlFrameMenuAdvanced_FillFrameMenu_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnWindowControlFrameMenuAdvanced_GetFrameMenuItemCommand_Proxy( 
    IRnWindowControlFrameMenuAdvanced * This,
    /* [in] */ RtUlong index,
    /* [out] */ BSTR *lpCommand);


void __RPC_STUB IRnWindowControlFrameMenuAdvanced_GetFrameMenuItemCommand_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRnWindowControlFrameMenuAdvanced_INTERFACE_DEFINED__ */


#ifndef __IRnWindowControlChangeRoot_INTERFACE_DEFINED__
#define __IRnWindowControlChangeRoot_INTERFACE_DEFINED__

/* interface IRnWindowControlChangeRoot */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnWindowControlChangeRoot;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("D9649730-7098-40b6-A6EA-0558D107AA6B")
    IRnWindowControlChangeRoot : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE IsCorrectRoot( 
            /* [in] */ BSTR szRoot,
            /* [in] */ IRsNode *lpNode,
            /* [out] */ RtBool *lpResult) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE IsPreferredRoot( 
            /* [in] */ BSTR szRoot,
            /* [in] */ IRsNode *lpNode,
            /* [out] */ RtBool *lpResult) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RootHasChanged( 
            /* [in] */ BSTR szRoot,
            /* [in] */ IRsNode *lpNode) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRnWindowControlChangeRootVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnWindowControlChangeRoot * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnWindowControlChangeRoot * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnWindowControlChangeRoot * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *IsCorrectRoot )( 
            IRnWindowControlChangeRoot * This,
            /* [in] */ BSTR szRoot,
            /* [in] */ IRsNode *lpNode,
            /* [out] */ RtBool *lpResult);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *IsPreferredRoot )( 
            IRnWindowControlChangeRoot * This,
            /* [in] */ BSTR szRoot,
            /* [in] */ IRsNode *lpNode,
            /* [out] */ RtBool *lpResult);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RootHasChanged )( 
            IRnWindowControlChangeRoot * This,
            /* [in] */ BSTR szRoot,
            /* [in] */ IRsNode *lpNode);
        
        END_INTERFACE
    } IRnWindowControlChangeRootVtbl;

    interface IRnWindowControlChangeRoot
    {
        CONST_VTBL struct IRnWindowControlChangeRootVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnWindowControlChangeRoot_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnWindowControlChangeRoot_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnWindowControlChangeRoot_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRnWindowControlChangeRoot_IsCorrectRoot(This,szRoot,lpNode,lpResult)	\
    (This)->lpVtbl -> IsCorrectRoot(This,szRoot,lpNode,lpResult)

#define IRnWindowControlChangeRoot_IsPreferredRoot(This,szRoot,lpNode,lpResult)	\
    (This)->lpVtbl -> IsPreferredRoot(This,szRoot,lpNode,lpResult)

#define IRnWindowControlChangeRoot_RootHasChanged(This,szRoot,lpNode)	\
    (This)->lpVtbl -> RootHasChanged(This,szRoot,lpNode)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnWindowControlChangeRoot_IsCorrectRoot_Proxy( 
    IRnWindowControlChangeRoot * This,
    /* [in] */ BSTR szRoot,
    /* [in] */ IRsNode *lpNode,
    /* [out] */ RtBool *lpResult);


void __RPC_STUB IRnWindowControlChangeRoot_IsCorrectRoot_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnWindowControlChangeRoot_IsPreferredRoot_Proxy( 
    IRnWindowControlChangeRoot * This,
    /* [in] */ BSTR szRoot,
    /* [in] */ IRsNode *lpNode,
    /* [out] */ RtBool *lpResult);


void __RPC_STUB IRnWindowControlChangeRoot_IsPreferredRoot_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnWindowControlChangeRoot_RootHasChanged_Proxy( 
    IRnWindowControlChangeRoot * This,
    /* [in] */ BSTR szRoot,
    /* [in] */ IRsNode *lpNode);


void __RPC_STUB IRnWindowControlChangeRoot_RootHasChanged_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRnWindowControlChangeRoot_INTERFACE_DEFINED__ */


#ifndef __IRnWindowControlChildWindowChanges_INTERFACE_DEFINED__
#define __IRnWindowControlChildWindowChanges_INTERFACE_DEFINED__

/* interface IRnWindowControlChildWindowChanges */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnWindowControlChildWindowChanges;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("B3E9708C-46C0-438e-BDD1-6B4EDF032714")
    IRnWindowControlChildWindowChanges : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ChildHasBeenResized( 
            /* [in] */ IRsNode *pNode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ChildHasBeenMoved( 
            /* [in] */ IRsNode *pNode) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRnWindowControlChildWindowChangesVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnWindowControlChildWindowChanges * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnWindowControlChildWindowChanges * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnWindowControlChildWindowChanges * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ChildHasBeenResized )( 
            IRnWindowControlChildWindowChanges * This,
            /* [in] */ IRsNode *pNode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ChildHasBeenMoved )( 
            IRnWindowControlChildWindowChanges * This,
            /* [in] */ IRsNode *pNode);
        
        END_INTERFACE
    } IRnWindowControlChildWindowChangesVtbl;

    interface IRnWindowControlChildWindowChanges
    {
        CONST_VTBL struct IRnWindowControlChildWindowChangesVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnWindowControlChildWindowChanges_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnWindowControlChildWindowChanges_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnWindowControlChildWindowChanges_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRnWindowControlChildWindowChanges_ChildHasBeenResized(This,pNode)	\
    (This)->lpVtbl -> ChildHasBeenResized(This,pNode)

#define IRnWindowControlChildWindowChanges_ChildHasBeenMoved(This,pNode)	\
    (This)->lpVtbl -> ChildHasBeenMoved(This,pNode)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnWindowControlChildWindowChanges_ChildHasBeenResized_Proxy( 
    IRnWindowControlChildWindowChanges * This,
    /* [in] */ IRsNode *pNode);


void __RPC_STUB IRnWindowControlChildWindowChanges_ChildHasBeenResized_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnWindowControlChildWindowChanges_ChildHasBeenMoved_Proxy( 
    IRnWindowControlChildWindowChanges * This,
    /* [in] */ IRsNode *pNode);


void __RPC_STUB IRnWindowControlChildWindowChanges_ChildHasBeenMoved_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRnWindowControlChildWindowChanges_INTERFACE_DEFINED__ */


#ifndef __IRnWindowControlParentWindowChanges_INTERFACE_DEFINED__
#define __IRnWindowControlParentWindowChanges_INTERFACE_DEFINED__

/* interface IRnWindowControlParentWindowChanges */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnWindowControlParentWindowChanges;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("731DA0E8-7A06-457d-AD5C-FDBF9A3C5A75")
    IRnWindowControlParentWindowChanges : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ParentHasBeenResized( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ParentHasBeenMoved( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ParentHasBeenShowed( 
            /* [in] */ int iShowCmd) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ParentIsClosing( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AspectIsChanging( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRnWindowControlParentWindowChangesVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnWindowControlParentWindowChanges * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnWindowControlParentWindowChanges * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnWindowControlParentWindowChanges * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ParentHasBeenResized )( 
            IRnWindowControlParentWindowChanges * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ParentHasBeenMoved )( 
            IRnWindowControlParentWindowChanges * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ParentHasBeenShowed )( 
            IRnWindowControlParentWindowChanges * This,
            /* [in] */ int iShowCmd);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ParentIsClosing )( 
            IRnWindowControlParentWindowChanges * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AspectIsChanging )( 
            IRnWindowControlParentWindowChanges * This);
        
        END_INTERFACE
    } IRnWindowControlParentWindowChangesVtbl;

    interface IRnWindowControlParentWindowChanges
    {
        CONST_VTBL struct IRnWindowControlParentWindowChangesVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnWindowControlParentWindowChanges_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnWindowControlParentWindowChanges_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnWindowControlParentWindowChanges_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRnWindowControlParentWindowChanges_ParentHasBeenResized(This)	\
    (This)->lpVtbl -> ParentHasBeenResized(This)

#define IRnWindowControlParentWindowChanges_ParentHasBeenMoved(This)	\
    (This)->lpVtbl -> ParentHasBeenMoved(This)

#define IRnWindowControlParentWindowChanges_ParentHasBeenShowed(This,iShowCmd)	\
    (This)->lpVtbl -> ParentHasBeenShowed(This,iShowCmd)

#define IRnWindowControlParentWindowChanges_ParentIsClosing(This)	\
    (This)->lpVtbl -> ParentIsClosing(This)

#define IRnWindowControlParentWindowChanges_AspectIsChanging(This)	\
    (This)->lpVtbl -> AspectIsChanging(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnWindowControlParentWindowChanges_ParentHasBeenResized_Proxy( 
    IRnWindowControlParentWindowChanges * This);


void __RPC_STUB IRnWindowControlParentWindowChanges_ParentHasBeenResized_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnWindowControlParentWindowChanges_ParentHasBeenMoved_Proxy( 
    IRnWindowControlParentWindowChanges * This);


void __RPC_STUB IRnWindowControlParentWindowChanges_ParentHasBeenMoved_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnWindowControlParentWindowChanges_ParentHasBeenShowed_Proxy( 
    IRnWindowControlParentWindowChanges * This,
    /* [in] */ int iShowCmd);


void __RPC_STUB IRnWindowControlParentWindowChanges_ParentHasBeenShowed_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnWindowControlParentWindowChanges_ParentIsClosing_Proxy( 
    IRnWindowControlParentWindowChanges * This);


void __RPC_STUB IRnWindowControlParentWindowChanges_ParentIsClosing_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnWindowControlParentWindowChanges_AspectIsChanging_Proxy( 
    IRnWindowControlParentWindowChanges * This);


void __RPC_STUB IRnWindowControlParentWindowChanges_AspectIsChanging_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRnWindowControlParentWindowChanges_INTERFACE_DEFINED__ */


#ifndef __IRnWindowControlOrientation_INTERFACE_DEFINED__
#define __IRnWindowControlOrientation_INTERFACE_DEFINED__

/* interface IRnWindowControlOrientation */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnWindowControlOrientation;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("D8E7FD6F-8AA3-477c-8285-BCF5C57C0FD7")
    IRnWindowControlOrientation : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE IsHorizontal( 
            /* [retval][out] */ RtBool *pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetOrientation( 
            /* [in] */ RtBool bHorizontal) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRnWindowControlOrientationVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnWindowControlOrientation * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnWindowControlOrientation * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnWindowControlOrientation * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *IsHorizontal )( 
            IRnWindowControlOrientation * This,
            /* [retval][out] */ RtBool *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetOrientation )( 
            IRnWindowControlOrientation * This,
            /* [in] */ RtBool bHorizontal);
        
        END_INTERFACE
    } IRnWindowControlOrientationVtbl;

    interface IRnWindowControlOrientation
    {
        CONST_VTBL struct IRnWindowControlOrientationVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnWindowControlOrientation_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnWindowControlOrientation_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnWindowControlOrientation_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRnWindowControlOrientation_IsHorizontal(This,pVal)	\
    (This)->lpVtbl -> IsHorizontal(This,pVal)

#define IRnWindowControlOrientation_SetOrientation(This,bHorizontal)	\
    (This)->lpVtbl -> SetOrientation(This,bHorizontal)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnWindowControlOrientation_IsHorizontal_Proxy( 
    IRnWindowControlOrientation * This,
    /* [retval][out] */ RtBool *pVal);


void __RPC_STUB IRnWindowControlOrientation_IsHorizontal_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnWindowControlOrientation_SetOrientation_Proxy( 
    IRnWindowControlOrientation * This,
    /* [in] */ RtBool bHorizontal);


void __RPC_STUB IRnWindowControlOrientation_SetOrientation_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRnWindowControlOrientation_INTERFACE_DEFINED__ */


#ifndef __IRnWindowControlPositionInGraph_INTERFACE_DEFINED__
#define __IRnWindowControlPositionInGraph_INTERFACE_DEFINED__

/* interface IRnWindowControlPositionInGraph */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnWindowControlPositionInGraph;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("E975A5E7-927B-4226-81ED-DDFAE4D06D13")
    IRnWindowControlPositionInGraph : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE BeforePositionInGraphChange( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AfterPositionInGraphChange( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRnWindowControlPositionInGraphVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnWindowControlPositionInGraph * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnWindowControlPositionInGraph * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnWindowControlPositionInGraph * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *BeforePositionInGraphChange )( 
            IRnWindowControlPositionInGraph * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AfterPositionInGraphChange )( 
            IRnWindowControlPositionInGraph * This);
        
        END_INTERFACE
    } IRnWindowControlPositionInGraphVtbl;

    interface IRnWindowControlPositionInGraph
    {
        CONST_VTBL struct IRnWindowControlPositionInGraphVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnWindowControlPositionInGraph_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnWindowControlPositionInGraph_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnWindowControlPositionInGraph_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRnWindowControlPositionInGraph_BeforePositionInGraphChange(This)	\
    (This)->lpVtbl -> BeforePositionInGraphChange(This)

#define IRnWindowControlPositionInGraph_AfterPositionInGraphChange(This)	\
    (This)->lpVtbl -> AfterPositionInGraphChange(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnWindowControlPositionInGraph_BeforePositionInGraphChange_Proxy( 
    IRnWindowControlPositionInGraph * This);


void __RPC_STUB IRnWindowControlPositionInGraph_BeforePositionInGraphChange_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnWindowControlPositionInGraph_AfterPositionInGraphChange_Proxy( 
    IRnWindowControlPositionInGraph * This);


void __RPC_STUB IRnWindowControlPositionInGraph_AfterPositionInGraphChange_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRnWindowControlPositionInGraph_INTERFACE_DEFINED__ */


#ifndef __IRnWindowControlFrameControls_INTERFACE_DEFINED__
#define __IRnWindowControlFrameControls_INTERFACE_DEFINED__

/* interface IRnWindowControlFrameControls */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnWindowControlFrameControls;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("00B9B713-15B6-4d2c-B4AA-5A4874E81038")
    IRnWindowControlFrameControls : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE HasClose( 
            /* [retval][out] */ RtBool *pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE HasAspectButton( 
            /* [retval][out] */ RtBool *pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE HasExitButton( 
            /* [retval][out] */ RtBool *pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Title( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ExitCommand( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetIcon( 
            /* [retval][out] */ HICON *hIcon) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE HasTab( 
            /* [in] */ RtBool bIsActive,
            /* [retval][out] */ RtBool *pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AllowLibraryTabs( 
            /* [retval][out] */ RtLong *pVal) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRnWindowControlFrameControlsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnWindowControlFrameControls * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnWindowControlFrameControls * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnWindowControlFrameControls * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *HasClose )( 
            IRnWindowControlFrameControls * This,
            /* [retval][out] */ RtBool *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *HasAspectButton )( 
            IRnWindowControlFrameControls * This,
            /* [retval][out] */ RtBool *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *HasExitButton )( 
            IRnWindowControlFrameControls * This,
            /* [retval][out] */ RtBool *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Title )( 
            IRnWindowControlFrameControls * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ExitCommand )( 
            IRnWindowControlFrameControls * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetIcon )( 
            IRnWindowControlFrameControls * This,
            /* [retval][out] */ HICON *hIcon);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *HasTab )( 
            IRnWindowControlFrameControls * This,
            /* [in] */ RtBool bIsActive,
            /* [retval][out] */ RtBool *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AllowLibraryTabs )( 
            IRnWindowControlFrameControls * This,
            /* [retval][out] */ RtLong *pVal);
        
        END_INTERFACE
    } IRnWindowControlFrameControlsVtbl;

    interface IRnWindowControlFrameControls
    {
        CONST_VTBL struct IRnWindowControlFrameControlsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnWindowControlFrameControls_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnWindowControlFrameControls_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnWindowControlFrameControls_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRnWindowControlFrameControls_HasClose(This,pVal)	\
    (This)->lpVtbl -> HasClose(This,pVal)

#define IRnWindowControlFrameControls_HasAspectButton(This,pVal)	\
    (This)->lpVtbl -> HasAspectButton(This,pVal)

#define IRnWindowControlFrameControls_HasExitButton(This,pVal)	\
    (This)->lpVtbl -> HasExitButton(This,pVal)

#define IRnWindowControlFrameControls_Title(This,pVal)	\
    (This)->lpVtbl -> Title(This,pVal)

#define IRnWindowControlFrameControls_ExitCommand(This,pVal)	\
    (This)->lpVtbl -> ExitCommand(This,pVal)

#define IRnWindowControlFrameControls_GetIcon(This,hIcon)	\
    (This)->lpVtbl -> GetIcon(This,hIcon)

#define IRnWindowControlFrameControls_HasTab(This,bIsActive,pVal)	\
    (This)->lpVtbl -> HasTab(This,bIsActive,pVal)

#define IRnWindowControlFrameControls_AllowLibraryTabs(This,pVal)	\
    (This)->lpVtbl -> AllowLibraryTabs(This,pVal)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnWindowControlFrameControls_HasClose_Proxy( 
    IRnWindowControlFrameControls * This,
    /* [retval][out] */ RtBool *pVal);


void __RPC_STUB IRnWindowControlFrameControls_HasClose_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnWindowControlFrameControls_HasAspectButton_Proxy( 
    IRnWindowControlFrameControls * This,
    /* [retval][out] */ RtBool *pVal);


void __RPC_STUB IRnWindowControlFrameControls_HasAspectButton_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnWindowControlFrameControls_HasExitButton_Proxy( 
    IRnWindowControlFrameControls * This,
    /* [retval][out] */ RtBool *pVal);


void __RPC_STUB IRnWindowControlFrameControls_HasExitButton_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnWindowControlFrameControls_Title_Proxy( 
    IRnWindowControlFrameControls * This,
    /* [retval][out] */ BSTR *pVal);


void __RPC_STUB IRnWindowControlFrameControls_Title_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnWindowControlFrameControls_ExitCommand_Proxy( 
    IRnWindowControlFrameControls * This,
    /* [retval][out] */ BSTR *pVal);


void __RPC_STUB IRnWindowControlFrameControls_ExitCommand_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnWindowControlFrameControls_GetIcon_Proxy( 
    IRnWindowControlFrameControls * This,
    /* [retval][out] */ HICON *hIcon);


void __RPC_STUB IRnWindowControlFrameControls_GetIcon_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnWindowControlFrameControls_HasTab_Proxy( 
    IRnWindowControlFrameControls * This,
    /* [in] */ RtBool bIsActive,
    /* [retval][out] */ RtBool *pVal);


void __RPC_STUB IRnWindowControlFrameControls_HasTab_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnWindowControlFrameControls_AllowLibraryTabs_Proxy( 
    IRnWindowControlFrameControls * This,
    /* [retval][out] */ RtLong *pVal);


void __RPC_STUB IRnWindowControlFrameControls_AllowLibraryTabs_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRnWindowControlFrameControls_INTERFACE_DEFINED__ */


#ifndef __IRnFrameTabsController_INTERFACE_DEFINED__
#define __IRnFrameTabsController_INTERFACE_DEFINED__

/* interface IRnFrameTabsController */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnFrameTabsController;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("28F56B43-8AAB-4f33-B98B-4D3699432B86")
    IRnFrameTabsController : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetTabsCnt( 
            /* [retval][out] */ RtLong *pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetTab( 
            /* [in] */ RtLong index,
            /* [out] */ BSTR *pName,
            /* [out] */ BSTR *pCommand,
            /* [out] */ HICON *hIcon) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetSelectedTabIndex( 
            /* [retval][out] */ RtLong *pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CanAddDefaultTabs( 
            /* [retval][out] */ RtBool *pVal) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRnFrameTabsControllerVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnFrameTabsController * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnFrameTabsController * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnFrameTabsController * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetTabsCnt )( 
            IRnFrameTabsController * This,
            /* [retval][out] */ RtLong *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetTab )( 
            IRnFrameTabsController * This,
            /* [in] */ RtLong index,
            /* [out] */ BSTR *pName,
            /* [out] */ BSTR *pCommand,
            /* [out] */ HICON *hIcon);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetSelectedTabIndex )( 
            IRnFrameTabsController * This,
            /* [retval][out] */ RtLong *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CanAddDefaultTabs )( 
            IRnFrameTabsController * This,
            /* [retval][out] */ RtBool *pVal);
        
        END_INTERFACE
    } IRnFrameTabsControllerVtbl;

    interface IRnFrameTabsController
    {
        CONST_VTBL struct IRnFrameTabsControllerVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnFrameTabsController_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnFrameTabsController_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnFrameTabsController_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRnFrameTabsController_GetTabsCnt(This,pVal)	\
    (This)->lpVtbl -> GetTabsCnt(This,pVal)

#define IRnFrameTabsController_GetTab(This,index,pName,pCommand,hIcon)	\
    (This)->lpVtbl -> GetTab(This,index,pName,pCommand,hIcon)

#define IRnFrameTabsController_GetSelectedTabIndex(This,pVal)	\
    (This)->lpVtbl -> GetSelectedTabIndex(This,pVal)

#define IRnFrameTabsController_CanAddDefaultTabs(This,pVal)	\
    (This)->lpVtbl -> CanAddDefaultTabs(This,pVal)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnFrameTabsController_GetTabsCnt_Proxy( 
    IRnFrameTabsController * This,
    /* [retval][out] */ RtLong *pVal);


void __RPC_STUB IRnFrameTabsController_GetTabsCnt_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnFrameTabsController_GetTab_Proxy( 
    IRnFrameTabsController * This,
    /* [in] */ RtLong index,
    /* [out] */ BSTR *pName,
    /* [out] */ BSTR *pCommand,
    /* [out] */ HICON *hIcon);


void __RPC_STUB IRnFrameTabsController_GetTab_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnFrameTabsController_GetSelectedTabIndex_Proxy( 
    IRnFrameTabsController * This,
    /* [retval][out] */ RtLong *pVal);


void __RPC_STUB IRnFrameTabsController_GetSelectedTabIndex_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnFrameTabsController_CanAddDefaultTabs_Proxy( 
    IRnFrameTabsController * This,
    /* [retval][out] */ RtBool *pVal);


void __RPC_STUB IRnFrameTabsController_CanAddDefaultTabs_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRnFrameTabsController_INTERFACE_DEFINED__ */


#ifndef __IRnWindowControlCopying_INTERFACE_DEFINED__
#define __IRnWindowControlCopying_INTERFACE_DEFINED__

/* interface IRnWindowControlCopying */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnWindowControlCopying;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("D7F1C7A5-A903-4d14-9F9A-D767E2CE6475")
    IRnWindowControlCopying : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CanBeCopied( 
            /* [retval][out] */ RtBool *pVal) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRnWindowControlCopyingVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnWindowControlCopying * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnWindowControlCopying * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnWindowControlCopying * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CanBeCopied )( 
            IRnWindowControlCopying * This,
            /* [retval][out] */ RtBool *pVal);
        
        END_INTERFACE
    } IRnWindowControlCopyingVtbl;

    interface IRnWindowControlCopying
    {
        CONST_VTBL struct IRnWindowControlCopyingVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnWindowControlCopying_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnWindowControlCopying_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnWindowControlCopying_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRnWindowControlCopying_CanBeCopied(This,pVal)	\
    (This)->lpVtbl -> CanBeCopied(This,pVal)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnWindowControlCopying_CanBeCopied_Proxy( 
    IRnWindowControlCopying * This,
    /* [retval][out] */ RtBool *pVal);


void __RPC_STUB IRnWindowControlCopying_CanBeCopied_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRnWindowControlCopying_INTERFACE_DEFINED__ */


#ifndef __IRnWindowControlZoomBase_INTERFACE_DEFINED__
#define __IRnWindowControlZoomBase_INTERFACE_DEFINED__

/* interface IRnWindowControlZoomBase */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnWindowControlZoomBase;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("854CC8B8-8ABD-45a7-A03E-33D0389C5C64")
    IRnWindowControlZoomBase : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Zoomable( 
            /* [retval][out] */ RtBool *pVal) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRnWindowControlZoomBaseVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnWindowControlZoomBase * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnWindowControlZoomBase * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnWindowControlZoomBase * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Zoomable )( 
            IRnWindowControlZoomBase * This,
            /* [retval][out] */ RtBool *pVal);
        
        END_INTERFACE
    } IRnWindowControlZoomBaseVtbl;

    interface IRnWindowControlZoomBase
    {
        CONST_VTBL struct IRnWindowControlZoomBaseVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnWindowControlZoomBase_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnWindowControlZoomBase_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnWindowControlZoomBase_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRnWindowControlZoomBase_Zoomable(This,pVal)	\
    (This)->lpVtbl -> Zoomable(This,pVal)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnWindowControlZoomBase_Zoomable_Proxy( 
    IRnWindowControlZoomBase * This,
    /* [retval][out] */ RtBool *pVal);


void __RPC_STUB IRnWindowControlZoomBase_Zoomable_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRnWindowControlZoomBase_INTERFACE_DEFINED__ */


#ifndef __IRnWindowControlZoom_INTERFACE_DEFINED__
#define __IRnWindowControlZoom_INTERFACE_DEFINED__

/* interface IRnWindowControlZoom */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnWindowControlZoom;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("F2F7F5C6-6388-4a3a-8994-E54352592C2C")
    IRnWindowControlZoom : public IRnWindowControlZoomBase
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ZoomBgType( 
            /* [retval][out] */ RtShort *pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ZoomBgBrush( 
            /* [retval][out] */ HBRUSH *pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CloseWhenOtherWindowIsZoomed( 
            /* [retval][out] */ RtBool *pVal) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRnWindowControlZoomVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnWindowControlZoom * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnWindowControlZoom * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnWindowControlZoom * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Zoomable )( 
            IRnWindowControlZoom * This,
            /* [retval][out] */ RtBool *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ZoomBgType )( 
            IRnWindowControlZoom * This,
            /* [retval][out] */ RtShort *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ZoomBgBrush )( 
            IRnWindowControlZoom * This,
            /* [retval][out] */ HBRUSH *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CloseWhenOtherWindowIsZoomed )( 
            IRnWindowControlZoom * This,
            /* [retval][out] */ RtBool *pVal);
        
        END_INTERFACE
    } IRnWindowControlZoomVtbl;

    interface IRnWindowControlZoom
    {
        CONST_VTBL struct IRnWindowControlZoomVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnWindowControlZoom_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnWindowControlZoom_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnWindowControlZoom_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRnWindowControlZoom_Zoomable(This,pVal)	\
    (This)->lpVtbl -> Zoomable(This,pVal)


#define IRnWindowControlZoom_get_ZoomBgType(This,pVal)	\
    (This)->lpVtbl -> get_ZoomBgType(This,pVal)

#define IRnWindowControlZoom_ZoomBgBrush(This,pVal)	\
    (This)->lpVtbl -> ZoomBgBrush(This,pVal)

#define IRnWindowControlZoom_CloseWhenOtherWindowIsZoomed(This,pVal)	\
    (This)->lpVtbl -> CloseWhenOtherWindowIsZoomed(This,pVal)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRnWindowControlZoom_get_ZoomBgType_Proxy( 
    IRnWindowControlZoom * This,
    /* [retval][out] */ RtShort *pVal);


void __RPC_STUB IRnWindowControlZoom_get_ZoomBgType_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnWindowControlZoom_ZoomBgBrush_Proxy( 
    IRnWindowControlZoom * This,
    /* [retval][out] */ HBRUSH *pVal);


void __RPC_STUB IRnWindowControlZoom_ZoomBgBrush_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnWindowControlZoom_CloseWhenOtherWindowIsZoomed_Proxy( 
    IRnWindowControlZoom * This,
    /* [retval][out] */ RtBool *pVal);


void __RPC_STUB IRnWindowControlZoom_CloseWhenOtherWindowIsZoomed_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRnWindowControlZoom_INTERFACE_DEFINED__ */


#ifndef __IRsPreferencesController_INTERFACE_DEFINED__
#define __IRsPreferencesController_INTERFACE_DEFINED__

/* interface IRsPreferencesController */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsPreferencesController;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("7F7BA7D8-5947-459d-9114-7A810D0D626D")
    IRsPreferencesController : public IRsObject
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetPreferencePanels( 
            /* [out] */ LPSAFEARRAY *pPanelNames,
            /* [out] */ LPSAFEARRAY *pPanelAspects) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsPreferencesControllerVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsPreferencesController * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsPreferencesController * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsPreferencesController * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassId )( 
            IRsPreferencesController * This,
            /* [retval][out] */ GUID *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassName )( 
            IRsPreferencesController * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetPreferencePanels )( 
            IRsPreferencesController * This,
            /* [out] */ LPSAFEARRAY *pPanelNames,
            /* [out] */ LPSAFEARRAY *pPanelAspects);
        
        END_INTERFACE
    } IRsPreferencesControllerVtbl;

    interface IRsPreferencesController
    {
        CONST_VTBL struct IRsPreferencesControllerVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsPreferencesController_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsPreferencesController_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsPreferencesController_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsPreferencesController_get_ClassId(This,pVal)	\
    (This)->lpVtbl -> get_ClassId(This,pVal)

#define IRsPreferencesController_get_ClassName(This,pVal)	\
    (This)->lpVtbl -> get_ClassName(This,pVal)


#define IRsPreferencesController_GetPreferencePanels(This,pPanelNames,pPanelAspects)	\
    (This)->lpVtbl -> GetPreferencePanels(This,pPanelNames,pPanelAspects)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsPreferencesController_GetPreferencePanels_Proxy( 
    IRsPreferencesController * This,
    /* [out] */ LPSAFEARRAY *pPanelNames,
    /* [out] */ LPSAFEARRAY *pPanelAspects);


void __RPC_STUB IRsPreferencesController_GetPreferencePanels_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsPreferencesController_INTERFACE_DEFINED__ */


/* interface __MIDL_itf__Kernel_1040 */
/* [local] */ 

typedef struct RtObjectPreviewSettings
    {
    RtDWORD m_dwSettingsVersion;
    RtDWORD m_dwWidth;
    RtDWORD m_dwHeight;
    RtFloat m_fQuality;
    COLORREF m_dwBackgroundColor;
    } 	RtObjectPreviewSettings;



extern RPC_IF_HANDLE __MIDL_itf__Kernel_1040_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf__Kernel_1040_v0_0_s_ifspec;

#ifndef __IRsObjectPreviewWorker_INTERFACE_DEFINED__
#define __IRsObjectPreviewWorker_INTERFACE_DEFINED__

/* interface IRsObjectPreviewWorker */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsObjectPreviewWorker;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("8BD2485D-A37B-4a53-9167-EB599DE1DBB6")
    IRsObjectPreviewWorker : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE PreviewObject( 
            /* [in] */ IRsObject *pObject,
            /* [in] */ RtObjectPreviewSettings *pSettings,
            /* [out] */ IRdBitmap **pImage) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsObjectPreviewWorkerVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsObjectPreviewWorker * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsObjectPreviewWorker * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsObjectPreviewWorker * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *PreviewObject )( 
            IRsObjectPreviewWorker * This,
            /* [in] */ IRsObject *pObject,
            /* [in] */ RtObjectPreviewSettings *pSettings,
            /* [out] */ IRdBitmap **pImage);
        
        END_INTERFACE
    } IRsObjectPreviewWorkerVtbl;

    interface IRsObjectPreviewWorker
    {
        CONST_VTBL struct IRsObjectPreviewWorkerVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsObjectPreviewWorker_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsObjectPreviewWorker_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsObjectPreviewWorker_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsObjectPreviewWorker_PreviewObject(This,pObject,pSettings,pImage)	\
    (This)->lpVtbl -> PreviewObject(This,pObject,pSettings,pImage)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsObjectPreviewWorker_PreviewObject_Proxy( 
    IRsObjectPreviewWorker * This,
    /* [in] */ IRsObject *pObject,
    /* [in] */ RtObjectPreviewSettings *pSettings,
    /* [out] */ IRdBitmap **pImage);


void __RPC_STUB IRsObjectPreviewWorker_PreviewObject_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsObjectPreviewWorker_INTERFACE_DEFINED__ */


#ifndef __IRsObjectPreviewManager_INTERFACE_DEFINED__
#define __IRsObjectPreviewManager_INTERFACE_DEFINED__

/* interface IRsObjectPreviewManager */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsObjectPreviewManager;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("4D7345B5-9881-4865-A100-911A9365465B")
    IRsObjectPreviewManager : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddWorker( 
            /* [in] */ IRsObjectPreviewWorker *pWorker,
            /* [in] */ RtFloat fPriority) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RemoveWorker( 
            /* [in] */ IRsObjectPreviewWorker *pWorker) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE MakePreview( 
            /* [in] */ IRsObject *pObject,
            /* [in] */ RtObjectPreviewSettings *pSettings,
            /* [out] */ IRdBitmap **pImage) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsObjectPreviewManagerVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsObjectPreviewManager * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsObjectPreviewManager * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsObjectPreviewManager * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddWorker )( 
            IRsObjectPreviewManager * This,
            /* [in] */ IRsObjectPreviewWorker *pWorker,
            /* [in] */ RtFloat fPriority);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RemoveWorker )( 
            IRsObjectPreviewManager * This,
            /* [in] */ IRsObjectPreviewWorker *pWorker);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *MakePreview )( 
            IRsObjectPreviewManager * This,
            /* [in] */ IRsObject *pObject,
            /* [in] */ RtObjectPreviewSettings *pSettings,
            /* [out] */ IRdBitmap **pImage);
        
        END_INTERFACE
    } IRsObjectPreviewManagerVtbl;

    interface IRsObjectPreviewManager
    {
        CONST_VTBL struct IRsObjectPreviewManagerVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsObjectPreviewManager_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsObjectPreviewManager_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsObjectPreviewManager_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsObjectPreviewManager_AddWorker(This,pWorker,fPriority)	\
    (This)->lpVtbl -> AddWorker(This,pWorker,fPriority)

#define IRsObjectPreviewManager_RemoveWorker(This,pWorker)	\
    (This)->lpVtbl -> RemoveWorker(This,pWorker)

#define IRsObjectPreviewManager_MakePreview(This,pObject,pSettings,pImage)	\
    (This)->lpVtbl -> MakePreview(This,pObject,pSettings,pImage)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsObjectPreviewManager_AddWorker_Proxy( 
    IRsObjectPreviewManager * This,
    /* [in] */ IRsObjectPreviewWorker *pWorker,
    /* [in] */ RtFloat fPriority);


void __RPC_STUB IRsObjectPreviewManager_AddWorker_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsObjectPreviewManager_RemoveWorker_Proxy( 
    IRsObjectPreviewManager * This,
    /* [in] */ IRsObjectPreviewWorker *pWorker);


void __RPC_STUB IRsObjectPreviewManager_RemoveWorker_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsObjectPreviewManager_MakePreview_Proxy( 
    IRsObjectPreviewManager * This,
    /* [in] */ IRsObject *pObject,
    /* [in] */ RtObjectPreviewSettings *pSettings,
    /* [out] */ IRdBitmap **pImage);


void __RPC_STUB IRsObjectPreviewManager_MakePreview_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsObjectPreviewManager_INTERFACE_DEFINED__ */


#ifndef __IRnObjectName_INTERFACE_DEFINED__
#define __IRnObjectName_INTERFACE_DEFINED__

/* interface IRnObjectName */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnObjectName;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("67E4818C-DAD9-4A58-B53A-621FDB834BAC")
    IRnObjectName : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRnObjectNameVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnObjectName * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnObjectName * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnObjectName * This);
        
        END_INTERFACE
    } IRnObjectNameVtbl;

    interface IRnObjectName
    {
        CONST_VTBL struct IRnObjectNameVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnObjectName_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnObjectName_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnObjectName_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRnObjectName_INTERFACE_DEFINED__ */


#ifndef __IRnOwnerName_INTERFACE_DEFINED__
#define __IRnOwnerName_INTERFACE_DEFINED__

/* interface IRnOwnerName */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnOwnerName;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("DE443875-801A-4D8D-8F68-DE62AE45169A")
    IRnOwnerName : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRnOwnerNameVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnOwnerName * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnOwnerName * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnOwnerName * This);
        
        END_INTERFACE
    } IRnOwnerNameVtbl;

    interface IRnOwnerName
    {
        CONST_VTBL struct IRnOwnerNameVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnOwnerName_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnOwnerName_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnOwnerName_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRnOwnerName_INTERFACE_DEFINED__ */


#ifndef __IRsReturn_INTERFACE_DEFINED__
#define __IRsReturn_INTERFACE_DEFINED__

/* interface IRsReturn */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IRsReturn;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("1EB45C00-D44E-47E7-8441-3590BAC517C5")
    IRsReturn : public IDispatch
    {
    public:
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Param( 
            /* [in] */ BSTR name,
            /* [retval][out] */ VARIANT *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_Param( 
            /* [in] */ BSTR name,
            /* [in] */ VARIANT newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_ConValue( 
            /* [in] */ BSTR name,
            /* [retval][out] */ VARIANT *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_ConValue( 
            /* [in] */ BSTR name,
            /* [in] */ VARIANT newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_ConDataObject( 
            /* [in] */ BSTR name,
            /* [retval][out] */ VARIANT *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_ConDataObject( 
            /* [in] */ BSTR name,
            /* [in] */ VARIANT newVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetControlOut( 
            /* [in] */ BSTR name) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetControlIn( 
            /* [retval][out] */ BSTR *pName) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetTerminationFlag( void) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Global( 
            /* [in] */ BSTR name,
            /* [retval][out] */ VARIANT *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_Global( 
            /* [in] */ BSTR name,
            /* [in] */ VARIANT newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_IsGlobal( 
            /* [in] */ BSTR name,
            /* [retval][out] */ RtBOOL *pVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE DeleteGlobal( 
            /* [in] */ BSTR name) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsReturnVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsReturn * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsReturn * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsReturn * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IRsReturn * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IRsReturn * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IRsReturn * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IRsReturn * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Param )( 
            IRsReturn * This,
            /* [in] */ BSTR name,
            /* [retval][out] */ VARIANT *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Param )( 
            IRsReturn * This,
            /* [in] */ BSTR name,
            /* [in] */ VARIANT newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ConValue )( 
            IRsReturn * This,
            /* [in] */ BSTR name,
            /* [retval][out] */ VARIANT *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ConValue )( 
            IRsReturn * This,
            /* [in] */ BSTR name,
            /* [in] */ VARIANT newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ConDataObject )( 
            IRsReturn * This,
            /* [in] */ BSTR name,
            /* [retval][out] */ VARIANT *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ConDataObject )( 
            IRsReturn * This,
            /* [in] */ BSTR name,
            /* [in] */ VARIANT newVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetControlOut )( 
            IRsReturn * This,
            /* [in] */ BSTR name);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetControlIn )( 
            IRsReturn * This,
            /* [retval][out] */ BSTR *pName);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetTerminationFlag )( 
            IRsReturn * This);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Global )( 
            IRsReturn * This,
            /* [in] */ BSTR name,
            /* [retval][out] */ VARIANT *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Global )( 
            IRsReturn * This,
            /* [in] */ BSTR name,
            /* [in] */ VARIANT newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsGlobal )( 
            IRsReturn * This,
            /* [in] */ BSTR name,
            /* [retval][out] */ RtBOOL *pVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *DeleteGlobal )( 
            IRsReturn * This,
            /* [in] */ BSTR name);
        
        END_INTERFACE
    } IRsReturnVtbl;

    interface IRsReturn
    {
        CONST_VTBL struct IRsReturnVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsReturn_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsReturn_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsReturn_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsReturn_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IRsReturn_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IRsReturn_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IRsReturn_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IRsReturn_get_Param(This,name,pVal)	\
    (This)->lpVtbl -> get_Param(This,name,pVal)

#define IRsReturn_put_Param(This,name,newVal)	\
    (This)->lpVtbl -> put_Param(This,name,newVal)

#define IRsReturn_get_ConValue(This,name,pVal)	\
    (This)->lpVtbl -> get_ConValue(This,name,pVal)

#define IRsReturn_put_ConValue(This,name,newVal)	\
    (This)->lpVtbl -> put_ConValue(This,name,newVal)

#define IRsReturn_get_ConDataObject(This,name,pVal)	\
    (This)->lpVtbl -> get_ConDataObject(This,name,pVal)

#define IRsReturn_put_ConDataObject(This,name,newVal)	\
    (This)->lpVtbl -> put_ConDataObject(This,name,newVal)

#define IRsReturn_SetControlOut(This,name)	\
    (This)->lpVtbl -> SetControlOut(This,name)

#define IRsReturn_GetControlIn(This,pName)	\
    (This)->lpVtbl -> GetControlIn(This,pName)

#define IRsReturn_SetTerminationFlag(This)	\
    (This)->lpVtbl -> SetTerminationFlag(This)

#define IRsReturn_get_Global(This,name,pVal)	\
    (This)->lpVtbl -> get_Global(This,name,pVal)

#define IRsReturn_put_Global(This,name,newVal)	\
    (This)->lpVtbl -> put_Global(This,name,newVal)

#define IRsReturn_get_IsGlobal(This,name,pVal)	\
    (This)->lpVtbl -> get_IsGlobal(This,name,pVal)

#define IRsReturn_DeleteGlobal(This,name)	\
    (This)->lpVtbl -> DeleteGlobal(This,name)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IRsReturn_get_Param_Proxy( 
    IRsReturn * This,
    /* [in] */ BSTR name,
    /* [retval][out] */ VARIANT *pVal);


void __RPC_STUB IRsReturn_get_Param_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IRsReturn_put_Param_Proxy( 
    IRsReturn * This,
    /* [in] */ BSTR name,
    /* [in] */ VARIANT newVal);


void __RPC_STUB IRsReturn_put_Param_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IRsReturn_get_ConValue_Proxy( 
    IRsReturn * This,
    /* [in] */ BSTR name,
    /* [retval][out] */ VARIANT *pVal);


void __RPC_STUB IRsReturn_get_ConValue_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IRsReturn_put_ConValue_Proxy( 
    IRsReturn * This,
    /* [in] */ BSTR name,
    /* [in] */ VARIANT newVal);


void __RPC_STUB IRsReturn_put_ConValue_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IRsReturn_get_ConDataObject_Proxy( 
    IRsReturn * This,
    /* [in] */ BSTR name,
    /* [retval][out] */ VARIANT *pVal);


void __RPC_STUB IRsReturn_get_ConDataObject_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IRsReturn_put_ConDataObject_Proxy( 
    IRsReturn * This,
    /* [in] */ BSTR name,
    /* [in] */ VARIANT newVal);


void __RPC_STUB IRsReturn_put_ConDataObject_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRsReturn_SetControlOut_Proxy( 
    IRsReturn * This,
    /* [in] */ BSTR name);


void __RPC_STUB IRsReturn_SetControlOut_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRsReturn_GetControlIn_Proxy( 
    IRsReturn * This,
    /* [retval][out] */ BSTR *pName);


void __RPC_STUB IRsReturn_GetControlIn_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRsReturn_SetTerminationFlag_Proxy( 
    IRsReturn * This);


void __RPC_STUB IRsReturn_SetTerminationFlag_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IRsReturn_get_Global_Proxy( 
    IRsReturn * This,
    /* [in] */ BSTR name,
    /* [retval][out] */ VARIANT *pVal);


void __RPC_STUB IRsReturn_get_Global_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IRsReturn_put_Global_Proxy( 
    IRsReturn * This,
    /* [in] */ BSTR name,
    /* [in] */ VARIANT newVal);


void __RPC_STUB IRsReturn_put_Global_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IRsReturn_get_IsGlobal_Proxy( 
    IRsReturn * This,
    /* [in] */ BSTR name,
    /* [retval][out] */ RtBOOL *pVal);


void __RPC_STUB IRsReturn_get_IsGlobal_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRsReturn_DeleteGlobal_Proxy( 
    IRsReturn * This,
    /* [in] */ BSTR name);


void __RPC_STUB IRsReturn_DeleteGlobal_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsReturn_INTERFACE_DEFINED__ */


#ifndef __IRsReturnPriv_INTERFACE_DEFINED__
#define __IRsReturnPriv_INTERFACE_DEFINED__

/* interface IRsReturnPriv */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsReturnPriv;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("B494A9F4-C484-4ec8-9FAD-9104BB337DC6")
    IRsReturnPriv : public IUnknown
    {
    public:
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Clear( void) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ResetChangeFlags( void) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_ChangeFlag( 
            /* [in] */ BSTR name,
            /* [retval][out] */ RtBool *pVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetControlIn( 
            /* [in] */ BSTR name) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetControlOut( 
            /* [retval][out] */ BSTR *pName) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_ControlOutChangeFlag( 
            /* [retval][out] */ RtBool *pVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetTerminationFlag( 
            /* [retval][out] */ RtBool *pVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetNextGlobal( 
            /* [out][in] */ BSTR *pName,
            /* [out] */ VARIANT *pVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE RemoveGlobals( void) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ResetGlobalsChangeFlag( void) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_GlobalsChangeFlag( 
            /* [retval][out] */ RtBool *pVal) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsReturnPrivVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsReturnPriv * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsReturnPriv * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsReturnPriv * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Clear )( 
            IRsReturnPriv * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *ResetChangeFlags )( 
            IRsReturnPriv * This);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ChangeFlag )( 
            IRsReturnPriv * This,
            /* [in] */ BSTR name,
            /* [retval][out] */ RtBool *pVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetControlIn )( 
            IRsReturnPriv * This,
            /* [in] */ BSTR name);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetControlOut )( 
            IRsReturnPriv * This,
            /* [retval][out] */ BSTR *pName);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ControlOutChangeFlag )( 
            IRsReturnPriv * This,
            /* [retval][out] */ RtBool *pVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetTerminationFlag )( 
            IRsReturnPriv * This,
            /* [retval][out] */ RtBool *pVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetNextGlobal )( 
            IRsReturnPriv * This,
            /* [out][in] */ BSTR *pName,
            /* [out] */ VARIANT *pVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *RemoveGlobals )( 
            IRsReturnPriv * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *ResetGlobalsChangeFlag )( 
            IRsReturnPriv * This);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_GlobalsChangeFlag )( 
            IRsReturnPriv * This,
            /* [retval][out] */ RtBool *pVal);
        
        END_INTERFACE
    } IRsReturnPrivVtbl;

    interface IRsReturnPriv
    {
        CONST_VTBL struct IRsReturnPrivVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsReturnPriv_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsReturnPriv_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsReturnPriv_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsReturnPriv_Clear(This)	\
    (This)->lpVtbl -> Clear(This)

#define IRsReturnPriv_ResetChangeFlags(This)	\
    (This)->lpVtbl -> ResetChangeFlags(This)

#define IRsReturnPriv_get_ChangeFlag(This,name,pVal)	\
    (This)->lpVtbl -> get_ChangeFlag(This,name,pVal)

#define IRsReturnPriv_SetControlIn(This,name)	\
    (This)->lpVtbl -> SetControlIn(This,name)

#define IRsReturnPriv_GetControlOut(This,pName)	\
    (This)->lpVtbl -> GetControlOut(This,pName)

#define IRsReturnPriv_get_ControlOutChangeFlag(This,pVal)	\
    (This)->lpVtbl -> get_ControlOutChangeFlag(This,pVal)

#define IRsReturnPriv_GetTerminationFlag(This,pVal)	\
    (This)->lpVtbl -> GetTerminationFlag(This,pVal)

#define IRsReturnPriv_GetNextGlobal(This,pName,pVal)	\
    (This)->lpVtbl -> GetNextGlobal(This,pName,pVal)

#define IRsReturnPriv_RemoveGlobals(This)	\
    (This)->lpVtbl -> RemoveGlobals(This)

#define IRsReturnPriv_ResetGlobalsChangeFlag(This)	\
    (This)->lpVtbl -> ResetGlobalsChangeFlag(This)

#define IRsReturnPriv_get_GlobalsChangeFlag(This,pVal)	\
    (This)->lpVtbl -> get_GlobalsChangeFlag(This,pVal)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRsReturnPriv_Clear_Proxy( 
    IRsReturnPriv * This);


void __RPC_STUB IRsReturnPriv_Clear_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRsReturnPriv_ResetChangeFlags_Proxy( 
    IRsReturnPriv * This);


void __RPC_STUB IRsReturnPriv_ResetChangeFlags_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IRsReturnPriv_get_ChangeFlag_Proxy( 
    IRsReturnPriv * This,
    /* [in] */ BSTR name,
    /* [retval][out] */ RtBool *pVal);


void __RPC_STUB IRsReturnPriv_get_ChangeFlag_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRsReturnPriv_SetControlIn_Proxy( 
    IRsReturnPriv * This,
    /* [in] */ BSTR name);


void __RPC_STUB IRsReturnPriv_SetControlIn_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRsReturnPriv_GetControlOut_Proxy( 
    IRsReturnPriv * This,
    /* [retval][out] */ BSTR *pName);


void __RPC_STUB IRsReturnPriv_GetControlOut_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IRsReturnPriv_get_ControlOutChangeFlag_Proxy( 
    IRsReturnPriv * This,
    /* [retval][out] */ RtBool *pVal);


void __RPC_STUB IRsReturnPriv_get_ControlOutChangeFlag_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRsReturnPriv_GetTerminationFlag_Proxy( 
    IRsReturnPriv * This,
    /* [retval][out] */ RtBool *pVal);


void __RPC_STUB IRsReturnPriv_GetTerminationFlag_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRsReturnPriv_GetNextGlobal_Proxy( 
    IRsReturnPriv * This,
    /* [out][in] */ BSTR *pName,
    /* [out] */ VARIANT *pVal);


void __RPC_STUB IRsReturnPriv_GetNextGlobal_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRsReturnPriv_RemoveGlobals_Proxy( 
    IRsReturnPriv * This);


void __RPC_STUB IRsReturnPriv_RemoveGlobals_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRsReturnPriv_ResetGlobalsChangeFlag_Proxy( 
    IRsReturnPriv * This);


void __RPC_STUB IRsReturnPriv_ResetGlobalsChangeFlag_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IRsReturnPriv_get_GlobalsChangeFlag_Proxy( 
    IRsReturnPriv * This,
    /* [retval][out] */ RtBool *pVal);


void __RPC_STUB IRsReturnPriv_get_GlobalsChangeFlag_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsReturnPriv_INTERFACE_DEFINED__ */


#ifndef __IRsLogFile_INTERFACE_DEFINED__
#define __IRsLogFile_INTERFACE_DEFINED__

/* interface IRsLogFile */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsLogFile;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("A69DCAE4-F47F-4e43-8567-3AED32ED91B8")
    IRsLogFile : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRsLogFileVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsLogFile * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsLogFile * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsLogFile * This);
        
        END_INTERFACE
    } IRsLogFileVtbl;

    interface IRsLogFile
    {
        CONST_VTBL struct IRsLogFileVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsLogFile_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsLogFile_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsLogFile_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRsLogFile_INTERFACE_DEFINED__ */


#ifndef __IRsLogMsg_INTERFACE_DEFINED__
#define __IRsLogMsg_INTERFACE_DEFINED__

/* interface IRsLogMsg */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsLogMsg;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("B7F26D87-7963-4c65-B28B-8B3E94A91D41")
    IRsLogMsg : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRsLogMsgVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsLogMsg * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsLogMsg * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsLogMsg * This);
        
        END_INTERFACE
    } IRsLogMsgVtbl;

    interface IRsLogMsg
    {
        CONST_VTBL struct IRsLogMsgVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsLogMsg_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsLogMsg_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsLogMsg_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRsLogMsg_INTERFACE_DEFINED__ */


#ifndef __IRsKernelNodeFactory_INTERFACE_DEFINED__
#define __IRsKernelNodeFactory_INTERFACE_DEFINED__

/* interface IRsKernelNodeFactory */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsKernelNodeFactory;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("E82B74A1-2D56-4F55-8B20-3C04EC104547")
    IRsKernelNodeFactory : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRsKernelNodeFactoryVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsKernelNodeFactory * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsKernelNodeFactory * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsKernelNodeFactory * This);
        
        END_INTERFACE
    } IRsKernelNodeFactoryVtbl;

    interface IRsKernelNodeFactory
    {
        CONST_VTBL struct IRsKernelNodeFactoryVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsKernelNodeFactory_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsKernelNodeFactory_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsKernelNodeFactory_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRsKernelNodeFactory_INTERFACE_DEFINED__ */


#ifndef __IRsKernelCmdFactory_INTERFACE_DEFINED__
#define __IRsKernelCmdFactory_INTERFACE_DEFINED__

/* interface IRsKernelCmdFactory */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsKernelCmdFactory;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("40A54CD0-2EDD-4230-8F0A-2675103C95B7")
    IRsKernelCmdFactory : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRsKernelCmdFactoryVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsKernelCmdFactory * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsKernelCmdFactory * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsKernelCmdFactory * This);
        
        END_INTERFACE
    } IRsKernelCmdFactoryVtbl;

    interface IRsKernelCmdFactory
    {
        CONST_VTBL struct IRsKernelCmdFactoryVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsKernelCmdFactory_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsKernelCmdFactory_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsKernelCmdFactory_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRsKernelCmdFactory_INTERFACE_DEFINED__ */


#ifndef __IRsKernelDataFactory_INTERFACE_DEFINED__
#define __IRsKernelDataFactory_INTERFACE_DEFINED__

/* interface IRsKernelDataFactory */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsKernelDataFactory;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("4BD8B54D-522D-439f-9D8B-2A6EFEE84582")
    IRsKernelDataFactory : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRsKernelDataFactoryVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsKernelDataFactory * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsKernelDataFactory * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsKernelDataFactory * This);
        
        END_INTERFACE
    } IRsKernelDataFactoryVtbl;

    interface IRsKernelDataFactory
    {
        CONST_VTBL struct IRsKernelDataFactoryVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsKernelDataFactory_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsKernelDataFactory_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsKernelDataFactory_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRsKernelDataFactory_INTERFACE_DEFINED__ */


#ifndef __IRcSyncCmd_INTERFACE_DEFINED__
#define __IRcSyncCmd_INTERFACE_DEFINED__

/* interface IRcSyncCmd */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcSyncCmd;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("62F6C67C-B454-4E41-B565-32554C145F50")
    IRcSyncCmd : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcSyncCmdVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcSyncCmd * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcSyncCmd * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcSyncCmd * This);
        
        END_INTERFACE
    } IRcSyncCmdVtbl;

    interface IRcSyncCmd
    {
        CONST_VTBL struct IRcSyncCmdVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcSyncCmd_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcSyncCmd_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcSyncCmd_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcSyncCmd_INTERFACE_DEFINED__ */


#ifndef __IRcUISyncCmd_INTERFACE_DEFINED__
#define __IRcUISyncCmd_INTERFACE_DEFINED__

/* interface IRcUISyncCmd */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcUISyncCmd;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("BEEB6870-589E-4AC0-A7AE-02EC4479D9B4")
    IRcUISyncCmd : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcUISyncCmdVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcUISyncCmd * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcUISyncCmd * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcUISyncCmd * This);
        
        END_INTERFACE
    } IRcUISyncCmdVtbl;

    interface IRcUISyncCmd
    {
        CONST_VTBL struct IRcUISyncCmdVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcUISyncCmd_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcUISyncCmd_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcUISyncCmd_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcUISyncCmd_INTERFACE_DEFINED__ */


#ifndef __IRsToolEx_INTERFACE_DEFINED__
#define __IRsToolEx_INTERFACE_DEFINED__

/* interface IRsToolEx */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsToolEx;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("DB0E87BA-3ADB-4C5B-A615-3D78F8475EC6")
    IRsToolEx : public IRsTool
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetToolPriority( 
            /* [in] */ RtMouseEvent *pMouseEvent,
            /* [in] */ IRsNode *pViewNode,
            /* [out] */ RtUlong *pPriority) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnToolRemove( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnFocusLost( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnFocus( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE IsToolLocked( 
            /* [in] */ RtBool *pbLocked) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ProcessMouseEvent( 
            /* [in] */ RtMouseEvent *pMouseEvent,
            /* [in] */ IRsNode *pViewNode) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsToolExVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsToolEx * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsToolEx * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsToolEx * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OnPress )( 
            IRsToolEx * This,
            /* [in] */ RtMouseEvent *pEvent,
            /* [in] */ IRsNode *pViewNode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OnDrag )( 
            IRsToolEx * This,
            /* [in] */ RtMouseEvent *pEvent);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OnRelease )( 
            IRsToolEx * This,
            /* [in] */ RtMouseEvent *pEvent);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetToolPriority )( 
            IRsToolEx * This,
            /* [in] */ RtMouseEvent *pMouseEvent,
            /* [in] */ IRsNode *pViewNode,
            /* [out] */ RtUlong *pPriority);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OnToolRemove )( 
            IRsToolEx * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OnFocusLost )( 
            IRsToolEx * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OnFocus )( 
            IRsToolEx * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *IsToolLocked )( 
            IRsToolEx * This,
            /* [in] */ RtBool *pbLocked);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ProcessMouseEvent )( 
            IRsToolEx * This,
            /* [in] */ RtMouseEvent *pMouseEvent,
            /* [in] */ IRsNode *pViewNode);
        
        END_INTERFACE
    } IRsToolExVtbl;

    interface IRsToolEx
    {
        CONST_VTBL struct IRsToolExVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsToolEx_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsToolEx_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsToolEx_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsToolEx_OnPress(This,pEvent,pViewNode)	\
    (This)->lpVtbl -> OnPress(This,pEvent,pViewNode)

#define IRsToolEx_OnDrag(This,pEvent)	\
    (This)->lpVtbl -> OnDrag(This,pEvent)

#define IRsToolEx_OnRelease(This,pEvent)	\
    (This)->lpVtbl -> OnRelease(This,pEvent)


#define IRsToolEx_GetToolPriority(This,pMouseEvent,pViewNode,pPriority)	\
    (This)->lpVtbl -> GetToolPriority(This,pMouseEvent,pViewNode,pPriority)

#define IRsToolEx_OnToolRemove(This)	\
    (This)->lpVtbl -> OnToolRemove(This)

#define IRsToolEx_OnFocusLost(This)	\
    (This)->lpVtbl -> OnFocusLost(This)

#define IRsToolEx_OnFocus(This)	\
    (This)->lpVtbl -> OnFocus(This)

#define IRsToolEx_IsToolLocked(This,pbLocked)	\
    (This)->lpVtbl -> IsToolLocked(This,pbLocked)

#define IRsToolEx_ProcessMouseEvent(This,pMouseEvent,pViewNode)	\
    (This)->lpVtbl -> ProcessMouseEvent(This,pMouseEvent,pViewNode)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsToolEx_GetToolPriority_Proxy( 
    IRsToolEx * This,
    /* [in] */ RtMouseEvent *pMouseEvent,
    /* [in] */ IRsNode *pViewNode,
    /* [out] */ RtUlong *pPriority);


void __RPC_STUB IRsToolEx_GetToolPriority_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsToolEx_OnToolRemove_Proxy( 
    IRsToolEx * This);


void __RPC_STUB IRsToolEx_OnToolRemove_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsToolEx_OnFocusLost_Proxy( 
    IRsToolEx * This);


void __RPC_STUB IRsToolEx_OnFocusLost_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsToolEx_OnFocus_Proxy( 
    IRsToolEx * This);


void __RPC_STUB IRsToolEx_OnFocus_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsToolEx_IsToolLocked_Proxy( 
    IRsToolEx * This,
    /* [in] */ RtBool *pbLocked);


void __RPC_STUB IRsToolEx_IsToolLocked_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsToolEx_ProcessMouseEvent_Proxy( 
    IRsToolEx * This,
    /* [in] */ RtMouseEvent *pMouseEvent,
    /* [in] */ IRsNode *pViewNode);


void __RPC_STUB IRsToolEx_ProcessMouseEvent_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsToolEx_INTERFACE_DEFINED__ */


#ifndef __IRsToolIdentification_INTERFACE_DEFINED__
#define __IRsToolIdentification_INTERFACE_DEFINED__

/* interface IRsToolIdentification */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsToolIdentification;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("BEE7A31E-8053-470f-893F-FA3361BA9F95")
    IRsToolIdentification : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetToolGroup( 
            /* [out] */ GUID *pgId) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsToolIdentificationVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsToolIdentification * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsToolIdentification * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsToolIdentification * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetToolGroup )( 
            IRsToolIdentification * This,
            /* [out] */ GUID *pgId);
        
        END_INTERFACE
    } IRsToolIdentificationVtbl;

    interface IRsToolIdentification
    {
        CONST_VTBL struct IRsToolIdentificationVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsToolIdentification_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsToolIdentification_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsToolIdentification_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsToolIdentification_GetToolGroup(This,pgId)	\
    (This)->lpVtbl -> GetToolGroup(This,pgId)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsToolIdentification_GetToolGroup_Proxy( 
    IRsToolIdentification * This,
    /* [out] */ GUID *pgId);


void __RPC_STUB IRsToolIdentification_GetToolGroup_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsToolIdentification_INTERFACE_DEFINED__ */


#ifndef __IRsWidgetController_INTERFACE_DEFINED__
#define __IRsWidgetController_INTERFACE_DEFINED__

/* interface IRsWidgetController */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsWidgetController;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("D35F3A07-CD82-411d-8BD8-0D15140094FD")
    IRsWidgetController : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetToolPriority( 
            /* [in] */ RtMouseEvent *pMouseEvent,
            /* [in] */ IRsNode *pViewNode,
            /* [out] */ RtUlong *pPriority) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnToolRemove( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnFocusLost( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnFocus( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE IsToolLocked( 
            /* [in] */ RtBool *pbLocked) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ProcessMouseEvent( 
            /* [in] */ RtMouseEvent *pMouseEvent,
            /* [in] */ IRsNode *pViewNode) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsWidgetControllerVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsWidgetController * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsWidgetController * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsWidgetController * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetToolPriority )( 
            IRsWidgetController * This,
            /* [in] */ RtMouseEvent *pMouseEvent,
            /* [in] */ IRsNode *pViewNode,
            /* [out] */ RtUlong *pPriority);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OnToolRemove )( 
            IRsWidgetController * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OnFocusLost )( 
            IRsWidgetController * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OnFocus )( 
            IRsWidgetController * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *IsToolLocked )( 
            IRsWidgetController * This,
            /* [in] */ RtBool *pbLocked);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ProcessMouseEvent )( 
            IRsWidgetController * This,
            /* [in] */ RtMouseEvent *pMouseEvent,
            /* [in] */ IRsNode *pViewNode);
        
        END_INTERFACE
    } IRsWidgetControllerVtbl;

    interface IRsWidgetController
    {
        CONST_VTBL struct IRsWidgetControllerVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsWidgetController_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsWidgetController_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsWidgetController_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsWidgetController_GetToolPriority(This,pMouseEvent,pViewNode,pPriority)	\
    (This)->lpVtbl -> GetToolPriority(This,pMouseEvent,pViewNode,pPriority)

#define IRsWidgetController_OnToolRemove(This)	\
    (This)->lpVtbl -> OnToolRemove(This)

#define IRsWidgetController_OnFocusLost(This)	\
    (This)->lpVtbl -> OnFocusLost(This)

#define IRsWidgetController_OnFocus(This)	\
    (This)->lpVtbl -> OnFocus(This)

#define IRsWidgetController_IsToolLocked(This,pbLocked)	\
    (This)->lpVtbl -> IsToolLocked(This,pbLocked)

#define IRsWidgetController_ProcessMouseEvent(This,pMouseEvent,pViewNode)	\
    (This)->lpVtbl -> ProcessMouseEvent(This,pMouseEvent,pViewNode)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsWidgetController_GetToolPriority_Proxy( 
    IRsWidgetController * This,
    /* [in] */ RtMouseEvent *pMouseEvent,
    /* [in] */ IRsNode *pViewNode,
    /* [out] */ RtUlong *pPriority);


void __RPC_STUB IRsWidgetController_GetToolPriority_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsWidgetController_OnToolRemove_Proxy( 
    IRsWidgetController * This);


void __RPC_STUB IRsWidgetController_OnToolRemove_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsWidgetController_OnFocusLost_Proxy( 
    IRsWidgetController * This);


void __RPC_STUB IRsWidgetController_OnFocusLost_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsWidgetController_OnFocus_Proxy( 
    IRsWidgetController * This);


void __RPC_STUB IRsWidgetController_OnFocus_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsWidgetController_IsToolLocked_Proxy( 
    IRsWidgetController * This,
    /* [in] */ RtBool *pbLocked);


void __RPC_STUB IRsWidgetController_IsToolLocked_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsWidgetController_ProcessMouseEvent_Proxy( 
    IRsWidgetController * This,
    /* [in] */ RtMouseEvent *pMouseEvent,
    /* [in] */ IRsNode *pViewNode);


void __RPC_STUB IRsWidgetController_ProcessMouseEvent_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsWidgetController_INTERFACE_DEFINED__ */


#ifndef __IRsCustomEntry_INTERFACE_DEFINED__
#define __IRsCustomEntry_INTERFACE_DEFINED__

/* interface IRsCustomEntry */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsCustomEntry;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("59889B99-5818-4522-BB42-999FA30B8235")
    IRsCustomEntry : public IUnknown
    {
    public:
        virtual /* [helpstring][local] */ HRESULT STDMETHODCALLTYPE ExecuteLocalMethod( 
            /* [in] */ RtBYTE *szFunName,
            /* [in] */ VARIANT *pParam1) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsCustomEntryVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsCustomEntry * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsCustomEntry * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsCustomEntry * This);
        
        /* [helpstring][local] */ HRESULT ( STDMETHODCALLTYPE *ExecuteLocalMethod )( 
            IRsCustomEntry * This,
            /* [in] */ RtBYTE *szFunName,
            /* [in] */ VARIANT *pParam1);
        
        END_INTERFACE
    } IRsCustomEntryVtbl;

    interface IRsCustomEntry
    {
        CONST_VTBL struct IRsCustomEntryVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsCustomEntry_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsCustomEntry_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsCustomEntry_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsCustomEntry_ExecuteLocalMethod(This,szFunName,pParam1)	\
    (This)->lpVtbl -> ExecuteLocalMethod(This,szFunName,pParam1)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][local] */ HRESULT STDMETHODCALLTYPE IRsCustomEntry_ExecuteLocalMethod_Proxy( 
    IRsCustomEntry * This,
    /* [in] */ RtBYTE *szFunName,
    /* [in] */ VARIANT *pParam1);


void __RPC_STUB IRsCustomEntry_ExecuteLocalMethod_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsCustomEntry_INTERFACE_DEFINED__ */


#ifndef __IRcInterfaceThreadSwitch_INTERFACE_DEFINED__
#define __IRcInterfaceThreadSwitch_INTERFACE_DEFINED__

/* interface IRcInterfaceThreadSwitch */
/* [helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcInterfaceThreadSwitch;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("41F68F95-4B27-4b81-8941-EC5731783D31")
    IRcInterfaceThreadSwitch : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE SetInterfaceThreadCallback( 
            /* [in] */ IRsCustomEntry *pClass,
            /* [in] */ RtBYTE *szFun,
            /* [in] */ VARIANT *pParam1) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRcInterfaceThreadSwitchVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcInterfaceThreadSwitch * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcInterfaceThreadSwitch * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcInterfaceThreadSwitch * This);
        
        HRESULT ( STDMETHODCALLTYPE *SetInterfaceThreadCallback )( 
            IRcInterfaceThreadSwitch * This,
            /* [in] */ IRsCustomEntry *pClass,
            /* [in] */ RtBYTE *szFun,
            /* [in] */ VARIANT *pParam1);
        
        END_INTERFACE
    } IRcInterfaceThreadSwitchVtbl;

    interface IRcInterfaceThreadSwitch
    {
        CONST_VTBL struct IRcInterfaceThreadSwitchVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcInterfaceThreadSwitch_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcInterfaceThreadSwitch_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcInterfaceThreadSwitch_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRcInterfaceThreadSwitch_SetInterfaceThreadCallback(This,pClass,szFun,pParam1)	\
    (This)->lpVtbl -> SetInterfaceThreadCallback(This,pClass,szFun,pParam1)

#endif /* COBJMACROS */


#endif 	/* C style interface */



HRESULT STDMETHODCALLTYPE IRcInterfaceThreadSwitch_SetInterfaceThreadCallback_Proxy( 
    IRcInterfaceThreadSwitch * This,
    /* [in] */ IRsCustomEntry *pClass,
    /* [in] */ RtBYTE *szFun,
    /* [in] */ VARIANT *pParam1);


void __RPC_STUB IRcInterfaceThreadSwitch_SetInterfaceThreadCallback_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRcInterfaceThreadSwitch_INTERFACE_DEFINED__ */


#ifndef __IRcMasterThreadSwitch_INTERFACE_DEFINED__
#define __IRcMasterThreadSwitch_INTERFACE_DEFINED__

/* interface IRcMasterThreadSwitch */
/* [helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcMasterThreadSwitch;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("D0C41F82-3519-4FF1-B2D0-87DE76112E22")
    IRcMasterThreadSwitch : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE SetMasterThreadCallback( 
            /* [in] */ IRsCustomEntry *pClass,
            /* [in] */ RtBYTE *szFun,
            /* [in] */ VARIANT *pParam1) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRcMasterThreadSwitchVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcMasterThreadSwitch * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcMasterThreadSwitch * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcMasterThreadSwitch * This);
        
        HRESULT ( STDMETHODCALLTYPE *SetMasterThreadCallback )( 
            IRcMasterThreadSwitch * This,
            /* [in] */ IRsCustomEntry *pClass,
            /* [in] */ RtBYTE *szFun,
            /* [in] */ VARIANT *pParam1);
        
        END_INTERFACE
    } IRcMasterThreadSwitchVtbl;

    interface IRcMasterThreadSwitch
    {
        CONST_VTBL struct IRcMasterThreadSwitchVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcMasterThreadSwitch_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcMasterThreadSwitch_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcMasterThreadSwitch_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRcMasterThreadSwitch_SetMasterThreadCallback(This,pClass,szFun,pParam1)	\
    (This)->lpVtbl -> SetMasterThreadCallback(This,pClass,szFun,pParam1)

#endif /* COBJMACROS */


#endif 	/* C style interface */



HRESULT STDMETHODCALLTYPE IRcMasterThreadSwitch_SetMasterThreadCallback_Proxy( 
    IRcMasterThreadSwitch * This,
    /* [in] */ IRsCustomEntry *pClass,
    /* [in] */ RtBYTE *szFun,
    /* [in] */ VARIANT *pParam1);


void __RPC_STUB IRcMasterThreadSwitch_SetMasterThreadCallback_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRcMasterThreadSwitch_INTERFACE_DEFINED__ */


#ifndef __IRcPriorityMasterThreadSwitch_INTERFACE_DEFINED__
#define __IRcPriorityMasterThreadSwitch_INTERFACE_DEFINED__

/* interface IRcPriorityMasterThreadSwitch */
/* [helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcPriorityMasterThreadSwitch;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("737B7533-0E40-40a6-BFE0-0F084D37BFA5")
    IRcPriorityMasterThreadSwitch : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE SetMasterThreadCallback( 
            /* [in] */ IRsCustomEntry *pClass,
            /* [in] */ RtBYTE *szFun,
            /* [in] */ VARIANT *pParam1) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRcPriorityMasterThreadSwitchVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcPriorityMasterThreadSwitch * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcPriorityMasterThreadSwitch * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcPriorityMasterThreadSwitch * This);
        
        HRESULT ( STDMETHODCALLTYPE *SetMasterThreadCallback )( 
            IRcPriorityMasterThreadSwitch * This,
            /* [in] */ IRsCustomEntry *pClass,
            /* [in] */ RtBYTE *szFun,
            /* [in] */ VARIANT *pParam1);
        
        END_INTERFACE
    } IRcPriorityMasterThreadSwitchVtbl;

    interface IRcPriorityMasterThreadSwitch
    {
        CONST_VTBL struct IRcPriorityMasterThreadSwitchVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcPriorityMasterThreadSwitch_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcPriorityMasterThreadSwitch_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcPriorityMasterThreadSwitch_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRcPriorityMasterThreadSwitch_SetMasterThreadCallback(This,pClass,szFun,pParam1)	\
    (This)->lpVtbl -> SetMasterThreadCallback(This,pClass,szFun,pParam1)

#endif /* COBJMACROS */


#endif 	/* C style interface */



HRESULT STDMETHODCALLTYPE IRcPriorityMasterThreadSwitch_SetMasterThreadCallback_Proxy( 
    IRcPriorityMasterThreadSwitch * This,
    /* [in] */ IRsCustomEntry *pClass,
    /* [in] */ RtBYTE *szFun,
    /* [in] */ VARIANT *pParam1);


void __RPC_STUB IRcPriorityMasterThreadSwitch_SetMasterThreadCallback_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRcPriorityMasterThreadSwitch_INTERFACE_DEFINED__ */


#ifndef __IRcSimpleNodeStateUndoRedoCmd_INTERFACE_DEFINED__
#define __IRcSimpleNodeStateUndoRedoCmd_INTERFACE_DEFINED__

/* interface IRcSimpleNodeStateUndoRedoCmd */
/* [helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcSimpleNodeStateUndoRedoCmd;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("B418AF50-2F13-49bd-B6C9-E28D976E7196")
    IRcSimpleNodeStateUndoRedoCmd : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE SetParameters( 
            /* [in] */ BSTR szNodeName,
            /* [in] */ RtBYTE *szFun,
            /* [in] */ VARIANT vParamUndo,
            /* [in] */ VARIANT vParamRedo) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRcSimpleNodeStateUndoRedoCmdVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcSimpleNodeStateUndoRedoCmd * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcSimpleNodeStateUndoRedoCmd * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcSimpleNodeStateUndoRedoCmd * This);
        
        HRESULT ( STDMETHODCALLTYPE *SetParameters )( 
            IRcSimpleNodeStateUndoRedoCmd * This,
            /* [in] */ BSTR szNodeName,
            /* [in] */ RtBYTE *szFun,
            /* [in] */ VARIANT vParamUndo,
            /* [in] */ VARIANT vParamRedo);
        
        END_INTERFACE
    } IRcSimpleNodeStateUndoRedoCmdVtbl;

    interface IRcSimpleNodeStateUndoRedoCmd
    {
        CONST_VTBL struct IRcSimpleNodeStateUndoRedoCmdVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcSimpleNodeStateUndoRedoCmd_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcSimpleNodeStateUndoRedoCmd_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcSimpleNodeStateUndoRedoCmd_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRcSimpleNodeStateUndoRedoCmd_SetParameters(This,szNodeName,szFun,vParamUndo,vParamRedo)	\
    (This)->lpVtbl -> SetParameters(This,szNodeName,szFun,vParamUndo,vParamRedo)

#endif /* COBJMACROS */


#endif 	/* C style interface */



HRESULT STDMETHODCALLTYPE IRcSimpleNodeStateUndoRedoCmd_SetParameters_Proxy( 
    IRcSimpleNodeStateUndoRedoCmd * This,
    /* [in] */ BSTR szNodeName,
    /* [in] */ RtBYTE *szFun,
    /* [in] */ VARIANT vParamUndo,
    /* [in] */ VARIANT vParamRedo);


void __RPC_STUB IRcSimpleNodeStateUndoRedoCmd_SetParameters_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRcSimpleNodeStateUndoRedoCmd_INTERFACE_DEFINED__ */


#ifndef __IRcUndoRedoGroup_INTERFACE_DEFINED__
#define __IRcUndoRedoGroup_INTERFACE_DEFINED__

/* interface IRcUndoRedoGroup */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcUndoRedoGroup;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("499CB2B5-DF58-42ED-963B-086BDCAD405A")
    IRcUndoRedoGroup : public IUnknown
    {
    public:
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE AddUndoRedoObject( 
            /* [in] */ IUnknown *pCommand) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IsEmpty( 
            /* [in] */ RtBool *pbEmpty) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE AddUndoDescription( 
            /* [in] */ BSTR szDesc) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetPrefix( 
            /* [in] */ BSTR szDesc) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE AddScriptForm( 
            /* [in] */ BSTR szDesc) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE PrepareScriptForm( void) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ResetScriptForm( void) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetUndoRedoObjectsCount( 
            /* [retval][out] */ RtUlong *pdwCnt) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetUndoRedoObject( 
            /* [in] */ RtUlong dwIdx,
            /* [in] */ IRsCommand **ppCmd) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Undo( void) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Redo( void) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Destroy( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRcUndoRedoGroupVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcUndoRedoGroup * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcUndoRedoGroup * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcUndoRedoGroup * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *AddUndoRedoObject )( 
            IRcUndoRedoGroup * This,
            /* [in] */ IUnknown *pCommand);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *IsEmpty )( 
            IRcUndoRedoGroup * This,
            /* [in] */ RtBool *pbEmpty);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *AddUndoDescription )( 
            IRcUndoRedoGroup * This,
            /* [in] */ BSTR szDesc);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetPrefix )( 
            IRcUndoRedoGroup * This,
            /* [in] */ BSTR szDesc);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *AddScriptForm )( 
            IRcUndoRedoGroup * This,
            /* [in] */ BSTR szDesc);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *PrepareScriptForm )( 
            IRcUndoRedoGroup * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *ResetScriptForm )( 
            IRcUndoRedoGroup * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetUndoRedoObjectsCount )( 
            IRcUndoRedoGroup * This,
            /* [retval][out] */ RtUlong *pdwCnt);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetUndoRedoObject )( 
            IRcUndoRedoGroup * This,
            /* [in] */ RtUlong dwIdx,
            /* [in] */ IRsCommand **ppCmd);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Undo )( 
            IRcUndoRedoGroup * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Redo )( 
            IRcUndoRedoGroup * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Destroy )( 
            IRcUndoRedoGroup * This);
        
        END_INTERFACE
    } IRcUndoRedoGroupVtbl;

    interface IRcUndoRedoGroup
    {
        CONST_VTBL struct IRcUndoRedoGroupVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcUndoRedoGroup_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcUndoRedoGroup_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcUndoRedoGroup_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRcUndoRedoGroup_AddUndoRedoObject(This,pCommand)	\
    (This)->lpVtbl -> AddUndoRedoObject(This,pCommand)

#define IRcUndoRedoGroup_IsEmpty(This,pbEmpty)	\
    (This)->lpVtbl -> IsEmpty(This,pbEmpty)

#define IRcUndoRedoGroup_AddUndoDescription(This,szDesc)	\
    (This)->lpVtbl -> AddUndoDescription(This,szDesc)

#define IRcUndoRedoGroup_SetPrefix(This,szDesc)	\
    (This)->lpVtbl -> SetPrefix(This,szDesc)

#define IRcUndoRedoGroup_AddScriptForm(This,szDesc)	\
    (This)->lpVtbl -> AddScriptForm(This,szDesc)

#define IRcUndoRedoGroup_PrepareScriptForm(This)	\
    (This)->lpVtbl -> PrepareScriptForm(This)

#define IRcUndoRedoGroup_ResetScriptForm(This)	\
    (This)->lpVtbl -> ResetScriptForm(This)

#define IRcUndoRedoGroup_GetUndoRedoObjectsCount(This,pdwCnt)	\
    (This)->lpVtbl -> GetUndoRedoObjectsCount(This,pdwCnt)

#define IRcUndoRedoGroup_GetUndoRedoObject(This,dwIdx,ppCmd)	\
    (This)->lpVtbl -> GetUndoRedoObject(This,dwIdx,ppCmd)

#define IRcUndoRedoGroup_Undo(This)	\
    (This)->lpVtbl -> Undo(This)

#define IRcUndoRedoGroup_Redo(This)	\
    (This)->lpVtbl -> Redo(This)

#define IRcUndoRedoGroup_Destroy(This)	\
    (This)->lpVtbl -> Destroy(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRcUndoRedoGroup_AddUndoRedoObject_Proxy( 
    IRcUndoRedoGroup * This,
    /* [in] */ IUnknown *pCommand);


void __RPC_STUB IRcUndoRedoGroup_AddUndoRedoObject_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRcUndoRedoGroup_IsEmpty_Proxy( 
    IRcUndoRedoGroup * This,
    /* [in] */ RtBool *pbEmpty);


void __RPC_STUB IRcUndoRedoGroup_IsEmpty_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRcUndoRedoGroup_AddUndoDescription_Proxy( 
    IRcUndoRedoGroup * This,
    /* [in] */ BSTR szDesc);


void __RPC_STUB IRcUndoRedoGroup_AddUndoDescription_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRcUndoRedoGroup_SetPrefix_Proxy( 
    IRcUndoRedoGroup * This,
    /* [in] */ BSTR szDesc);


void __RPC_STUB IRcUndoRedoGroup_SetPrefix_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRcUndoRedoGroup_AddScriptForm_Proxy( 
    IRcUndoRedoGroup * This,
    /* [in] */ BSTR szDesc);


void __RPC_STUB IRcUndoRedoGroup_AddScriptForm_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRcUndoRedoGroup_PrepareScriptForm_Proxy( 
    IRcUndoRedoGroup * This);


void __RPC_STUB IRcUndoRedoGroup_PrepareScriptForm_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRcUndoRedoGroup_ResetScriptForm_Proxy( 
    IRcUndoRedoGroup * This);


void __RPC_STUB IRcUndoRedoGroup_ResetScriptForm_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRcUndoRedoGroup_GetUndoRedoObjectsCount_Proxy( 
    IRcUndoRedoGroup * This,
    /* [retval][out] */ RtUlong *pdwCnt);


void __RPC_STUB IRcUndoRedoGroup_GetUndoRedoObjectsCount_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRcUndoRedoGroup_GetUndoRedoObject_Proxy( 
    IRcUndoRedoGroup * This,
    /* [in] */ RtUlong dwIdx,
    /* [in] */ IRsCommand **ppCmd);


void __RPC_STUB IRcUndoRedoGroup_GetUndoRedoObject_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRcUndoRedoGroup_Undo_Proxy( 
    IRcUndoRedoGroup * This);


void __RPC_STUB IRcUndoRedoGroup_Undo_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRcUndoRedoGroup_Redo_Proxy( 
    IRcUndoRedoGroup * This);


void __RPC_STUB IRcUndoRedoGroup_Redo_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRcUndoRedoGroup_Destroy_Proxy( 
    IRcUndoRedoGroup * This);


void __RPC_STUB IRcUndoRedoGroup_Destroy_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRcUndoRedoGroup_INTERFACE_DEFINED__ */



#ifndef __Kernel_LIBRARY_DEFINED__
#define __Kernel_LIBRARY_DEFINED__

/* library Kernel */
/* [helpstring][uuid][version] */ 


EXTERN_C const IID LIBID_Kernel;

EXTERN_C const CLSID CLSID_CRsObjectList;

#ifdef __cplusplus

class DECLSPEC_UUID("F42943BE-A535-41E8-B5A9-7A8993E9FCD3")
CRsObjectList;
#endif

EXTERN_C const CLSID CLSID_CRsSelectionManager;

#ifdef __cplusplus

class DECLSPEC_UUID("7BBD3514-7CA9-4a5a-AC4A-AA826ECF0E6C")
CRsSelectionManager;
#endif

EXTERN_C const CLSID CLSID_CRdSelNodeSelection;

#ifdef __cplusplus

class DECLSPEC_UUID("6A35327F-FC0F-4636-A353-8B83E48F1B67")
CRdSelNodeSelection;
#endif

EXTERN_C const CLSID CLSID_CRsAcceleratorHandlerManager;

#ifdef __cplusplus

class DECLSPEC_UUID("57E5F82B-14B8-42ac-8A45-FBC0864F466C")
CRsAcceleratorHandlerManager;
#endif

EXTERN_C const CLSID CLSID_CRsAcceleratorHandlerGlobal;

#ifdef __cplusplus

class DECLSPEC_UUID("E7B4705F-C6CD-499d-91C7-8B681DF94B57")
CRsAcceleratorHandlerGlobal;
#endif

EXTERN_C const CLSID CLSID_CRpKernel;

#ifdef __cplusplus

class DECLSPEC_UUID("57E5AF5B-B8B5-4537-9F08-5AA674AC828C")
CRpKernel;
#endif

EXTERN_C const CLSID CLSID_CRiSystemCommand;

#ifdef __cplusplus

class DECLSPEC_UUID("A4A6E647-B9CF-4AFF-BD3F-5956454DFE50")
CRiSystemCommand;
#endif

EXTERN_C const CLSID CLSID_CRiApp;

#ifdef __cplusplus

class DECLSPEC_UUID("BEC6F67E-B532-434c-A11E-120D3564FF28")
CRiApp;
#endif

EXTERN_C const CLSID CLSID_CRiPackage;

#ifdef __cplusplus

class DECLSPEC_UUID("29365A01-DEB5-4c95-AA40-421D30CA820F")
CRiPackage;
#endif

EXTERN_C const CLSID CLSID_CRsReturn;

#ifdef __cplusplus

class DECLSPEC_UUID("D6B25408-9B7C-46AA-A29A-D2CB0FF95D03")
CRsReturn;
#endif

EXTERN_C const CLSID CLSID_CRsLogFile;

#ifdef __cplusplus

class DECLSPEC_UUID("ACBAF1A2-FBA5-47eb-8297-59B01D8EC089")
CRsLogFile;
#endif

EXTERN_C const CLSID CLSID_CRsLogMsg;

#ifdef __cplusplus

class DECLSPEC_UUID("2DFC5A5C-4203-47dd-A3CD-D2714CD232EC")
CRsLogMsg;
#endif
#endif /* __Kernel_LIBRARY_DEFINED__ */

/* Additional Prototypes for ALL interfaces */

unsigned long             __RPC_USER  BSTR_UserSize(     unsigned long *, unsigned long            , BSTR * ); 
unsigned char * __RPC_USER  BSTR_UserMarshal(  unsigned long *, unsigned char *, BSTR * ); 
unsigned char * __RPC_USER  BSTR_UserUnmarshal(unsigned long *, unsigned char *, BSTR * ); 
void                      __RPC_USER  BSTR_UserFree(     unsigned long *, BSTR * ); 

unsigned long             __RPC_USER  HBITMAP_UserSize(     unsigned long *, unsigned long            , HBITMAP * ); 
unsigned char * __RPC_USER  HBITMAP_UserMarshal(  unsigned long *, unsigned char *, HBITMAP * ); 
unsigned char * __RPC_USER  HBITMAP_UserUnmarshal(unsigned long *, unsigned char *, HBITMAP * ); 
void                      __RPC_USER  HBITMAP_UserFree(     unsigned long *, HBITMAP * ); 

unsigned long             __RPC_USER  HBRUSH_UserSize(     unsigned long *, unsigned long            , HBRUSH * ); 
unsigned char * __RPC_USER  HBRUSH_UserMarshal(  unsigned long *, unsigned char *, HBRUSH * ); 
unsigned char * __RPC_USER  HBRUSH_UserUnmarshal(unsigned long *, unsigned char *, HBRUSH * ); 
void                      __RPC_USER  HBRUSH_UserFree(     unsigned long *, HBRUSH * ); 

unsigned long             __RPC_USER  HDC_UserSize(     unsigned long *, unsigned long            , HDC * ); 
unsigned char * __RPC_USER  HDC_UserMarshal(  unsigned long *, unsigned char *, HDC * ); 
unsigned char * __RPC_USER  HDC_UserUnmarshal(unsigned long *, unsigned char *, HDC * ); 
void                      __RPC_USER  HDC_UserFree(     unsigned long *, HDC * ); 

unsigned long             __RPC_USER  HICON_UserSize(     unsigned long *, unsigned long            , HICON * ); 
unsigned char * __RPC_USER  HICON_UserMarshal(  unsigned long *, unsigned char *, HICON * ); 
unsigned char * __RPC_USER  HICON_UserUnmarshal(unsigned long *, unsigned char *, HICON * ); 
void                      __RPC_USER  HICON_UserFree(     unsigned long *, HICON * ); 

unsigned long             __RPC_USER  HMENU_UserSize(     unsigned long *, unsigned long            , HMENU * ); 
unsigned char * __RPC_USER  HMENU_UserMarshal(  unsigned long *, unsigned char *, HMENU * ); 
unsigned char * __RPC_USER  HMENU_UserUnmarshal(unsigned long *, unsigned char *, HMENU * ); 
void                      __RPC_USER  HMENU_UserFree(     unsigned long *, HMENU * ); 

unsigned long             __RPC_USER  HWND_UserSize(     unsigned long *, unsigned long            , HWND * ); 
unsigned char * __RPC_USER  HWND_UserMarshal(  unsigned long *, unsigned char *, HWND * ); 
unsigned char * __RPC_USER  HWND_UserUnmarshal(unsigned long *, unsigned char *, HWND * ); 
void                      __RPC_USER  HWND_UserFree(     unsigned long *, HWND * ); 

unsigned long             __RPC_USER  LPSAFEARRAY_UserSize(     unsigned long *, unsigned long            , LPSAFEARRAY * ); 
unsigned char * __RPC_USER  LPSAFEARRAY_UserMarshal(  unsigned long *, unsigned char *, LPSAFEARRAY * ); 
unsigned char * __RPC_USER  LPSAFEARRAY_UserUnmarshal(unsigned long *, unsigned char *, LPSAFEARRAY * ); 
void                      __RPC_USER  LPSAFEARRAY_UserFree(     unsigned long *, LPSAFEARRAY * ); 

unsigned long             __RPC_USER  VARIANT_UserSize(     unsigned long *, unsigned long            , VARIANT * ); 
unsigned char * __RPC_USER  VARIANT_UserMarshal(  unsigned long *, unsigned char *, VARIANT * ); 
unsigned char * __RPC_USER  VARIANT_UserUnmarshal(unsigned long *, unsigned char *, VARIANT * ); 
void                      __RPC_USER  VARIANT_UserFree(     unsigned long *, VARIANT * ); 

/* end of Additional Prototypes */

#ifdef __cplusplus
}
#endif

#endif


