J'ai besoin de votre aide avec le scénario suivant:Comment puis-je transmettre des données de MemoryStream à DLL non géré C++ en utilisant P/Invoke
Je lis des données de matériel dans un MemoryStream (C#) et je dois transmettre ces données en mémoire à une DLL implémentée en C++ non géré (en utilisant pointer ??). Les données lues (en flux) sont très volumineuses (mégaoctets). Je comprends que je peux P/Invoke cette DLL mais ce que je ne suis pas sûr est de savoir comment passer le pointeur/référence des données de flux à l'API C++?
Je dois admettre que je suis confus car je suis nouveau en C# - dois-je utiliser dangereux/fixe car les données sont volumineuses ou non pertinentes car l'objet MemoryStream est géré par GC? Un exemple de code/description détaillée serait très utile. Merci
Signature de l'API non gérée:
BOOL doSomething (void * rawData, int dataLength)
De quel type de données la DLL C++ a-t-elle besoin? – scottm
Il nécessite des données brutes - byte/void *. Je peux changer l'API dll comme requis. –