#include "stdinc.idl" cpp_quote("#if !defined(__cplusplus)") typedef struct CSxApwActCtxHandle CSxApwActCtxHandle; cpp_quote("#else") cpp_quote("class CSxApwActCtxHandle;") cpp_quote("#endif") [ object, local, uuid(IID_ISxApwActCtxHandle_midl) ] interface ISxApwActCtxHandle : IUnknown { /* the 64bit porting guide informs us that the better design is HRESULT Activate( [out] IUnknown** cookie ); so that server/client death is nicely handled by COM freeing all objects but this would force more heap allocation on us. */ HRESULT Activate( [out] unsigned __int64* cookie ); HRESULT Deactivate( [in] unsigned __int64 cookie ); HANDLE GetHandle( ); CSxApwActCtxHandle* GetCPlusPlusObject( ); };