SDK en C++ (non .NET) pour faire un Projet C#
Bonjour,
j'ai un projet à réalisé en C#,
ce projet doit permettre la prise de photo (et vidéo) à partir d'un appareil photo NikonD300.
Normalement, en C++, y'a juste à charger le SDK fourni par Nikon et appeler les différentes API qui vont bien, mais en C#?
Le SDK fourni par Nikon est en C++ (une .dll, trois .h) et fait appels à des types assez complexe.
par exemple:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| typedef struct tagNkMAIDObject
{
ULONG ulType; // One of eNkMAIDObjectType
LONG ulID;
NKREF refClient;
NKREF refModule;
} NkMAIDObject, FAR* LPNkMAIDObject;
ou NKREF:
#ifndef NKREF
typedef LPVOID NKREF;
#endif
et LPVOID:
#ifndef LPVOID
typedef void FAR* LPVOID;
#endif |
Faire une DLL en C++ qui peu être appelé en C#, ça je vois, mais lui passer des types aussi complexe qui ne trouvent pas d’équivalence en .NET, ça j'ai pas d'idée.
Par exemple:
J'ai regardé du coté des 'Wrapper' et voir si ça serait réalisable, mais j'ai peur de pas avoir bien compris le principe...
J'ai lu plusieurs articles qui je pense, pourrai m'aider, mais maintenant, je ne sais pas comment m'y prendre pour parvenir à un résultat.
1. je code des fonctions simplifié pour les actions que j'ai besoins en C++ et j'y fais appel en C#
2. je pars dans les 'Wrappers' et je creuse là dessus
Voilà, auriez vous un retour d'expérience?