set_framegrabber_callbackT_set_framegrabber_callbackSetFramegrabberCallbackSetFramegrabberCallbackset_framegrabber_callback (Operator)
Name
set_framegrabber_callbackT_set_framegrabber_callbackSetFramegrabberCallbackSetFramegrabberCallbackset_framegrabber_callback — Registrieren einer Callback-Funktion für ein Bildeinzugsgerät.
Signatur
Beschreibung
Der Operator set_framegrabber_callbackset_framegrabber_callbackSetFramegrabberCallbackSetFramegrabberCallbackSetFramegrabberCallbackset_framegrabber_callback registriert eine
Callback-Funktion für das durch AcqHandleAcqHandleAcqHandleAcqHandleacqHandleacq_handle angegebene
Bildeinzugsgerät. Der Parameter CallbackFunctionCallbackFunctionCallbackFunctionCallbackFunctioncallbackFunctioncallback_function enthält einen
Zeiger auf die zu registrierende Funktion, während CallbackTypeCallbackTypeCallbackTypeCallbackTypecallbackTypecallback_type
angibt, mit welcher Funktion des darunterliegenden API sie verbunden werden
soll.
Typische Werte für CallbackTypeCallbackTypeCallbackTypeCallbackTypecallbackTypecallback_type sind:
- 'exception':
Der Bildeinzug hat eine Fehlerbehandlung
ausgelöst.
- 'exposure_end':
Die Belichtung des nächsten Bildes ist beendet.
- 'exposure_start':
Die Belichtung des nächsten Bildes ist gestartet.
- 'transfer_end':
Ein neues Bild ist verfügbar und kann mit
grab_image_asyncgrab_image_asyncGrabImageAsyncGrabImageAsyncGrabImageAsyncgrab_image_async abgeholt werden.
Abhängig von der Funktionalität des darunterliegenden API sind auch
weitere Werte für CallbackTypeCallbackTypeCallbackTypeCallbackTypecallbackTypecallback_type möglich. Alle tatsächlich
verfügbaren Callback-Typen für ein bestimmtes Bildeinzugsgerät können durch
den Aufruf von get_framegrabber_paramget_framegrabber_paramGetFramegrabberParamGetFramegrabberParamGetFramegrabberParamget_framegrabber_param mit dem Parameter
'available_callback_types' abgefragt werden. Nähere Informationen
finden sich in der Dokumentation der verwendeten Bildeinzugsschnittstelle.
Sobald der Callback registriert worden ist, wird bei jedem Eintreten
des entsprechenden Ereignisses (z.B. die Benachrichtigung, dass die
Belichtung abgeschlossen ist) die angegebene Callback-Funktion
CallbackFunctionCallbackFunctionCallbackFunctionCallbackFunctioncallbackFunctioncallback_function aufgerufen. Ist CallbackFunctionCallbackFunctionCallbackFunctionCallbackFunctioncallbackFunctioncallback_function
gleich NULL, wird der entsprechende Callback gelöscht.
Die Signatur der Callback-Funktion lautet folgendermaßen:
Herror HAcqCallback(void *AcqHandle, void *Context, void *UserContext)
Der erste Parameter der Callback-Funktion enthält das in AcqHandleAcqHandleAcqHandleAcqHandleacqHandleacq_handle
übergebene Handle für das Bildeinzugsgerät, der zweite einen Zeiger auf
schnittstellenabhängige Kontextdaten und der dritte Parameter ist der Zeiger
auf die benutzerspezifischen Kontextdaten, der in UserContextUserContextUserContextUserContextuserContextuser_context
angegeben wird.
Achtung
Aus Sicht einer Anwendung mit mehreren Threads werden info_framegrabberinfo_framegrabberInfoFramegrabberInfoFramegrabberInfoFramegrabberinfo_framegrabber,
open_framegrabberopen_framegrabberOpenFramegrabberOpenFramegrabberOpenFramegrabberopen_framegrabber und close_framegrabberclose_framegrabberCloseFramegrabberCloseFramegrabberCloseFramegrabberclose_framegrabber exklusiv ausgeführt.
set_framegrabber_callbackset_framegrabber_callbackSetFramegrabberCallbackSetFramegrabberCallbackSetFramegrabberCallbackset_framegrabber_callback läuft mit allen nicht exklusiven
Operatoren innerhalb und außerhalb der Gruppe parallel.
Ausführungsinformationen
- Multithreading-Typ: reentrant (läuft parallel zu nicht-exklusiven Operatoren).
- Multithreading-Bereich: global (kann von jedem Thread aufgerufen werden).
- Wird ohne Parallelisierung verarbeitet.
Dieser Operator modifiziert den Zustand des folgenden Eingabeparameters:
Während der Ausführung dieses Operators muss der Zugriff auf den Wert dieses Parameters synchronisiert werden, wenn er über mehrere Threads hinweg verwendet wird.
Parameter
AcqHandleAcqHandleAcqHandleAcqHandleacqHandleacq_handle (input_control, Zustand wird modifiziert) framegrabber → HFramegrabber, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)
Zu benutzendes Bildeinzugsgerät.
CallbackTypeCallbackTypeCallbackTypeCallbackTypecallbackTypecallback_type (input_control) string → HTuplestrHTupleHtuple (string) (string) (HString) (char*)
Callback-Typ.
Defaultwert:
'transfer_end'
"transfer_end"
"transfer_end"
"transfer_end"
"transfer_end"
"transfer_end"
Wertevorschläge: 'exception'"exception""exception""exception""exception""exception", 'exposure_end'"exposure_end""exposure_end""exposure_end""exposure_end""exposure_end", 'exposure_start'"exposure_start""exposure_start""exposure_start""exposure_start""exposure_start", 'transfer_end'"transfer_end""transfer_end""transfer_end""transfer_end""transfer_end"
CallbackFunctionCallbackFunctionCallbackFunctionCallbackFunctioncallbackFunctioncallback_function (input_control) pointer → HTupleintHTupleHtuple (integer) (IntPtr) (Hlong) (Hlong)
Zu setzender Zeiger auf die Callback-Funktion.
UserContextUserContextUserContextUserContextuserContextuser_context (input_control) pointer → HTupleintHTupleHtuple (integer) (IntPtr) (Hlong) (Hlong)
Zeiger auf benutzerspezifische Kontextdaten.
Ergebnis
Ist das Bildeinzugsgerät geöffnet und konnte der angegebene Callback
erfolgreich gesetzt werden, liefert set_framegrabber_callbackset_framegrabber_callbackSetFramegrabberCallbackSetFramegrabberCallbackSetFramegrabberCallbackset_framegrabber_callback
den Wert 2 (H_MSG_TRUE). Ansonsten wird eine Fehlerbehandlung durchgeführt.
Vorgänger
open_framegrabberopen_framegrabberOpenFramegrabberOpenFramegrabberOpenFramegrabberopen_framegrabber,
set_framegrabber_paramset_framegrabber_paramSetFramegrabberParamSetFramegrabberParamSetFramegrabberParamset_framegrabber_param
Nachfolger
grab_imagegrab_imageGrabImageGrabImageGrabImagegrab_image,
grab_datagrab_dataGrabDataGrabDataGrabDatagrab_data,
grab_image_startgrab_image_startGrabImageStartGrabImageStartGrabImageStartgrab_image_start,
grab_image_asyncgrab_image_asyncGrabImageAsyncGrabImageAsyncGrabImageAsyncgrab_image_async,
grab_data_asyncgrab_data_asyncGrabDataAsyncGrabDataAsyncGrabDataAsyncgrab_data_async,
get_framegrabber_paramget_framegrabber_paramGetFramegrabberParamGetFramegrabberParamGetFramegrabberParamget_framegrabber_param
Siehe auch
open_framegrabberopen_framegrabberOpenFramegrabberOpenFramegrabberOpenFramegrabberopen_framegrabber,
get_framegrabber_callbackget_framegrabber_callbackGetFramegrabberCallbackGetFramegrabberCallbackGetFramegrabberCallbackget_framegrabber_callback
Modul
Foundation