Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / infocard / Service / managed / Microsoft / InfoCards / GetKeyedHashRequest.cs / 1 / GetKeyedHashRequest.cs
//------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- namespace Microsoft.InfoCards { using System; using System.Collections; using System.Diagnostics; using System.Security.Principal; using System.Threading; //ManualResetEvent using System.ComponentModel; //Win32Exception using System.IO; //Stream using System.Text; using IDT = Microsoft.InfoCards.Diagnostics.InfoCardTrace; // // Summary: // Wraps a request to get a remoted KeyedHashAlgorithm based on a SymmetricCryptoSession. // class GetKeyedHashRequest : ClientRequest { // // The cryptosession id we are attaching to. // int m_cryptoSession; // // The returned transform session. // HashCryptoSession m_hashSession; // // Sumamry: // Construct a GetKeyedHashRequest 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 GetKeyedHashRequest( Process callingProcess, WindowsIdentity callingIdentity, IntPtr rpcHandle, Stream inArgs, Stream outArgs ) : base( callingProcess, callingIdentity, rpcHandle, inArgs, outArgs ) { IDT.TraceDebug( "Intiating a GetCryptoTransform request" ); } protected override void OnMarshalInArgs() { IDT.DebugAssert( null != InArgs, "null inargs" ); BinaryReader reader = new InfoCardBinaryReader( InArgs, Encoding.Unicode ); m_cryptoSession = reader.ReadInt32(); IDT.ThrowInvalidArgumentConditional( 0 == m_cryptoSession, "cryptoSession" ); } // // Summary: // Attach to the appropriate cryptosession and get a keyed hash. // protected override void OnProcess() { SymmetricCryptoSession session = ( SymmetricCryptoSession )CryptoSession.Find( m_cryptoSession, CallerPid, RequestorIdentity.User ); m_hashSession = session.GetKeyedHash(); } // // Summary: // Return our HashCryptoSession. // protected override void OnMarshalOutArgs() { IDT.DebugAssert( null != OutArgs, "Null out args" ); BinaryWriter writer = new BinaryWriter( OutArgs, Encoding.Unicode ); IDT.DebugAssert( null != m_hashSession, "unexpected null outgoing transfromSession" ); m_hashSession.Write( writer ); writer.Flush(); } } } // 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
- ISAPIApplicationHost.cs
- PartitionerStatic.cs
- Rotation3DKeyFrameCollection.cs
- ServiceDurableInstanceContextProvider.cs
- BaseTemplatedMobileComponentEditor.cs
- COM2FontConverter.cs
- NoPersistHandle.cs
- CodeDOMProvider.cs
- RangeEnumerable.cs
- ValidatingPropertiesEventArgs.cs
- AtomPub10CategoriesDocumentFormatter.cs
- XmlSerializableReader.cs
- RegexTree.cs
- WebPartTransformer.cs
- GenericRootAutomationPeer.cs
- MediaPlayerState.cs
- PrintPreviewDialog.cs
- CodeBinaryOperatorExpression.cs
- SEHException.cs
- PropertyPathConverter.cs
- Object.cs
- WorkerRequest.cs
- LoadRetryHandler.cs
- TargetFrameworkUtil.cs
- EnvironmentPermission.cs
- FileDialogPermission.cs
- Win32Native.cs
- Content.cs
- Privilege.cs
- LayoutManager.cs
- ShapeTypeface.cs
- GroupQuery.cs
- NumberFormatter.cs
- PlatformNotSupportedException.cs
- TimerElapsedEvenArgs.cs
- AbsoluteQuery.cs
- SpecialTypeDataContract.cs
- HttpCachePolicyBase.cs
- DrawingAttributes.cs
- OdbcReferenceCollection.cs
- JsonReaderWriterFactory.cs
- PbrsForward.cs
- CommandField.cs
- peersecurityelement.cs
- MutexSecurity.cs
- StringDictionary.cs
- BinaryObjectWriter.cs
- SimpleMailWebEventProvider.cs
- ExpressionReplacer.cs
- ValueExpressions.cs
- APCustomTypeDescriptor.cs
- InputLangChangeRequestEvent.cs
- ListSourceHelper.cs
- Restrictions.cs
- DetailsView.cs
- TagPrefixInfo.cs
- DuplicateWaitObjectException.cs
- ElementAction.cs
- AuthenticationServiceManager.cs
- MetabaseSettings.cs
- HybridObjectCache.cs
- VisualStates.cs
- XmlUnspecifiedAttribute.cs
- _HelperAsyncResults.cs
- XmlCDATASection.cs
- WindowsToolbar.cs
- WebPartDescriptionCollection.cs
- GridViewCommandEventArgs.cs
- MailAddress.cs
- Exception.cs
- DataSourceHelper.cs
- PersonalizationProviderCollection.cs
- ProviderConnectionPoint.cs
- Clock.cs
- LazyTextWriterCreator.cs
- SymbolPair.cs
- ListDependantCardsRequest.cs
- DataTemplate.cs
- Camera.cs
- ContextMenu.cs
- StrongNamePublicKeyBlob.cs
- Type.cs
- CssClassPropertyAttribute.cs
- ErrorHandler.cs
- DiagnosticSection.cs
- GridViewPageEventArgs.cs
- QueryableDataSourceEditData.cs
- MetadataExporter.cs
- sqlstateclientmanager.cs
- TableDetailsCollection.cs
- MD5CryptoServiceProvider.cs
- InputLangChangeRequestEvent.cs
- UriTemplateMatch.cs
- TextBoxLine.cs
- EditBehavior.cs
- MediaElementAutomationPeer.cs
- DesignerTextViewAdapter.cs
- BufferModesCollection.cs
- EventPropertyMap.cs
- TogglePattern.cs