public virtual HResult Initialize() { try { // Frame holds on to a reference to the listener, so we don't have to. if (Frame != null) new Listener(this); return HResult.OK; } catch (Exception ex) { return ErrorUtil.GetHResult(ex); } }