/// <summary> /// Unregisters the specified CoreScanner events. /// </summary> /// <param name="scannerService"></param> /// <param name="events"></param> /// <returns></returns> public static void UnregisterForEvents( this ICoreScannerService scannerService, EventType events) { Contract.Requires(scannerService != null); List <EventType> eventCodes = events .GetFlags <EventType>() .ToList(); XDocument inXml = new XDocument( new XElement("inArgs", new XElement("cmdArgs", new XElement("arg-int", eventCodes.Count), new XElement("arg-int", eventCodes.Cast <Int32>().StringJoin(","))))); scannerService .ExecuteCommand(OperationCode.UnregisterForEvents, inXml.ToString()); }