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 : Sélectionner tout - Visualiser dans une fenêtre à part
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?