Discussions
Categories
Groups
Community Home
Categories
INTERNAL ENABLEMENT
POPULAR
PUBLIC CLOUD
PRIVATE CLOUD
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