INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Buffer



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

15.01.2007, 10:36 (Dieser Beitrag wurde zuletzt bearbeitet: 15.01.2007 10:38 von Semtex.)
Beitrag #1

Semtex Offline
LVF-Grünschnabel
*


Beiträge: 22
Registriert seit: Jan 2007

7.1
2002
kA


Oesterreich
Buffer
Guten Morgen Forumuser.

Ich bin zwar schon seit einigen Jahren in Kontakt mit LabVIEW, jedoch beginn ich erst jetzt mich näher damit zu befassen.

Jetzt ist ein Problem aufgetretten das ich selbst nicht lösen kann, deshalb würde ich mich freuen wenn mir jemand von euch helfen würde. Und zwar folgendes:

Ich habe eine DLL (welche ich nicht ändern kann), und will jetzt folgendes Unterprogamm aufrufen:

BOOL UP(HANDLE hDevice,_BUFFER_ST *buffer,LPOVERLAPPED lpOvl);

Return-Wert ist kein problem, U32
hDevice bekomm ich auch ohne Probleme hinein

Jedoch machen mit _BUFFER_ST und LPOVERLAPPED Sorgen:

typedef struct
{
SHORT *pBuffer; // Pointer to buffer
UINT size; // Buffersize in bytes: max. 1024 bytes
UINT validPoints; // number of data points returned from driver
}_BUFFER_ST;

size ist unsingend INT (32bit) und validPoints das selbe
Jedoch wissen wir nicht wie wir in LabVIEW einen Buffer erstellen bzw. den Zeiger darauf bekommen!
Auf jeden Fall bekommen wir als Rückgabewert nur 0 (false) bzw. 1 (aufruf erfolgreich) zurück, das heißt der Buffer muss sich selbst IRGENDWIE auffüllen (oi...)
Daher die Frage: Wie erstelle ich einen Buffer und mache einen Zeiger darauf?

typedef struct _OVERLAPPED {
DWORD Internal;
DWORD InternalHigh;
DWORD Offset;
DWORD OffsetHigh;
HANDLE hEvent;
} OVERLAPPED, *LPOVERLAPPED;

Also da wird der Zeiger auf LPOVERLAPPED übergeben, da hab ich echt KEINE AHNUNG wie das funktioniert. Vom C-File kann ich nur eines sagen.
hEvent = CreateEvent(NULL,FALSE,FALSE,NULL);
ov.hEvent = hEvent;
ov.Offset = 0;
ov.OffsetHigh = 0;
Ob ich jetzt alle Elemente der Struktur einzeln übergeben muss oder nicht weiß ich ebenfalls nicht.

Please Help Unsure
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
Antwort schreiben 


Nachrichten in diesem Thema
Buffer - Semtex - 15.01.2007 10:36
Buffer - IchSelbst - 15.01.2007, 13:25
Buffer - Semtex - 22.01.2007, 16:57
Buffer - IchSelbst - 22.01.2007, 17:46
Buffer - Semtex - 29.01.2007, 10:25
Buffer - IchSelbst - 29.01.2007, 11:34
Buffer - Semtex - 29.01.2007, 14:05
Buffer - IchSelbst - 29.01.2007, 14:43
Buffer - Semtex - 29.01.2007, 15:10
Buffer - IchSelbst - 29.01.2007, 16:09
Buffer - Semtex - 29.01.2007, 16:50
Buffer - IchSelbst - 29.01.2007, 16:58
Buffer - Semtex - 05.02.2007, 08:29
Buffer - Semtex - 12.02.2007, 11:20
Buffer - IchSelbst - 12.02.2007, 13:17
Buffer - Semtex - 12.02.2007, 14:44
Buffer - IchSelbst - 12.02.2007, 15:25
Buffer - Semtex - 26.02.2007, 09:28
Buffer - IchSelbst - 26.02.2007, 10:43
Buffer - Semtex - 26.02.2007, 11:58
Buffer - IchSelbst - 26.02.2007, 23:15
Buffer - Semtex - 05.03.2007, 08:10
Buffer - IchSelbst - 05.03.2007, 10:00
Buffer - Semtex - 05.03.2007, 10:27
Buffer - IchSelbst - 05.03.2007, 11:13
Buffer - IchSelbst - 05.03.2007, 23:11
Buffer - Semtex - 06.03.2007, 15:41
Buffer - jg - 06.03.2007, 17:50
Buffer - Semtex - 12.03.2007, 09:37
Buffer - Semtex - 19.03.2007, 08:16
Buffer - IchSelbst - 19.03.2007, 22:47
Buffer - IchSelbst - 19.03.2007, 23:24
Buffer - IchSelbst - 21.03.2007, 13:11
Buffer - Semtex - 26.03.2007, 10:25
Buffer - IchSelbst - 26.03.2007, 10:49

Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Buffer reservieren + Pointer auslesen one734 14 15.411 09.09.2008 11:04
Letzter Beitrag: rolfk

Gehe zu: