Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

NoLabel

[Resolvido] Conversão de types

Mensagens Recomendadas

NoLabel

Olá, directo ao problema:

-> Tenho uma aplicação em C# que vai executar uma função de uma .dll escrita em C++.

Source da .dll:

extern "C"
{
__declspec(dllexport) void WriteFile(lzo_uint8* source, int size)
{
FILE * fileToWrite;
fileToWrite = fopen("test.gsd", "wb+");
if (fileToWrite)
{
fwrite(source, 1, size, fileToWrite);
}
fclose(fileToWrite);
free(source);
}
}

Nota:

typedef unsigned char lzo_uint8;

Isto é apenas para teste, óbvio que não é este o objectivo da .dll...

Agora na aplicação em C#:


[DllImport(@"GLZO.dll")]
public static extern void WriteFile(byte[] source, int size);

Aqui estou a importar a .dll e declarar a função.

E assim é executada:

byte[] g = ReadFile("raw/file.gsd");
WriteFile(g, g.Length);

A minha questão como posso converter de byte[] (byte array) para um unsigned char*?

Melhores cumprimentos

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.