Discussions
Categories
Groups
Community Home
Categories
INTERNAL ENABLEMENT
POPULAR
THRUST SERVICES & TOOLS
CLOUD EDITIONS
Quick Links
MY LINKS
HELPFUL TIPS
Back to website
Home
Web CMS (TeamSite)
more IManExt.SearchCmd stuff
System
Here is a simple example that crashes everytime:
#include "stdafx.h"
#include <windows.h>
#include <comdef.h>
#import "C:\program files\imanage\imanage.dll"
#import "C:\program files\imanage\imanext.dll"
int main(int argc, char* argv[])
{
CoInitialize(0);
HRESULT hr = S_OK;
{
HWND hParentWnd = GetForegroundWindow();
IMANEXTLib::IContextItemsPtr pContextItems;
IMANEXTLib::ICommandPtr pSearchCmd;
hr = pContextItems.CreateInstance(L"IManExt.ContextItems",NULL);
IManage::INRTDMSPtr dmsObj;
dmsObj.CreateInstance("iManage.NRTDMS",NULL);
IManage::INRTSessionPtr sessionObj;
sessionObj = dmsObj->Sessions->Add(_bstr_t("IMANDEV"));
sessionObj->Login(_bstr_t("Admin"), _bstr_t("mhdocs"));
_variant_t vtDms = dmsObj.GetInterfacePtr();
_variant_t vtSession = dmsObj->GetSessions()->Item(_variant_t((long)1)).GetInterfacePtr();
vtSession.ChangeType(VT_DISPATCH);
_variant_t vtSessions;
vtSessions.vt = VT_ARRAY|VT_DISPATCH;
SAFEARRAYBOUND rgsabound[1];
rgsabound[0].lLbound = 0;
rgsabound[0].cElements = 1;
vtSessions.parray = SafeArrayCreate(VT_DISPATCH,1,rgsabound );
long index[1];
index[0] = 0;
SafeArrayPutElement(vtSessions.parray,index,vtSession.pdispVal);
vtSession.Detach();
_variant_t vtParentWnd = (long)hParentWnd;
pContextItems->Add(_bstr_t("ParentWindow"),vtParentWnd.Detach());
pContextItems->Add(_bstr_t("NRTDMS"),vtDms.Detach());
pContextItems->Add(_bstr_t("SelectedNRTSessions"),vtSessions);
vtSessions.Detach();
vtSession.Clear();
hr = pSearchCmd.CreateInstance(L"IManExt.SearchCmd",NULL);
pSearchCmd->Initialize(pContextItems);
pSearchCmd->Update();
if(pSearchCmd->Status == IMANEXTLib::nrActiveCommand)
{
pSearchCmd->Execute();
Sleep(5000);
}
}
CoUninitialize();
return hr;
}
Find more posts tagged with
Comments
There are no comments yet