Я пишу Win32 DLL для чтения / записи USB HID устройства. Данные для обмена - это 64-байтовые массивы без знака. Клиентская программа написана на C ++ / CLI.
Для достижения максимальной скорости и минимальных издержек мне нужен эффективный способ отправки массива управляемому клиенту.
Есть два варианта, о которых я могу подумать прямо сейчас:
Собственный: используйте PostMessage и отправьте указатель на массив.
Управляемый: в WndProc Marshal.Copy указатель на новый управляемый массив байтов, затем удалите указатель.
Собственный: использовать указатель функции в качестве обратного вызова для обработки данных.
Управляется: используйте Marshal.GetFunctionPointerForDelegate для передачи указателя функции в собственный мир.
Спасибо.