/// <summary>
        /// Aktiviert eine Quellinformation.
        /// </summary>
        /// <param name="selection">Die gewünschte Quellinformation.</param>
        /// <exception cref="ArgumentNullException">Es wurden keine Informationen zur
        /// Quelle angegeben.</exception>
        public static void SelectGroup(this SourceSelection selection)
        {
            // Validate
            if (null == selection)
            {
                throw new ArgumentNullException("selection");
            }

            // Forward
            using (HardwareManager.Open())
                selection.SelectGroup(selection.GetHardware());
        }
 /// <summary>
 /// Erzeugt einen Aufzeichnungskontext für eine Quelle.
 /// </summary>
 /// <param name="selection">Die Informationen zur Quelle.</param>
 /// <param name="streams">Die gewünschten Aufzeichnungsparameter.</param>
 /// <returns>Eine Kontrollinstanz für die Aufzeichnung. Diese muss mittels <see cref="IDisposable.Dispose"/>
 /// freigegeben werden.</returns>
 public static SourceStreamsManager Open(this SourceSelection selection, StreamSelection streams)
 {
     // Validate
     if (selection == null)
     {
         throw new ArgumentNullException("selection");
     }
     else
     {
         return(selection.Source.Open(selection.GetHardware(), selection.GetLeafProfile(), streams));
     }
 }
 /// <summary>
 /// Beginnt mit dem Auslesen der Quelldaten.
 /// </summary>
 /// <param name="source">Alle Informationen zur Quelle.</param>
 /// <returns>Die Hintergrundaufgabe zum Auslesen der Quelldaten.</returns>
 public static CancellableTask <SourceInformation> GetSourceInformationAsync(this SourceSelection source)
 {
     return(source.GetHardware().GetSourceInformationAsync(source.Source, source.GetProfile()));
 }