PInvoke mit Struct-Argumenten

02/05/2008 - 11:35 von Michael Andreas | Report spam
Hi,

ich möchte nachfolgende DLL einbinden:
http://robotics.cucei.udg.mx/Index_...e0003.html
http://robotics.cucei.udg.mx/Index_...Manual.pdf

Mit PInvoke hab ich mehrfach gearbeitet - aber bisher keine Structs als
Argumente übergeben.
Könnt Ihr mir einen Tipp geben wie nachfolgende Funktion (exemplarisch für
alle) in C# aufgerufen würde?

Danke Michael


typedef struct
{
double x;
double y;
double z;
} VECT *pVECT;


crossp
. Declaration: void crossp(pVECT ein, pVECT zwei, pVECT r)
. Purpose: This function builds the TARGET Transformation Matrix.
. Arguments: This function has three arguments
- pVECT ein - First vector to be used in the cross product.
- pVECT zwei - Second vector to be used in the cross product.
- pVECT r - Vector generated after the cross product computation.
. Return Value: None. VECT Structure r will hold the new vector.
 

Lesen sie die antworten

#1 Herfried K. Wagner [MVP]
02/05/2008 - 16:13 | Warnen spam
"Michael Andreas" schrieb:
Mit PInvoke hab ich mehrfach gearbeitet - aber bisher keine Structs als
Argumente übergeben.
Könnt Ihr mir einen Tipp geben wie nachfolgende Funktion (exemplarisch für
alle) in C# aufgerufen würde?

Danke Michael


typedef struct
{
double x;
double y;
double z;
} VECT *pVECT;

crossp
. Declaration: void crossp(pVECT ein, pVECT zwei, pVECT r)



Setze die Strukturdefinition nach C# um und markiere die Parameter 'ein',
'zwei' und 'r' als 'ref' bzw. 'out' (siehe C#-Dokumentation).

M S Herfried K. Wagner
M V P <URL:http://dotnet.mvps.org/>
V B <URL:http://dotnet.mvps.org/dotnet/faqs/>

Ähnliche fragen