Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / infocard / Service / managed / Microsoft / InfoCards / ImportRequest.cs / 1 / ImportRequest.cs
//------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- namespace Microsoft.InfoCards { using System; using System.Collections; using System.Security.Principal; using System.Diagnostics; using System.Threading; //ManualResetEvent using System.ComponentModel; //Win32Exception using System.IO; //Stream using System.Text; using IDT = Microsoft.InfoCards.Diagnostics.InfoCardTrace; using Microsoft.InfoCards.Diagnostics; // // This class is an instance of a request to import a card from a file. // It starts up the UI in the 'Import' mode. // class ImportRequest : ClientUIRequest { FileStream m_importFile; //keep a read pointer to the file string m_filename; public ImportRequest( Process callingProcess, WindowsIdentity callingIdentity, InfoCardUIAgent uiAgent, IntPtr rpcHandle, Stream inArgs, Stream outArgs ) : base( callingProcess, callingIdentity, uiAgent, rpcHandle, inArgs, outArgs, InfoCardUIAgent.CallMode.Import, ExceptionList.AllNonFatal ) { } public string ImportedFile { get{ return m_filename; } } // // No input args // protected override void OnMarshalInArgs() { BinaryReader breader = new InfoCardBinaryReader( InArgs, Encoding.Unicode ); string filename = Utility.DeserializeString( breader ); if (String.IsNullOrEmpty(filename) || filename.Length > Constants.Maxima.FileNameLength) { throw IDT.ThrowHelperError( new ImportException( SR.GetString( SR.InvalidImportFileName ) ) ); } if( !Path.IsPathRooted( filename ) ) { throw IDT.ThrowHelperError( new ImportException( SR.GetString( SR.InvalidImportFileName) ) ); } try { m_filename = filename; m_importFile = new FileStream( m_filename, FileMode.Open, FileAccess.Read, FileShare.Read ); } catch( ArgumentException e ) { throw IDT.ThrowHelperError( new ImportException( SR.GetString( SR.CannotOpenImportFile ), e ) ); } catch( IOException e ) { throw IDT.ThrowHelperError( new ImportException( SR.GetString( SR.CannotOpenImportFile ), e ) ); } catch( NotSupportedException e ) { throw IDT.ThrowHelperError( new ImportException( SR.GetString( SR.CannotOpenImportFile ), e ) ); } catch( UnauthorizedAccessException e ) { throw IDT.ThrowHelperError( new ImportException( SR.GetString( SR.CannotOpenImportFile ), e ) ); } } protected override void OnProcess() { // // ClientUiRequest's member function // StartAndWaitForUIAgent(); } // // No Output args. // protected override void OnMarshalOutArgs() { } protected override void OnDisposeAsUser() { base.OnDisposeAsUser(); if( null != m_importFile ) { m_importFile.Dispose(); m_importFile = null; } } // // Summary // Gets called a) if there was an exception in client processing // or b) if there was an exception in the child's request processing // protected override bool OnHandleException( Exception e, out int errorCode ) { errorCode = 0; bool handled = false; if( e is UserCancelledException ) { errorCode = (e as UserCancelledException).NativeHResult; handled = true; } return handled; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- StringPropertyBuilder.cs
- MonitoringDescriptionAttribute.cs
- SafeNativeMethods.cs
- SweepDirectionValidation.cs
- SByte.cs
- _ProxyRegBlob.cs
- Normalization.cs
- BoolExpressionVisitors.cs
- PeerNearMe.cs
- Int32CAMarshaler.cs
- CodeSnippetStatement.cs
- BamlReader.cs
- ExpressionCopier.cs
- FunctionNode.cs
- ButtonColumn.cs
- BindingNavigator.cs
- XPathParser.cs
- ConfigXmlWhitespace.cs
- AlphabetConverter.cs
- UserControlCodeDomTreeGenerator.cs
- SR.cs
- DefaultTextStoreTextComposition.cs
- StrokeNodeData.cs
- invalidudtexception.cs
- RenderDataDrawingContext.cs
- Resources.Designer.cs
- InnerItemCollectionView.cs
- Compilation.cs
- ListViewItemSelectionChangedEvent.cs
- UnwrappedTypesXmlSerializerManager.cs
- WorkflowEventArgs.cs
- XmlNavigatorFilter.cs
- MetricEntry.cs
- TransformedBitmap.cs
- BookmarkWorkItem.cs
- XPathDocumentBuilder.cs
- XmlDataCollection.cs
- XmlSerializationReader.cs
- TableLayoutPanel.cs
- AttachInfo.cs
- SoapIncludeAttribute.cs
- CompositeDispatchFormatter.cs
- EnumMember.cs
- DesignerTransaction.cs
- CalendarKeyboardHelper.cs
- DragDrop.cs
- DiscoveryDocumentSearchPattern.cs
- TemplateKey.cs
- LeaseManager.cs
- AnnotationComponentChooser.cs
- PropertyMapper.cs
- Figure.cs
- hwndwrapper.cs
- ConstraintCollection.cs
- EdmEntityTypeAttribute.cs
- ReadOnlyCollectionBase.cs
- AddInDeploymentState.cs
- InstanceView.cs
- NetMsmqSecurityElement.cs
- DiscoveryServerProtocol.cs
- DocumentViewerHelper.cs
- AutoSizeToolBoxItem.cs
- DrawingGroup.cs
- TypeSystemProvider.cs
- Rectangle.cs
- ScriptModule.cs
- FullTrustAssembly.cs
- GPRECT.cs
- SafeCryptoHandles.cs
- StyleSelector.cs
- SystemSounds.cs
- StorageAssociationTypeMapping.cs
- ColorAnimation.cs
- CheckPair.cs
- TypedDataSetSchemaImporterExtension.cs
- Policy.cs
- RedirectionProxy.cs
- DesigntimeLicenseContextSerializer.cs
- SspiHelper.cs
- SchemaNames.cs
- SafeBitVector32.cs
- BinarySerializer.cs
- PreservationFileWriter.cs
- CheckBox.cs
- TextEditorDragDrop.cs
- HttpCapabilitiesEvaluator.cs
- TextTrailingCharacterEllipsis.cs
- DecoderExceptionFallback.cs
- XamlFrame.cs
- CellLabel.cs
- PolicyLevel.cs
- CodeDirectoryCompiler.cs
- HandleCollector.cs
- PerformanceCounterPermissionAttribute.cs
- SqlClientWrapperSmiStreamChars.cs
- StringFormat.cs
- Permission.cs
- TemplateInstanceAttribute.cs
- ConstantSlot.cs
- TraceHwndHost.cs