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
- UnsafeNativeMethods.cs
- PropertyChangedEventArgs.cs
- TargetException.cs
- HttpWebRequestElement.cs
- ReferencedType.cs
- DataSysAttribute.cs
- JavaScriptObjectDeserializer.cs
- DataGridColumnHeaderCollection.cs
- ClrPerspective.cs
- ModelFunctionTypeElement.cs
- EventArgs.cs
- DataBindEngine.cs
- XmlWellformedWriter.cs
- TypeCollectionPropertyEditor.cs
- SwitchAttribute.cs
- ActivityXRefPropertyEditor.cs
- ThemeableAttribute.cs
- CodeConstructor.cs
- CompModSwitches.cs
- ShaperBuffers.cs
- _ConnectionGroup.cs
- SiteMapDataSource.cs
- LightweightCodeGenerator.cs
- DbConnectionPool.cs
- LinkButton.cs
- TransportDefaults.cs
- ProfileBuildProvider.cs
- StreamReader.cs
- TreeViewDesigner.cs
- Serializer.cs
- CheckBoxRenderer.cs
- ItemCheckEvent.cs
- WindowCollection.cs
- Point3DCollection.cs
- Enumerable.cs
- TextDecorationCollection.cs
- AssemblySettingAttributes.cs
- AliasedSlot.cs
- SiteIdentityPermission.cs
- ZipIORawDataFileBlock.cs
- remotingproxy.cs
- ZipIOBlockManager.cs
- MouseDevice.cs
- Regex.cs
- InfocardChannelParameter.cs
- TextElementEnumerator.cs
- RotateTransform.cs
- ProbeDuplexCD1AsyncResult.cs
- EventWaitHandle.cs
- TextDecoration.cs
- DatagridviewDisplayedBandsData.cs
- SoapFault.cs
- ExpandSegment.cs
- DataGridViewComboBoxEditingControl.cs
- LinkConverter.cs
- ClientRolePrincipal.cs
- MultiBinding.cs
- AnnotationComponentManager.cs
- KeysConverter.cs
- CodePageUtils.cs
- BuilderPropertyEntry.cs
- DBCommand.cs
- NameValueConfigurationCollection.cs
- ProviderSettings.cs
- CodeBlockBuilder.cs
- ConcatQueryOperator.cs
- ToolTip.cs
- OneOfElement.cs
- DataTableMappingCollection.cs
- XsdCachingReader.cs
- SerializationHelper.cs
- ModuleConfigurationInfo.cs
- OverrideMode.cs
- StructuredProperty.cs
- RunInstallerAttribute.cs
- ColorBlend.cs
- TypeToken.cs
- WinFormsUtils.cs
- PropertyGridEditorPart.cs
- IdentityModelStringsVersion1.cs
- BevelBitmapEffect.cs
- ConditionBrowserDialog.cs
- SimpleHandlerFactory.cs
- ProcessManager.cs
- DBCommandBuilder.cs
- PackagingUtilities.cs
- StatusBarItemAutomationPeer.cs
- ToolStripProfessionalLowResolutionRenderer.cs
- XmlHierarchyData.cs
- dsa.cs
- SchemaObjectWriter.cs
- RelationshipConverter.cs
- RootProfilePropertySettingsCollection.cs
- ItemsPresenter.cs
- VirtualDirectoryMapping.cs
- infer.cs
- WsdlWriter.cs
- ValidatingPropertiesEventArgs.cs
- CrossSiteScriptingValidation.cs
- StrongNameMembershipCondition.cs