Este tema está relacionado a un problema de un tema anterior que publique pero ahora consiste en leer datos de un vector puntero el problema radica que estoy usando C# y desde ahí importo las bibliotecas que he creado de C++ y por tanto no puedo depurar del lado de C++ bien tengo la estructura siguiente:
Código C++:
Ver originalstruct NetxInfo
{
public:
ULONG pid;
WCHAR filename[MAX_PATH];
WCHAR pathname[MAX_PATH];
WCHAR protocol[10];
WCHAR state[MAX_PATH];
WCHAR srcip[MAX_PATH];
DWORD srcport;
WCHAR destip[MAX_PATH];
DWORD destport;
};
y tengo mi función donde creo un vector puntero y le asigno valores:
Código C++:
Ver originalvector<NetxInfo>* initialNetxes = new vector<NetxInfo>();
NetxInfo val;
val.pid = 112;
CopyString(L"explorer.exe", val.filename, MAX_PATH);
CopyString(L"C:/Windows", val.pathname, MAX_PATH);
CopyString(L"UDP", val.protocol, MAX_PATH);
CopyString(L"SYN", val.state, MAX_PATH);
CopyString(L"192.168.1.001", val.srcip, MAX_PATH);
val.srcport = 444;
CopyString(L"192.168.002", val.destip, MAX_PATH);
val.destport = 6060;
initialNetxes->push_back(val);
val.pid = 113;
CopyString(L"schost.exe", val.filename, MAX_PATH);
CopyString(L"C:/windows", val.pathname, MAX_PATH);
CopyString(L"TCP", val.protocol, MAX_PATH);
CopyString(L"Waiting", val.state, MAX_PATH);
CopyString(L"192.168.1.004", val.srcip, MAX_PATH);
val.srcport = 425;
CopyString(L"192.168.1.005", val.destip, MAX_PATH);
val.destport = 1212;
initialNetxes->push_back(val);
todo esto va bien el problema se está dando en la función donde intento leer los valores del vector puntero y lo hago de la siguiente forma:
Código C++:
Ver originalvector<NetxInfo>* conv = (vector<NetxInfo>*) source;
pid = (*conv)[indice].pid;
filename = (*conv)[indice].filename;
pathname = (*conv)[indice].pathname;
protocol = (*conv)[indice].protocol;
state = (*conv)[indice].state;
srcip = (*conv)[indice].srcip;
srcport = (*conv)[indice].srcport;
destip = (*conv)[indice].destip;
destport = (*conv)[indice].destport;
nota: indice es un parámetro de la función que hace este proceso y le envío el indice del vector que quiero recuperar.
Espero puedan ayudarme.