Como posso passar dados MemoryStream para DLL C ++ não gerenciada usando P / Invoke
Eu preciso da sua ajuda com o seguinte cenário:
Eu estou lendo alguns dados de hardware em um MemoryStream (c #) e eu preciso passar esses dados na memória para uma dll implementada em C ++ não gerenciado (usando o ponteiro ??). Os dados lidos (no fluxo) são muito grandes (megabytes). Eu entendo que eu posso P / Invoke esta dll, mas o que eu não tenho certeza é como passar o ponteiro / referência dos dados do fluxo para a API do C ++?
Devo admitir que estou confuso como sou novo em C # - preciso usar inseguro / fixo, pois os dados são grandes ou são irrelevantes, pois o objeto MemoryStream é gerenciado pelo GC? Algum exemplo de código / descrição detalhada seria muito útil. obrigado
Assinatura da API não gerenciada:
BOOL doSomething (void * rawData, int dataLength)