tôi có một dự án C# là hàng nhập khẩu một dll C, dll có chức năng này:con trỏ Đi qua từ mã không được quản lý
int primary_read_serial(int handle, int *return_code, int *serial, int length);
Tôi muốn được tiếp cận với các thông số sê-ri. Tôi đã thực sự có nó để trả lại một ký tự của tham số nối tiếp, nhưng tôi không thực sự chắc chắn những gì tôi đang làm và muốn hiểu những gì đang xảy ra, và tất nhiên làm cho nó hoạt động.
Vì vậy, tôi rất chắc chắn rằng dll đang được truy cập, các chức năng khác không có con trỏ hoạt động tốt. Làm cách nào để xử lý con trỏ? Tôi có phải sắp xếp nó không? Có lẽ tôi phải có một nơi cố định để đưa dữ liệu đó?
Giải thích sẽ tuyệt vời.
Cảm ơn! Richard
Cụ thể, phân bổ mảng không được quản lý và int [] được quản lý và Marshal.Copy IntPtr của bạn từ mảng không được quản lý đến mảng được quản lý. –
try-catch hoặc try-finally? – MedicineMan
cố gắng cuối cùng, cảm ơn vì đã chỉ ra. Đã sửa. – Coincoin