on 03-19-2008 10:25 AM
Hi, All !
#include "stdafx.h"
#include "wtypes.h"
#include "atlbase.h"
int _tmain(int argc, _TCHAR* argv[])
{
IDispatch *qqq = NULL;
HRESULT hr;
LPCOLESTR lpszProgID = OLESTR("Sapgui.ScriptingCtrl.1");
CLSID lpclsid;
DISPID dispid;
OLECHAR FAR* szMember0 = OLESTR("OpenConnectionByConnectionString");
EXCEPINFO pExcepInfo;
unsigned int puArgErr = 0;
DISPPARAMS dispparams;
VARIANT dispRes;
VARIANTARG var[3];
BSTR cmd0 = SysAllocString(L"/H/192.168.1.1/S/3211");
hr = ::CoInitializeEx(0, COINIT_MULTITHREADED);
hr = CLSIDFromProgID(lpszProgID, &lpclsid);
hr = ::CoCreateInstance(lpclsid, 0, CLSCTX_INPROC_SERVER | CLSCTX_LOCAL_SERVER, IID_IDispatch, (LPVOID *)&qqq);
hr = qqq->GetIDsOfNames(IID_NULL, &szMember0, 1, LOCALE_SYSTEM_DEFAULT, &dispid);
var[0].vt = VT_BSTR;
var[0].bstrVal = cmd0;
var[1].vt = VT_BOOL;
var[1].boolVal = 0;
var[2].vt = VT_BOOL;
var[2].boolVal = 0;
dispparams.rgvarg = var;
dispparams.cArgs=3;
dispparams.rgdispidNamedArgs=NULL;
dispparams.cNamedArgs=0;
hr = qqq->Invoke(dispid, IID_NULL, LOCALE_SYSTEM_DEFAULT, DISPATCH_METHOD | DISPATCH_PROPERTYGET , &dispparams, &dispRes, &pExcepInfo, &puArgErr);
if(qqq) { qqq->Release(); qqq = NULL; }
::CoUninitialize();
return 0;
}
Calling of qqq->Invoke displayed this dialog box:
Error parsing sapgui commandline
'0'
SAPGUI USAGE
Syntax:...................................
and returned hr == 0x80020009 Error.....
OLE-COM Viewer say next info:
[id(0x00008096)]
GuiConnection* OpenConnectionByConnectionString(
BSTR ConnectString,
[optional] VARIANT Sync,
[optional] VARIANT Raise);
In what my mistake?
Regards, Victor.
Edited by: Victor Vyasovtsev on Mar 19, 2008 11:49 AM
Closed !!!
var[2].vt = VT_BSTR;
var[2].bstrVal = cmd0;
var[1].vt = VT_BOOL;
var[1].boolVal = 0;
var[0].vt = VT_BOOL;
var[0].boolVal = 0;
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
98 | |
11 | |
11 | |
10 | |
10 | |
8 | |
6 | |
5 | |
4 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.