CoCreateInstanceEx - вопрос по заданию имени сервера
От: InDY Россия anime.mipt.ru
Дата: 03.03.03 12:32
Оценка:
У меня имя сервера лежит в массиве. Как его передать в CoCreateInstanceEx?
PS Что значит L перед текстом? Локальная кодировка?
Re: CoCreateInstanceEx - вопрос по заданию имени сервера
От: Ведмедь Россия  
Дата: 03.03.03 12:44
Оценка:
Здравствуйте, InDY, Вы писали:

IDY>У меня имя сервера лежит в массиве. Как его передать в CoCreateInstanceEx?

IDY>PS Что значит L перед текстом? Локальная кодировка?

Не совсем понятно о чем речь. А L скорее всего уникод.
L"это строка в уникоде"
Да пребудет с тобой Великий Джа
Re[2]: CoCreateInstanceEx - вопрос по заданию имени сервера
От: InDY Россия anime.mipt.ru
Дата: 03.03.03 12:57
Оценка:
Здравствуйте, Ведмедь, Вы писали:

В>Здравствуйте, InDY, Вы писали:


IDY>>У меня имя сервера лежит в массиве. Как его передать в CoCreateInstanceEx?

IDY>>PS Что значит L перед текстом? Локальная кодировка?

В>Не совсем понятно о чем речь. А L скорее всего уникод.

В>L"это строка в уникоде"

Поясняю. При вызове CoCreateInstanceEx я должен передать структуру COSERVERINFO. В поле pwszName я должен занести имя сервера. Имя сервера у меня хронится в char ServName[200]. Вопрос — как из массива передать имя в pwszName.
Или может быть есть более красивое решение?(т.е. не в массиве хранить имя сервера, а как-то ещё?)
В MSDN написано, что N обозначает UNICODE.
Re[3]: CoCreateInstanceEx - вопрос по заданию имени сервера
От: Ведмедь Россия  
Дата: 03.03.03 13:10
Оценка: 3 (1)
Здравствуйте, InDY, Вы писали:

IDY>Здравствуйте, Ведмедь, Вы писали:


В>>Здравствуйте, InDY, Вы писали:


IDY>>>У меня имя сервера лежит в массиве. Как его передать в CoCreateInstanceEx?

IDY>>>PS Что значит L перед текстом? Локальная кодировка?

В>>Не совсем понятно о чем речь. А L скорее всего уникод.

В>>L"это строка в уникоде"

IDY>Поясняю. При вызове CoCreateInstanceEx я должен передать структуру COSERVERINFO. В поле pwszName я должен занести имя сервера. Имя сервера у меня хронится в char ServName[200]. Вопрос — как из массива передать имя в pwszName.

IDY>Или может быть есть более красивое решение?(т.е. не в массиве хранить имя сервера, а как-то ещё?)
IDY>В MSDN написано, что N обозначает UNICODE.

Строчка уникодовская задается как
LPWSTR wszString = L"string";

А для трансфорамции из уникода и обратно смотри функции
MultiByteToWideChar и WideCharToMultiByte, а так же макросы A2W, W2A
Да пребудет с тобой Великий Джа
Re: CoCreateInstanceEx - вопрос по заданию имени сервера
От: InDY Россия anime.mipt.ru
Дата: 03.03.03 18:46
Оценка:
Скажу большое спасибо, за пример исходника клиента, который получает адрес сервера в процессе работы или из командной строки при запуске.
Re[3]: CoCreateInstanceEx - вопрос по заданию имени сервера
От: Viktor Sklyar Украина  
Дата: 04.03.03 09:05
Оценка: 3 (1)
Здравствуйте, InDY, Вы писали:

IDY>Здравствуйте, Ведмедь, Вы писали:


В>>Здравствуйте, InDY, Вы писали:


IDY>>>У меня имя сервера лежит в массиве. Как его передать в CoCreateInstanceEx?

IDY>>>PS Что значит L перед текстом? Локальная кодировка?

В>>Не совсем понятно о чем речь. А L скорее всего уникод.

В>>L"это строка в уникоде"

IDY>Поясняю. При вызове CoCreateInstanceEx я должен передать структуру COSERVERINFO. В поле pwszName я должен занести имя сервера. Имя сервера у меня хронится в char ServName[200]. Вопрос — как из массива передать имя в pwszName.

IDY>Или может быть есть более красивое решение?(т.е. не в массиве хранить имя сервера, а как-то ещё?)
IDY>В MSDN написано, что N обозначает UNICODE.

...
USES_CONVERSION;

COSERVERINFO csi;
csi.pwszName = A2W(ServName);
С Уважением.
Re[4]: CoCreateInstanceEx - вопрос по заданию имени сервера
От: InDY Россия anime.mipt.ru
Дата: 04.03.03 15:17
Оценка:
Здравствуйте, Viktor Sklyar, Вы писали:

VS>USES_CONVERSION;


VS>COSERVERINFO csi;

VS>csi.pwszName = A2W(ServName);

Я уже пытался использовать этот макрос. Для его работы необходима afxpriv.h, но у меня оэтот файл подключиться не может, т.к. не загружается afxv_w32.h.

Эту проблему я решил с помощью

mbstowcs( wszServName, szServName, 255 ); // ИМХО верно использовал

Теперь у меня вылезла проблема при линковке Ж+(

Если кому интереснго, могу выслать исходники.
... << RSDN@Home 1.0 beta 6a >>
длополнение
От: InDY Россия anime.mipt.ru
Дата: 04.03.03 15:19
Оценка:
сообщение об ошибке
Client.obj : error LNK2001: unresolved external symbol _CLSID_Component1
Debug/dcom.exe : fatal error LNK1120: 1 unresolved externals
... << RSDN@Home 1.0 beta 6a >>
Всем спасибо за помощь
От: InDY Россия anime.mipt.ru
Дата: 06.03.03 11:46
Оценка:
Здравствуйте, InDY, Вы писали:

IDY>У меня имя сервера лежит в массиве. Как его передать в CoCreateInstanceEx?

IDY>PS Что значит L перед текстом? Локальная кодировка?
... << RSDN@Home 1.0 beta 6a >>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.