Acceder a un valor string de un *char

22/10/2003 - 17:52 por Anonimo | Informe spam
Hola lista,

Tengo el siguiente problemilla a ver si alguien me puede
ayudar.

Utilizo una serie de funciones de una DLL que me
devuelven la informacion en diferentes tipos, tengo una
funcion que devuelve un *char, se que esta funcion
devuelve una string con el nombre del campo de una tabla,
¿alguien sabe como acceder a esa string (*char) en C#?

El codigo:


[DllImport("Dll.dll")] unsafe private static
extern char* FieldName(long* Table, long FieldNo);

unsafe public string GetFieldName (long* Table,
long FieldNo)
{
char* c = FieldName(Table, FieldNo);
return //Como lo hago para acceder a los
datos del puntero y devolver la string?
}

Salu2, Emilio
 

Leer las respuestas

#1 Tristan
23/10/2003 - 10:26 | Informe spam
No puedo comprobarlo en estos momentos, pero estoy casi
seguro de que con esta declaración, te función devolverá
directamente el string:

DllImport("Dll.dll")]
unsafe private static extern ([MarshalAs(LPStr)] string
FieldName(long* Table, long FieldNo);


Por otro lado, también creo que podrías sustituir long*
por un marshal a LPArray. Con lo que podrás eliminar el
unsafe.

Preguntas similares