private IObservable <PnpEventArgs> CreateWhenPnp()
 {
     return(Observable.FromEvent(
                (Action <PnpEventArgs> handler) =>
                new _ICoreScannerEvents_PNPEventEventHandler(
                    delegate(Int16 eventType, ref String data)
     {
         handler(PnpEventArgs.Parse(eventType, data));
     }),
                handler => this.coreScanner.PNPEvent += handler,
                handler => this.coreScanner.PNPEvent -= handler));
 }