Как передать данные связи TCP TCP в С# с помощью p/invoke ⇐ C++
Как передать данные связи TCP TCP в С# с помощью p/invoke
Я хотел бы продолжить отправку данных, полученных из C++ (не C++/CLI), в C# через соединение TCP.
Я написал такой код:
С++
LibMain.h
#pragma раз #include #include внешний "С" { __declspec(dllexport) BSTR __stdcall cpp_test(char* str); __declspec(dllexport) SAFEARRAY* cpp_test2(char** str_arr, int i); } LibMain.cpp
BSTR __stdcall cpp_test(char* str) { wchar_t* pStr; int strSize = MultiByteToWideChar (CP_ACP, 0, str, -1, NULL, NULL); pStr = новый WCHAR[strSize]; MultiByteToWideChar(CP_ACP, 0, str, strlen(str) + 1, pStr, strSize); вернуть SysAllocString(pStr); } SAFEARRAY* cpp_test2(char** str_arr, int len) { SAFEARRAY* psa = SafeArrayCreateVector(VT_BSTR, 0, len); BSTR HUGEP* arr = NULL; SafeArrayAccessData(psa, reinterpret_cast(&arr)); for (int я = 0; я
Я хотел бы продолжить отправку данных, полученных из C++ (не C++/CLI), в C# через соединение TCP.
Я написал такой код:
С++
LibMain.h
#pragma раз #include #include внешний "С" { __declspec(dllexport) BSTR __stdcall cpp_test(char* str); __declspec(dllexport) SAFEARRAY* cpp_test2(char** str_arr, int i); } LibMain.cpp
BSTR __stdcall cpp_test(char* str) { wchar_t* pStr; int strSize = MultiByteToWideChar (CP_ACP, 0, str, -1, NULL, NULL); pStr = новый WCHAR[strSize]; MultiByteToWideChar(CP_ACP, 0, str, strlen(str) + 1, pStr, strSize); вернуть SysAllocString(pStr); } SAFEARRAY* cpp_test2(char** str_arr, int len) { SAFEARRAY* psa = SafeArrayCreateVector(VT_BSTR, 0, len); BSTR HUGEP* arr = NULL; SafeArrayAccessData(psa, reinterpret_cast(&arr)); for (int я = 0; я
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение