Ver Mensaje Individual
  #3 (permalink)  
Antiguo 04/09/2013, 14:58
EL_DOC
 
Fecha de Ingreso: junio-2008
Mensajes: 109
Antigüedad: 16 años, 5 meses
Puntos: 0
Respuesta: Problema al leer un vector puntero

Cita:
Iniciado por amchacon Ver Mensaje
Código C:
Ver original
  1. filename = (*conv)[indice].filename;
  2.         pathname = (*conv)[indice].pathname;
  3.         protocol = (*conv)[indice].protocol;

Estas no son asignaciones de contenido, solo estás copiando la dirreción del puntero WCHAR. Eso puede ser peligroso (si eliminas el vector y despues intentas usar ese puntero).
si lo que pasa es que la función completa es de la siguiente forma:

Código C++:
Ver original
  1. MALHOSTNATIVE_API void GetNetxInfo(void* source, int indice, ULONG& pid, void*& filename, void*& pathname, void*& protocol,  void*& state, void*& srcip, DWORD& srcport, void*& destip, DWORD& destport)                                   
  2. {
  3.     if(source != NULL)
  4.     {
  5.         vector<NetxInfo>* conv = (vector<NetxInfo>*) source;
  6.  
  7.         pid = (*conv)[indice].pid;
  8.         filename = (*conv)[indice].filename;
  9.         pathname = (*conv)[indice].pathname;
  10.         protocol = (*conv)[indice].protocol;
  11.         state = (*conv)[indice].state;
  12.         srcip = (*conv)[indice].srcip;
  13.         srcport = (*conv)[indice].srcport;
  14.         destip = (*conv)[indice].destip;
  15.         destport = (*conv)[indice].destport;
  16.     }
  17. }

como estoy usando C# para todo el proyecto y C++ para ciertas funciones entonces le envío valores por referencia