KlassenKlassenKlassenKlassen | | | | Operatoren

set_framegrabber_callbackset_framegrabber_callbackSetFramegrabberCallbackset_framegrabber_callbackSetFramegrabberCallbackSetFramegrabberCallback (Operator)

Name

set_framegrabber_callbackset_framegrabber_callbackSetFramegrabberCallbackset_framegrabber_callbackSetFramegrabberCallbackSetFramegrabberCallback — Registrieren einer Callback-Funktion für ein Bildeinzugsgerät.

Signatur

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

Herror set_framegrabber_callback(const Hlong AcqHandle, const char* CallbackType, const Hlong CallbackFunction, const Hlong UserContext)

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

Herror set_framegrabber_callback(const HTuple& AcqHandle, const HTuple& CallbackType, const HTuple& CallbackFunction, const HTuple& UserContext)

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

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 HOperatorSetX.SetFramegrabberCallback(
[in] VARIANT AcqHandle, [in] VARIANT CallbackType, [in] VARIANT CallbackFunction, [in] VARIANT UserContext)

void HFramegrabberX.SetFramegrabberCallback(
[in] BSTR CallbackType, [in] Hlong CallbackFunction, [in] Hlong UserContext)

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

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

Beschreibung

Der Operator set_framegrabber_callbackset_framegrabber_callbackSetFramegrabberCallbackset_framegrabber_callbackSetFramegrabberCallbackSetFramegrabberCallback registriert eine Callback-Funktion für das durch AcqHandleAcqHandleAcqHandleAcqHandleAcqHandleacqHandle angegebene Bildeinzugsgerät. Der Parameter CallbackFunctionCallbackFunctionCallbackFunctionCallbackFunctionCallbackFunctioncallbackFunction enthält einen Zeiger auf die zu registrierende Funktion, während CallbackTypeCallbackTypeCallbackTypeCallbackTypeCallbackTypecallbackType angibt, mit welcher Funktion des darunterliegenden API sie verbunden werden soll.

Typische Werte für CallbackTypeCallbackTypeCallbackTypeCallbackTypeCallbackTypecallbackType 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_asyncGrabImageAsyncgrab_image_asyncGrabImageAsyncGrabImageAsync abgeholt werden.

Abhängig von der Funktionalität des darunterliegenden API sind auch weitere Werte für CallbackTypeCallbackTypeCallbackTypeCallbackTypeCallbackTypecallbackType 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_paramGetFramegrabberParamget_framegrabber_paramGetFramegrabberParamGetFramegrabberParam 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 CallbackFunctionCallbackFunctionCallbackFunctionCallbackFunctionCallbackFunctioncallbackFunction aufgerufen. Ist CallbackFunctionCallbackFunctionCallbackFunctionCallbackFunctionCallbackFunctioncallbackFunction gleich NULL, wird der entsprechende Callback gelöscht.

Die Signatur der Callback-Funktion lautet folgendermaßen:

Herror HAcqCallback(void *AcqHandle, void *Context, void *UserContext)
Auf Windows 32-Bit-Systemen wird die __stdcall Namenskonvention verwendet:
Herror (__stdcall HAcqCallback)(void *AcqHandle, void *Context, void *UserContext)

Der erste Parameter der Callback-Funktion enthält das in AcqHandleAcqHandleAcqHandleAcqHandleAcqHandleacqHandle ü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 UserContextUserContextUserContextUserContextUserContextuserContext angegeben wird.

Achtung

Aus Sicht einer Anwendung mit mehreren Threads bilden alle Bildeinzugsoperatoren (wie in open_framegrabberopen_framegrabberOpenFramegrabberopen_framegrabberOpenFramegrabberOpenFramegrabber aufgelistet) eine eigene Gruppe innerhalb der info_framegrabberinfo_framegrabberInfoFramegrabberinfo_framegrabberInfoFramegrabberInfoFramegrabber, open_framegrabberopen_framegrabberOpenFramegrabberopen_framegrabberOpenFramegrabberOpenFramegrabber, close_framegrabberclose_framegrabberCloseFramegrabberclose_framegrabberCloseFramegrabberCloseFramegrabber und close_all_framegrabbersclose_all_framegrabbersCloseAllFramegrabbersclose_all_framegrabbersCloseAllFramegrabbersCloseAllFramegrabbers exklusiv ausgeführt werden.

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

Parallelisierung

Dieser Operator modifiziert den Zustand des folgenden Eingabeparameters:

Der Wert dieses Parameters darf nicht über mehrere Threads verwendet werden.

Parameter

AcqHandleAcqHandleAcqHandleAcqHandleAcqHandleacqHandle (input_control, Zustand wird modifiziert)  framegrabber HFramegrabber, HTupleHTupleHFramegrabber, HTupleHFramegrabberX, VARIANTHtuple (integer) (IntPtr) (Hlong) (Hlong) (Hlong) (Hlong)

Zu benutzendes Bildeinzugsgerät.

CallbackTypeCallbackTypeCallbackTypeCallbackTypeCallbackTypecallbackType (input_control)  string HTupleHTupleHTupleVARIANTHtuple (string) (string) (HString) (char*) (BSTR) (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"

CallbackFunctionCallbackFunctionCallbackFunctionCallbackFunctionCallbackFunctioncallbackFunction (input_control)  pointer HTupleHTupleHTupleVARIANTHtuple (integer) (IntPtr) (Hlong) (Hlong) (Hlong) (Hlong)

Zu setzender Zeiger auf die Callback-Funktion.

UserContextUserContextUserContextUserContextUserContextuserContext (input_control)  pointer HTupleHTupleHTupleVARIANTHtuple (integer) (IntPtr) (Hlong) (Hlong) (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_callbackSetFramegrabberCallbackset_framegrabber_callbackSetFramegrabberCallbackSetFramegrabberCallback den Wert 2 (H_MSG_TRUE). Ansonsten wird eine Fehlerbehandlung durchgeführt.

Vorgänger

open_framegrabberopen_framegrabberOpenFramegrabberopen_framegrabberOpenFramegrabberOpenFramegrabber, set_framegrabber_paramset_framegrabber_paramSetFramegrabberParamset_framegrabber_paramSetFramegrabberParamSetFramegrabberParam

Nachfolger

grab_imagegrab_imageGrabImagegrab_imageGrabImageGrabImage, grab_datagrab_dataGrabDatagrab_dataGrabDataGrabData, grab_image_startgrab_image_startGrabImageStartgrab_image_startGrabImageStartGrabImageStart, grab_image_asyncgrab_image_asyncGrabImageAsyncgrab_image_asyncGrabImageAsyncGrabImageAsync, grab_data_asyncgrab_data_asyncGrabDataAsyncgrab_data_asyncGrabDataAsyncGrabDataAsync, get_framegrabber_paramget_framegrabber_paramGetFramegrabberParamget_framegrabber_paramGetFramegrabberParamGetFramegrabberParam

Siehe auch

open_framegrabberopen_framegrabberOpenFramegrabberopen_framegrabberOpenFramegrabberOpenFramegrabber, get_framegrabber_callbackget_framegrabber_callbackGetFramegrabberCallbackget_framegrabber_callbackGetFramegrabberCallbackGetFramegrabberCallback

Modul

Foundation


KlassenKlassenKlassenKlassen | | | | Operatoren