typeSendCommand SendCommand =
reinterpret_cast<typeSendCommand>(GetProcAddress(hm,«SendCommand»));
if (!SendCommand) {
printf("\«SendCommand\» not found (0x%X)\n", GetLastError());
return -1;
}
else {
BYTE* ss = SendCommand(reinterpret_cast<BYTE*>(
"<command id='connect'>"
"<login>KOKS</login><password>koks</password>"
"<host>192.168.15.15</host><port>3901</port>"
"<logsdir>.\\LOGS\\</logsdir><loglevel>0</loglevel></command>"));
std::cout<<reinterpret_cast<const char*>(ss);
FreeMemory(ss);
Sleep(10000);
ss = SendCommand(reinterpret_cast<BYTE*>("<command id='subscribe'>"
"<alltrades><secid>304</secid></alltrades>" //идентификаторы взял просто для примера
"<quotations><secid>304</secid></quotations>" //в реально кода надо ориентировать на то,
"<quotes><secid>304</secid></quotes>" //что присылвает сервер
"</command>"));
std::cout<<reinterpret_cast<const char*>(ss);
FreeMemory(ss);
Sleep(1000);
ss = SendCommand(reinterpret_cast<BYTE*>(
"<command id='disconnect'/>"));
std::cout<<reinterpret_cast<char*>(ss);
FreeMemory(ss);
}
try {
FreeLibrary(hm);
}
catch (...) {
std::cout<<«Fail in FreeLibrary»;
}
}
int err = GetLastError();
xmlfile<<"</root>";
Рынок МФО в 2025 году: стабилизация и консолидация
Банк России представил аналитику по тенденциям на рынке МФО в 2025 году. Чем отметился прошлый год для сектора? Приводим ключевые тезисы:
🔸 Выдачи и портфель займов стабилизировались....
Корректировка бюджетного правила при высокой цене нефти неактуальна
Минфин РФ в начале апреля может возобновить операции на валютном рынке. Отказ от них в текущем месяце объясняется тем, что в феврале из-за падения цен на российскую Urals началось обсуждение...
Глава Якутии провел рабочую встречу с руководством полиметаллического холдинга «Селигдар»
В Москве состоялась рабочая встреча Главы Республики Саха (Якутия) Айсена Николаева и основателя ПАО «Селигдар» Константина Бейрита. Стороны подвели итоги работы холдинга в 2025 году и...
Какую акцию УК Первая в феврале покупала на миллиарды рублей - ищем вместе с Вами
Продолжаю делать серию ежемесячных постов с отслеживанием покупок/продаж профессиональными управляющими. Особенно теми, кто управляет МИЛЛИАРДАМИ рублей в акциях. Зачем? Посмотреть, как думают...
Толяныч, Эксперт сто пудово в бутылку полезет и не будет ничего убирать без представления регулятора. А потом, как (или если) страсти поулягутся повысит и пресс релиз выпустит.
Более 90% мазута с пляжей Анапы убрано, вода пригодна для использования, так что их могут открыть 1 июня, сообщил Савельев. На прошлой неделе восемь пляжей Анапы исключили из зоны ЧС
жулики
НЛМК: отчетность выглядит сопоставимой с ММК и Северсталью
НЛМК представил финансовые показатели за 2025г.:
Ключевые результаты за период:
• Выручка: 831,4 млрд руб. (-15,1% г/г);
• EBI...
ЦИАН: рост есть, маржа просела — ставка на восстановление Финансовые результаты за 4К2025 показывают ускорение выручки на фоне давления на рентабельность.
Ключевые факты
— Выручка 4К: 4,2 мл...
Риски для операционной деятельности после атаки на порт Усть-Луга могут оказать давление на финансовые показатели НОВАТЭКа — эксперты, опрошенные РБК Бумаги НОВАТЭКа упали 25 марта на фоне новостей об...
Облигации «Первый ювелирный ломбард» 31 марта с купоном 23.00% (БО-02)
ООО «Первый Ювелирный Ломбард» — сеть ломбардов в Москве, которая работает с 2008 года. Компания предоставляет услуги займа по...
Украина подписала с Саудовской Аравией соглашение о сотрудничестве в сфере обороны — CNN Президент Украины Владимир Зеленский в пятницу заявил, что страна подписала с Саудовской Аравией соглашение о с...
#include <iostream>
#include <fstream>
#define TACCESS_API __declspec(dllimport)
typedef bool (WINAPI *tcallback)(BYTE* pData);
typedef BYTE* (WINAPI *typeSendCommand)(BYTE* pData);
typedef bool (WINAPI *typeFreeMemory)(BYTE* pData);
typedef bool (WINAPI *typeSetCallback)(tcallback pCallback);
std::ofstream xmlfile;
typeFreeMemory FreeMemory;
bool CALLBACK acceptor(BYTE *pData)
{
xmlfile<<pData<<std::endl;
FreeMemory(pData);
return true;
}
int main(int argc, char* argv[]) {
setlocale(LC_CTYPE, "");
std::cout<<«Statring!»<<std::endl;
xmlfile.open(«test.xml»);
xmlfile<<"<?xml version='1.0' encoding='UTF-8'?>";
xmlfile<<"<root>";
HMODULE hm = LoadLibrary(«Debug\\txmlconnector.dll»);
if (hm) {
typeSetCallback SetCallback =
reinterpret_cast<typeSetCallback>(GetProcAddress(hm, «SetCallback»));
FreeMemory =
reinterpret_cast<typeFreeMemory>(GetProcAddress(hm, «FreeMemory»));
SetCallback(acceptor);
typeSendCommand SendCommand =
reinterpret_cast<typeSendCommand>(GetProcAddress(hm,«SendCommand»));
if (!SendCommand) {
printf("\«SendCommand\» not found (0x%X)\n", GetLastError());
return -1;
}
else {
BYTE* ss = SendCommand(reinterpret_cast<BYTE*>(
"<command id='connect'>"
"<login>KOKS</login><password>koks</password>"
"<host>192.168.15.15</host><port>3901</port>"
"<logsdir>.\\LOGS\\</logsdir><loglevel>0</loglevel></command>"));
std::cout<<reinterpret_cast<const char*>(ss);
FreeMemory(ss);
Sleep(10000);
ss = SendCommand(reinterpret_cast<BYTE*>("<command id='subscribe'>"
"<alltrades><secid>304</secid></alltrades>" //идентификаторы взял просто для примера
"<quotations><secid>304</secid></quotations>" //в реально кода надо ориентировать на то,
"<quotes><secid>304</secid></quotes>" //что присылвает сервер
"</command>"));
std::cout<<reinterpret_cast<const char*>(ss);
FreeMemory(ss);
Sleep(1000);
ss = SendCommand(reinterpret_cast<BYTE*>(
"<command id='disconnect'/>"));
std::cout<<reinterpret_cast<char*>(ss);
FreeMemory(ss);
}
try {
FreeLibrary(hm);
}
catch (...) {
std::cout<<«Fail in FreeLibrary»;
}
}
int err = GetLastError();
xmlfile<<"</root>";
std::cout<<"\nEnded...\n";
char c;
std::cin>>c;
return 0;
}