Не работает DCOM.
От: BOBAH_YET  
Дата: 14.11.03 11:26
Оценка:
Помогите пожалуйста если можете.
ПРоблема вот в чем, есть сервер 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);
...

Заранее благороден.
С уважением, Автор
Re: Не работает DCOM.
От: SergH Россия  
Дата: 14.11.03 12:37
Оценка:
Здравствуйте, BOBAH_YET, Вы писали:

BOB>...
BOB>    memset(&server,0,sizeof(server));
BOB>    server.pwszName=L"BOBAH";
BOB>//Здесь я все перепробовал и название компа и \\BOBAH и IP адресс
BOB>...


А пробовал BSTR?
Делай что должно, и будь что будет
Re: Не работает DCOM.
От: LaFlour Австралия blog: http://spaces.live.com/laflour
Дата: 14.11.03 12:53
Оценка: 13 (2)
Здравствуйте, BOBAH_YET, Вы писали:

BOB>Помогите пожалуйста если можете.

BOB>ПРоблема вот в чем, есть сервер DCOM обычный EXE, если его использовать с помощью клиента на VB, то он работает и на локальной машине и на сервере, а вот клиент на VC++ работает только на локальной машине, а по сети не хотит. Где там загвоздочка не пойму, вот кусок кода:

1) BOB> server.pwszName=(L"BOBAH");
2) BOB>HRESULT hr=CoCreateInstanceEx(/*IID_IDBComponent*/ здесь нужен CLSID,
BOB> NULL,
BOB> CLSCTX_REMOTE_SERVER,
BOB> &server,
BOB> 1,
BOB> /*&mqi[0]*/ mqi);

Жирным выделено то как должно быть
Re[2]: Не работает DCOM.
От: BOBAH_YET  
Дата: 14.11.03 15:23
Оценка:
Спасибо всем за помощь, особенное спасибо 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] работало если на одном компьютере и клиент и сервер?
С уважением, Автор.
Re[3]: Не работает DCOM.
От: LaFlour Австралия blog: http://spaces.live.com/laflour
Дата: 14.11.03 17:07
Оценка:
а ты точно ничего не менял еще в коде?
т.к. &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] работало если на одном компьютере и клиент и сервер?
С уважением, Автор.

Re[2]: Не работает DCOM. Оценить
Posted via RSDN NNTP Server 1.7 "Bedlam"
Re[4]: Не работает DCOM.
От: BOBAH_YET  
Дата: 15.11.03 11:43
Оценка:
Здравствуйте, LaFlour, Вы писали:

LF>а ты точно ничего не менял еще в коде?

LF>т.к. &mqi[0] и mqi это одно и тоже
LF>предположим
LF>int arr[10];
LF>int* p = arr;
LF>int* q = &arr[0];

В том то все и дело, как что &mqi[0] и mqi вроде бы одно и тоже, а одно работает, другое нет. А в коде точно ничего не менял, только вот это и тут же завелос.

С уважением, Автор
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.