internal static extern int GBMSAPI_StartAcquisition(
                UInt32 ObjectToScan,
                UInt32 OptionMask,
                GBMSAPI_NET_AcquisitionEventsManagerCallbackInterface
                    AcquisitionEventsManagerCallbackPtr,
                IntPtr AcquisitionEventsManagerParameters,
                UInt32 DisplayOptionMask,
	            Byte ContrastLimitToDisplayOnLCD,
                Byte CompletenessLimitToDisplayOnLCD
                );
            /**************************************
             * GBMSAPI_StartAcquisition
            **************************************/
            /// <summary>
            /// See GBMSAPI_StartAcquisition(...) function in GBMSAPI_Library.h file
            /// </summary>
            /// <param name="ObjectToScan"></param>
            /// <param name="OptionMask"></param>
            /// <param name="AcquisitionEventsManagerCallbackPtr"></param>
            /// <param name="AcquisitionEventsManagerParameters"></param>
            /// <param name="DisplayOptionMask"></param>
            /// <param name="ContrastLimitToDisplayOnLCD"></param>
            /// <param name="CompletenessLimitToDisplayOnLCD"></param>
            /// <returns></returns>
            public static Int32 GBMSAPI_NET_StartAcquisition(
                UInt32 ObjectToScan,
                UInt32 OptionMask,
                GBMSAPI_NET_AcquisitionEventsManagerCallback AcquisitionEventsManagerCallbackPtr,
                IntPtr AcquisitionEventsManagerParameters,
                UInt32 DisplayOptionMask,
                Byte ContrastLimitToDisplayOnLCD,
                Byte CompletenessLimitToDisplayOnLCD
                )
            {
                try
                {
                    GBMSAPI_NET_ScanningRoutines.Callback = new
                        GBMSAPI_NET_AcquisitionEventsManagerCallbackInterface(
                        GBMSAPI_AcquisitionCallbackInterface.MyAcquisitionEventsManagerCallbackInterface);
                    GBMSAPI_AcquisitionCallbackInterface.FunctionToBeCalled = AcquisitionEventsManagerCallbackPtr;
                    Int32 RetVal = GBMSAPI_NET_DLL_WRAPPER.GBMSAPI_StartAcquisition(
                        ObjectToScan,
                        OptionMask,
                        GBMSAPI_NET_ScanningRoutines.Callback,
                        AcquisitionEventsManagerParameters,
                        DisplayOptionMask,
                        ContrastLimitToDisplayOnLCD,
                        CompletenessLimitToDisplayOnLCD
                    );

                    return RetVal;
                }
                catch (Exception ex)
                {
                    GBMSAPI_NET_ErrorCodes.GBMSAPI_NET_ERROR_CODE_EXCEPTION_STRING =
                        "GBMSAPI_NET_StartAcquisition: " + ex.Message;
                    return GBMSAPI_NET_ErrorCodes.GBMSAPI_NET_ERROR_CODE_EXCEPTION;
                }
            }