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

set_framegrabber_callback( : : AcqHandle, CallbackType, CallbackFunction, UserContext : )

Herror T_set_framegrabber_callback(const Htuple AcqHandle, const Htuple CallbackType, const Htuple CallbackFunction, const Htuple UserContext)

void SetFramegrabberCallback(const HTuple& AcqHandle, const HTuple& CallbackType, const HTuple& CallbackFunction, const HTuple& UserContext)

void HFramegrabber::SetFramegrabberCallback(const HString& CallbackType, void* CallbackFunction, void* UserContext) const

void HFramegrabber::SetFramegrabberCallback(const char* CallbackType, void* CallbackFunction, void* UserContext) const

void HFramegrabber::SetFramegrabberCallback(const wchar_t* CallbackType, void* CallbackFunction, void* UserContext) const   (Nur Windows)

static void HOperatorSet.SetFramegrabberCallback(HTuple acqHandle, HTuple callbackType, HTuple callbackFunction, HTuple userContext)

void HFramegrabber.SetFramegrabberCallback(string callbackType, IntPtr callbackFunction, IntPtr userContext)

def set_framegrabber_callback(acq_handle: HHandle, callback_type: str, callback_function: int, user_context: int) -> None

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 bilden alle Bildeinzugsoperatoren (wie in open_framegrabberopen_framegrabberOpenFramegrabberOpenFramegrabberOpenFramegrabberopen_framegrabber aufgelistet) eine eigene Gruppe innerhalb der info_framegrabberinfo_framegrabberInfoFramegrabberInfoFramegrabberInfoFramegrabberinfo_framegrabber, open_framegrabberopen_framegrabberOpenFramegrabberOpenFramegrabberOpenFramegrabberopen_framegrabber, close_framegrabberclose_framegrabberCloseFramegrabberCloseFramegrabberCloseFramegrabberclose_framegrabber und close_all_framegrabbersclose_all_framegrabbersCloseAllFramegrabbersCloseAllFramegrabbersCloseAllFramegrabbersclose_all_framegrabbers exklusiv ausgeführt werden.

set_framegrabber_callbackset_framegrabber_callbackSetFramegrabberCallbackSetFramegrabberCallbackSetFramegrabberCallbackset_framegrabber_callback läuft mit allen nicht exklusiven Operatoren innerhalb und außerhalb der Gruppe parallel.

Ausführungsinformationen

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 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