internal ImaqdxAcquisition(ImaqdxSession session) { _session = session; _callbackManager = new CallbackManager(); _callbackManager.SynchronizeCallbacks = DefaultSynchronizeCallbacks; _frameDoneEventHandler = new EventHandler <ImaqdxImageAcquiredEventArgs>(OnImageAcquired); _frameDoneEventHandlers = new List <EventHandler <ImaqdxImageAcquiredEventArgs> >(); _frameDoneDriverCallback = new ImaqdxFrameDoneEventHandler(ImageAcquiredDriverCallback); _frameDoneDriverCallbackInstalled = false; }
public static extern int IMAQdxRegisterFrameDoneEvent(ImaqdxSessionHandle id, uint bufferInterval, ImaqdxFrameDoneEventHandler callbackFunction, IntPtr callbackData);
public static void InstallImageAcquiredEventHandler(ImaqdxSessionHandle session, ImaqdxFrameDoneEventHandler callback) { Debug.Assert(session != null, "The session parameter cannot be null."); Debug.Assert(!session.IsInvalid, "The session parameter must be a valid handle."); Debug.Assert(callback != null, "The callback parameter cannot be null."); int status = NiImaqdxDll.IMAQdxRegisterFrameDoneEvent(session, DefaultBufferInterval, callback, IntPtr.Zero); ExceptionBuilder.CheckErrorAndThrow(status); }