' schrieb:Also in einem anderen Beitrag habe ich gelesen das man die Strukturen einzelnd übergeben muss / kann,
Richtig: In jenem Falle "kann". Aber auch nur deswegen, weil in der Parameterliste nix mit * steht (guckst du dort Posting #9: BOOL __stdcall Unterprogramm(HANDLE handle1,_AIN Analog,_DIO Digital); ). In deinem Falle geht (vorerst) garnichts. Wenn da ein * steht, ist das tatsächlich ein Pointer, der - so
wie in diesem Falle - zum Schreiben benutzt wird. Das einzige, das du (vorerst) machen kannst, ist für _OVERLAPPED Null (nummerisch Null in U32) zu übergeben. (Nicht überall, wo die Möglichkeit besteht eine Overlapped-Struktur zu benutzen, wird sie auch zwangsweise benutzt).
Zitat:Was ist z.B. HANDLE?
HANDLE ist spezieller Typ und entspricht einem U32-Wert. Ein Handle ist immer ein Pointer und zwar ein solcher mit speziellen "Funktionen". Ein Handle - na guckst du lieber
WikiPedia.
Zitat:mit dem Zeiger auf das 1. Element des Buffers habe ich auch noch so meine Probleme. Das ist ein 16 bit Zeiger der auf ein Array mit 512 Dimensionen zeigt oder!?
Jowohl.
Short int ist zwar die LV-Bezeichnung für ein U16/I16. Allerdings glaube ich, dass in C++ short int eher U8/I8 ist. Das Array hat nicht 512 Dimmensionen - sondern eine mit 512 (bzw. 1024) Werten. Als Übergabetyp kommt hier auf jeden Fall Array-Datenzeiger in Frage. Ob "Short Int" oder "Byte"/"Char" ist egal. (Ob die Übergabe eines Structs in der Art wie _BUFFER_ST geht, weis ich noch nicht)
Zitat:Bin für Verbesserungsvorschläge (es geht so nicht) immer offen
Ich bin ja der Meinung, das wird nix - irgendwo hat jedes System eine Grenze. Zumindest das mit dem Overlapped wird in LV eher schwierig.