Помогите пожалуйста если можете.
ПРоблема вот в чем, есть сервер DCOM обычный EXE, если его использовать с помощью клиента на VB, то он работает и на локальной машине и на сервере, а вот клиент на VC++ работает только на локальной машине, а по сети не хотит. Где там загвоздочка не пойму, вот кусок кода:
COSERVERINFO server;
...
memset(&server,0,sizeof(server));
server.pwszName=L"BOBAH";
//Здесь я все перепробовал и название компа и \\BOBAH и IP адресс
...
IDBMon* pIDBMon;
MULTI_QI mqi[1];
mqi[0].pIID=&IID_IDBMon;
mqi[0].pItf=NULL;
mqi[0].hr=S_OK;
HRESULT hr=CoCreateInstanceEx(IID_IDBComponent,
NULL,
CLSCTX_REMOTE_SERVER,
&server,
1,
&mqi[0]);
//а вот в этом месте hr всегде не succees
if(SUCCEEDED(hr))
{
pIDBMon=(IDBMon*)mqi[0].pItf;
pIDBMon->put_fileName(m_fileName);
...
BOB>...
BOB> memset(&server,0,sizeof(server));
BOB> server.pwszName=L"BOBAH";
BOB>//Здесь я все перепробовал и название компа и \\BOBAH и IP адресс
BOB>...
Здравствуйте, BOBAH_YET, Вы писали:
BOB>Помогите пожалуйста если можете. BOB>ПРоблема вот в чем, есть сервер DCOM обычный EXE, если его использовать с помощью клиента на VB, то он работает и на локальной машине и на сервере, а вот клиент на VC++ работает только на локальной машине, а по сети не хотит. Где там загвоздочка не пойму, вот кусок кода:
Спасибо всем за помощь, особенное спасибо LaFlour, ибо он оказался прав!
LF>2) BOB>HRESULT hr=CoCreateInstanceEx(/*IID_IDBComponent*/ нужен CLSID, там именно он и был, только имя у него такое "странное" , BOB>> NULL, BOB>> CLSCTX_REMOTE_SERVER, BOB>> &server, BOB>> 1, BOB>> /*&mqi[0]*/ mqi а вот тут как раз и была ошибка );
LF>Жирным выделено то как должно быть
Вот только все еще остается не ясным (по крайней мере мне) почему &mqi[0] работало если на одном компьютере и клиент и сервер?
С уважением, Автор.
а ты точно ничего не менял еще в коде?
т.к. &mqi[0] и mqi это одно и тоже
предположим
int arr[10];
int* p = arr;
int* q = &arr[0];
p и q будут равны. Две формы записи совершенно эквивалентны.
"BOBAH_YET" <forum@rsdn.ru> wrote in message news:443836@news.rsdn.ru...
From: BOBAH_YET
Спасибо всем за помощь, особенное спасибо LaFlour, ибо он оказался прав!
LF>2) BOB>HRESULT hr=CoCreateInstanceEx(/*IID_IDBComponent*/ нужен CLSID, там именно он и был, только имя у него такое "странное" , BOB>> NULL, BOB>> CLSCTX_REMOTE_SERVER, BOB>> &server, BOB>> 1, BOB>> /*&mqi[0]*/ mqi а вот тут как раз и была ошибка );
LF>Жирным выделено то как должно быть
Вот только все еще остается не ясным (по крайней мере мне) почему &mqi[0] работало если на одном компьютере и клиент и сервер?
С уважением, Автор.
Здравствуйте, LaFlour, Вы писали:
LF>а ты точно ничего не менял еще в коде? LF>т.к. &mqi[0] и mqi это одно и тоже LF>предположим LF>int arr[10]; LF>int* p = arr; LF>int* q = &arr[0];
В том то все и дело, как что &mqi[0] и mqi вроде бы одно и тоже, а одно работает, другое нет. А в коде точно ничего не менял, только вот это и тут же завелос.