tôi cần sự giúp đỡ của bạn với các tình huống sau:Làm thế nào tôi có thể truyền dữ liệu MemoryStream để không được quản lý C++ DLL sử dụng P/Invoke
Tôi đọc một số dữ liệu từ phần cứng vào một MemoryStream (C#) và tôi cần phải vượt qua dữ liệu này trong bộ nhớ để một dll thực hiện trong không được quản lý C + + (sử dụng con trỏ ??). Dữ liệu đọc (vào luồng) rất lớn (megabyte). Tôi hiểu rằng tôi có thể P/Gọi dll này nhưng những gì tôi không chắc chắn là làm thế nào để vượt qua con trỏ/tài liệu tham khảo của các dòng dữ liệu vào C + + API?
Tôi phải thừa nhận mình bị nhầm lẫn vì tôi mới sử dụng C# - tôi có cần sử dụng không an toàn/cố định vì dữ liệu lớn hay không liên quan như đối tượng MemoryStream do GC quản lý? Một số mã ví dụ/mô tả chi tiết sẽ rất hữu ích. Cảm ơn
Chữ ký của API không được quản lý:
BOOL doSomething (void * rawData, int dataLength)
Loại dữ liệu nào yêu cầu C++? – scottm
Nó yêu cầu dữ liệu thô - byte/void *. Tôi có thể thay đổi API dll theo yêu cầu. –