Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / infocard / Service / managed / Microsoft / InfoCards / TransformBlockRequest.cs / 1 / TransformBlockRequest.cs
//------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- namespace Microsoft.InfoCards { using System; using System.IO; using System.Security.Principal; using System.Diagnostics; using IDT = Microsoft.InfoCards.Diagnostics.InfoCardTrace; // // Summary: // Manages an encryption request from the client against a specified cryptosession. // class TransformBlockRequest : 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; // // The number of bytes to send back out of the transformed data buffer. // int m_outBlockSize; // // Sumamry: // Construct an TransformBlockRequest 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 TransformBlockRequest( 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_outBlockSize = session.TransformBlock( m_inBlock, out m_outBlock ); IDT.DebugAssert( m_outBlockSize <= m_outBlock.Length, "size mismatch after TransformBlock" ); } finally { Array.Clear( m_inBlock, 0, m_inBlock.Length ); } } protected override void OnMarshalOutArgs() { IDT.ThrowInvalidArgumentConditional( null == OutArgs, "OutArgs" ); IDT.ThrowInvalidArgumentConditional( null == m_outBlock, "outBlock" ); BinaryWriter writer = new BinaryWriter( OutArgs ); Utility.SerializeBytes( writer, m_outBlock, 0, m_outBlockSize ); } } } // 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
- ThreadExceptionDialog.cs
- streamingZipPartStream.cs
- BinaryObjectReader.cs
- WmlListAdapter.cs
- WebBrowserBase.cs
- EastAsianLunisolarCalendar.cs
- LinkClickEvent.cs
- CreateUserWizard.cs
- StateDesigner.LayoutSelectionGlyph.cs
- WebEventTraceProvider.cs
- SqlCrossApplyToCrossJoin.cs
- SimpleApplicationHost.cs
- QuaternionValueSerializer.cs
- RegexTypeEditor.cs
- TableLayoutColumnStyleCollection.cs
- InvalidCastException.cs
- KeyedHashAlgorithm.cs
- HtmlSelect.cs
- ObservableCollection.cs
- DataGridViewIntLinkedList.cs
- SingleAnimationBase.cs
- UpdateCommand.cs
- StyleBamlRecordReader.cs
- GCHandleCookieTable.cs
- CodeIndexerExpression.cs
- DataGridHeaderBorder.cs
- SiteMapPath.cs
- RouteParameter.cs
- DocumentViewerBase.cs
- ForwardPositionQuery.cs
- thaishape.cs
- ConnectionConsumerAttribute.cs
- DES.cs
- StrokeNodeData.cs
- IntranetCredentialPolicy.cs
- FormsAuthenticationUser.cs
- CompilerState.cs
- newinstructionaction.cs
- SqlCachedBuffer.cs
- EnterpriseServicesHelper.cs
- Shape.cs
- CompilerError.cs
- StrokeIntersection.cs
- StorageAssociationSetMapping.cs
- QueryOperationResponseOfT.cs
- AuthStoreRoleProvider.cs
- XmlEntityReference.cs
- ClientConfigurationSystem.cs
- TransformGroup.cs
- CodePageEncoding.cs
- RawStylusInputCustomDataList.cs
- NegotiateStream.cs
- ActivityDesigner.cs
- HtmlTable.cs
- WSFederationHttpSecurityMode.cs
- DataGridViewRowHeaderCell.cs
- JpegBitmapDecoder.cs
- XmlCDATASection.cs
- WebPartTracker.cs
- RadioButton.cs
- SecurityRuntime.cs
- ParentQuery.cs
- URLEditor.cs
- RewritingProcessor.cs
- httpserverutility.cs
- CodeAttributeDeclarationCollection.cs
- DataListItemEventArgs.cs
- TextDecorationCollection.cs
- ValidationRule.cs
- RegisteredExpandoAttribute.cs
- PropertyIDSet.cs
- FormViewUpdateEventArgs.cs
- SystemIPv4InterfaceProperties.cs
- TakeOrSkipQueryOperator.cs
- WebPartVerb.cs
- DefaultValidator.cs
- CodeDomSerializationProvider.cs
- DragCompletedEventArgs.cs
- TextRunProperties.cs
- RolePrincipal.cs
- ImageAttributes.cs
- HostingEnvironmentException.cs
- BamlRecords.cs
- ThreadExceptionDialog.cs
- ManualWorkflowSchedulerService.cs
- RefExpr.cs
- ResourceKey.cs
- _AutoWebProxyScriptHelper.cs
- GridViewRow.cs
- ExecutionEngineException.cs
- UpdateDelegates.Generated.cs
- TextDecorations.cs
- SchemaImporter.cs
- ImageBrush.cs
- Document.cs
- AssemblyBuilderData.cs
- PartialCachingControl.cs
- FixedSchema.cs
- GeneratedCodeAttribute.cs
- Content.cs