Передача векторной структуры между C ++ и C #

У меня есть неуправляемый код C ++, к которому я хочу получить доступ из C #. Таким образом, я следовал за некоторыми уроками и я строю dll для своего проекта (только один класс между прочим) Теперь я хочу использовать его из c #, и я использую p / invoke следующим образом.

мой вопрос: возможно ли маршаллировать мою точку Windows, чтобы я мог передать ее как вектор в мой код C ++? я могу изменить весь код (кроме точки qwindows, но я могу сделать свою собственную точку зрения). Есть ли решение, где мне не нужно создавать обертку с? я следил за этим вопросом:Как вызвать неуправляемую функцию C ++ с std :: vector <> :: iterator в качестве параметра из C #?

большое спасибо1 пс, я нашел "решение", но не могу его просмотретьhttp://www.experts-exchange.com/Programming/Languages/C_Sharp/Q_21461195.html

C #

using Point = System.Windows.Point;

class CPlusPlusWrapper
{

    [DllImport("EmotionsDLL.dll", EntryPoint = "calibrate_to_file")]
    static extern int calibrate_to_file(vector<points> pontos);//marshall here

    [DllImport("EmotionsDLL.dll", EntryPoint = "calibration_neutral")]
    static extern int calibration_neutral();
    /// <summary>
    /// wraps c++ project into c#
    /// </summary>

    public void calibrate_to_file() { 

}

Заголовок DLL

namespace EMOTIONSDLL
{
    struct points{
        double x;
        double y;
        double z;
    };

    #define db at<double>

    class DLLDIR EMOTIONS
    {
    public:

        EMOTIONS();

        CvERTrees *  Rtree ;


        vector<points> mapear_kinect_porto(vector<points> pontos);

        void calibrate_to_file(vector<points> pontos);

        int calibration_neutral();

        int EmotionsRecognition();
    };
}

Ответы на вопрос(2)

Ваш ответ на вопрос