Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / infocard / Service / managed / Microsoft / InfoCards / TransformFinalBlockRequest.cs / 1 / TransformFinalBlockRequest.cs
//------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- namespace Microsoft.InfoCards { using System; using System.IO; using IDT = Microsoft.InfoCards.Diagnostics.InfoCardTrace; using System.Security.Principal; using System.Diagnostics; // // Summary: // Manages an encryption request from the client against a specified cryptosession. // class TransformFinalBlockRequest : ClientRequest { // // The cryptosession id we are attaching to. // int m_cryptoSession; // // The cleartext data we wish to transfrom // byte[] m_inBlock; // // The transformed data. // byte[] m_outBlock; // // Sumamry: // Construct an TransformFinalBlockRequest object // // Arguments: // callingProcess - The process in which the caller originated. // callingIdentity - The WindowsIdentity of the caller // rpcHandle - The handle of the native RPC request // inArgs - The stream to read input data from // outArgs - The stream to write output data to // public TransformFinalBlockRequest( Process callingProcess, WindowsIdentity callingIdentity, IntPtr rpcHandle, Stream inArgs, Stream outArgs ) : base( callingProcess, callingIdentity, rpcHandle, inArgs, outArgs ) { IDT.TraceDebug( "Intiating an Encrypt request" ); } protected override void OnMarshalInArgs() { IDT.DebugAssert( null != InArgs, "null inargs" ); BinaryReader reader = new InfoCardBinaryReader( InArgs ); m_cryptoSession = reader.ReadInt32(); int count = reader.ReadInt32(); m_inBlock = reader.ReadBytes( count ); IDT.ThrowInvalidArgumentConditional( 0 == m_cryptoSession, "cryptoSession" ); IDT.ThrowInvalidArgumentConditional( null == m_inBlock || 0 == m_inBlock.Length, "inBlock" ); } // // Summary: // Attach to the appropriate cryptosession and encrypt/decrypt the data. // protected override void OnProcess() { try { TransformCryptoSession session = (TransformCryptoSession) CryptoSession.Find( m_cryptoSession, CallerPid, RequestorIdentity.User ); m_outBlock = session.TransformFinalBlock( m_inBlock ); } finally { Array.Clear( m_inBlock, 0, m_inBlock.Length ); } } protected override void OnMarshalOutArgs() { IDT.DebugAssert( null != OutArgs, "Null out args" ); IDT.DebugAssert( null != m_outBlock, "null outBlock buffer" ); BinaryWriter writer = new BinaryWriter( OutArgs ); Utility.SerializeBytes( writer, m_outBlock ); } } } // 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
- IOThreadScheduler.cs
- AssemblyAttributesGoHere.cs
- IntegerValidatorAttribute.cs
- OleDbParameterCollection.cs
- RenamedEventArgs.cs
- UriWriter.cs
- SingleTagSectionHandler.cs
- DiscoveryClientDocuments.cs
- figurelengthconverter.cs
- GenericPrincipal.cs
- DragEvent.cs
- EventBookmark.cs
- CollectionViewGroup.cs
- OpenTypeLayout.cs
- HttpPostedFile.cs
- Calendar.cs
- WebPartCloseVerb.cs
- CommunicationException.cs
- PlainXmlDeserializer.cs
- FunctionParameter.cs
- Part.cs
- CultureNotFoundException.cs
- GroupLabel.cs
- DriveInfo.cs
- DataGridViewAutoSizeColumnsModeEventArgs.cs
- SqlCrossApplyToCrossJoin.cs
- DataGridViewColumnStateChangedEventArgs.cs
- HttpCookiesSection.cs
- TextBlockAutomationPeer.cs
- ParseHttpDate.cs
- DataTemplateSelector.cs
- ColorConvertedBitmap.cs
- CodeActivityContext.cs
- PublisherIdentityPermission.cs
- DetailsViewUpdateEventArgs.cs
- EditorZoneBase.cs
- ThicknessAnimation.cs
- AudioLevelUpdatedEventArgs.cs
- ObjectSecurity.cs
- WebPermission.cs
- LinqExpressionNormalizer.cs
- TileBrush.cs
- AnonymousIdentificationSection.cs
- DrawListViewColumnHeaderEventArgs.cs
- DirectoryRedirect.cs
- login.cs
- Command.cs
- PrefixHandle.cs
- SqlGatherProducedAliases.cs
- ConfigurationPropertyCollection.cs
- MetadataPropertyvalue.cs
- SqlExpander.cs
- SqlGenericUtil.cs
- SqlCommandBuilder.cs
- AppSettingsReader.cs
- DbConnectionFactory.cs
- Int64Converter.cs
- TreeNode.cs
- ISAPIWorkerRequest.cs
- HtmlToClrEventProxy.cs
- DeflateStreamAsyncResult.cs
- SizeAnimationUsingKeyFrames.cs
- TemplateColumn.cs
- VerificationAttribute.cs
- TextEffect.cs
- UpdatePanelTrigger.cs
- EventProviderClassic.cs
- InstalledFontCollection.cs
- RelationshipEnd.cs
- HtmlControlPersistable.cs
- UIAgentInitializationException.cs
- BlobPersonalizationState.cs
- ChameleonKey.cs
- ListViewContainer.cs
- WebPartEditorApplyVerb.cs
- HitTestParameters.cs
- BamlRecordHelper.cs
- Query.cs
- Slider.cs
- LeftCellWrapper.cs
- SoapSchemaExporter.cs
- TextBoxBaseDesigner.cs
- RijndaelManaged.cs
- MimeMultiPart.cs
- BindStream.cs
- AncestorChangedEventArgs.cs
- ListViewCancelEventArgs.cs
- HttpClientChannel.cs
- RadioButtonBaseAdapter.cs
- OpCellTreeNode.cs
- IntellisenseTextBox.cs
- IPAddress.cs
- GcSettings.cs
- LambdaCompiler.Statements.cs
- FormViewDesigner.cs
- PackUriHelper.cs
- DynamicValueConverter.cs
- CriticalFinalizerObject.cs
- CodeLinePragma.cs
- HelpEvent.cs