Как можно объединить shared_ptr из неуправляемого кода C++ в C#?.NET Interop и TR1 shared_ptr
У меня есть функция в C++ (отображается через привязки C), которая будет выделять новый объект MyObject и возвращать указатель на него через shared_ptr.
В C++ я могу вызвать функцию:
MyObjHandle* ref = NULL:
GetMyObject(&ref); // double ptr...
где определяется MyObjHandle:
typedef struct obj_t {
shared_ptr<MyObject> objPtr;
} MyObjHandle ;
Как бы я PInvoke вызов GetMyObject из C#? Я сделал очевидное просто определение структуры MyObjectHandle в значительной степени, как в C# expcept. Я определил член objPtr как IntPtr. Это провалилось с ошибкой AccessViolationException. Пробовал пару других вариаций PInvoke, которые также потерпели неудачу. Кажется, я не могу найти примеры взаимодействия с shared_ptr и C#. Любая помощь оценивается ...