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
- VisualCollection.cs
- PropertyDescriptor.cs
- _NetRes.cs
- CharConverter.cs
- TemplateBindingExtensionConverter.cs
- FormattedTextSymbols.cs
- SchemaMerger.cs
- WindowsTokenRoleProvider.cs
- IdentityReference.cs
- ObjectDataSourceStatusEventArgs.cs
- WebPartEditVerb.cs
- PropertyIDSet.cs
- EventProvider.cs
- SQLDecimalStorage.cs
- WizardForm.cs
- NamespaceMapping.cs
- ByteStreamMessageEncoderFactory.cs
- FormViewCommandEventArgs.cs
- XmlSchemaSimpleContentExtension.cs
- FontFaceLayoutInfo.cs
- DSASignatureFormatter.cs
- ToolStripGrip.cs
- RegexInterpreter.cs
- DeploymentExceptionMapper.cs
- CompiledXpathExpr.cs
- InsufficientMemoryException.cs
- DecodeHelper.cs
- ServicePointManagerElement.cs
- NotImplementedException.cs
- ResourceManager.cs
- CryptoHandle.cs
- TypeUtil.cs
- ExpressionConverter.cs
- MediaPlayerState.cs
- OrthographicCamera.cs
- _NegoState.cs
- SystemPens.cs
- WebConvert.cs
- Message.cs
- MediaEntryAttribute.cs
- Helper.cs
- ListBox.cs
- RoleBoolean.cs
- PerformanceCounterPermissionEntry.cs
- _ProxyChain.cs
- StackBuilderSink.cs
- CompiledQueryCacheKey.cs
- FigureParaClient.cs
- LocalizedNameDescriptionPair.cs
- ScrollBar.cs
- IisTraceListener.cs
- ObjectReferenceStack.cs
- ClientBase.cs
- SelectionWordBreaker.cs
- DesignerCategoryAttribute.cs
- AnchoredBlock.cs
- WebBrowserNavigatingEventHandler.cs
- TypeValidationEventArgs.cs
- DPCustomTypeDescriptor.cs
- StylusTouchDevice.cs
- RequestDescription.cs
- ShaperBuffers.cs
- DecodeHelper.cs
- DescendantBaseQuery.cs
- HtmlTableCell.cs
- DelegatedStream.cs
- MediaElement.cs
- StylusPointCollection.cs
- BindingManagerDataErrorEventArgs.cs
- DataGridViewAutoSizeColumnsModeEventArgs.cs
- UnitySerializationHolder.cs
- ConnectionManagementElementCollection.cs
- DataControlFieldCell.cs
- EditCommandColumn.cs
- OdbcReferenceCollection.cs
- CommonDialog.cs
- Int64AnimationBase.cs
- WebPartConnectVerb.cs
- ContractListAdapter.cs
- SHA384Managed.cs
- DocumentViewerAutomationPeer.cs
- DataGridViewCellValidatingEventArgs.cs
- StrokeCollection2.cs
- ToolStripItemClickedEventArgs.cs
- XmlAttributeCollection.cs
- GridViewCancelEditEventArgs.cs
- MissingSatelliteAssemblyException.cs
- DataTemplateSelector.cs
- SortableBindingList.cs
- CollectionBase.cs
- WorkflowTraceTransfer.cs
- CodeGen.cs
- WorkflowApplicationTerminatedException.cs
- BinaryNode.cs
- SQLBoolean.cs
- AppendHelper.cs
- RequestBringIntoViewEventArgs.cs
- SessionParameter.cs
- LinqDataSourceUpdateEventArgs.cs
- DefaultAuthorizationContext.cs