Как получить строку из DLL на VB6
От: karp2005  
Дата: 13.12.06 00:22
Оценка:
Есть такой код на C++ (DLL):

extern "C" __declspec(dllexport) void EnumInterface(LPCTSTR p_outString) //указатель на строку
{
.....объявление переменных........
RPC_WSTR strGuid = NULL;
__try
{
..............некотроые действия.................................
if (UuidToStringW(&pIntfList->InterfaceInfo.InterfaceGuid, &strGuid) == RPC_S_OK)
{
wcscpy((LPWSTR)p_outString,(LPWSTR)strGuid);
RpcStringFreeW(&strGuid);
}
}
__finally
{
....очищаем память....
}
}

Вопрос:
1. правильно ли я возвращаю строку копируя её в область памяти, выделеной вызывающим процессом? (в случае с С — нечто типа wchar_t *test; test = new wchar_t[64]
2. Как правильно эту ДЛЛ вызвать из VB6 (чтобы вернуть в вызывающую программу строку wstring)?
Спасибо.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.