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
- DataGridHeaderBorder.cs
- ThrowHelper.cs
- CodeDefaultValueExpression.cs
- PathTooLongException.cs
- ServiceRouteHandler.cs
- PkcsMisc.cs
- Message.cs
- ConfigXmlSignificantWhitespace.cs
- CollaborationHelperFunctions.cs
- CommandLibraryHelper.cs
- XdrBuilder.cs
- ScrollViewer.cs
- CheckPair.cs
- XamlPoint3DCollectionSerializer.cs
- DataControlFieldCollection.cs
- XmlIterators.cs
- AtomicFile.cs
- XmlIlGenerator.cs
- BuildProvider.cs
- DataTableClearEvent.cs
- SynchronousSendBindingElement.cs
- HandlerFactoryCache.cs
- Sequence.cs
- ComponentCollection.cs
- ProcessInfo.cs
- RelationshipEntry.cs
- Deflater.cs
- ValidatorCollection.cs
- ConfigurationValidatorAttribute.cs
- SqlDesignerDataSourceView.cs
- LogLogRecordEnumerator.cs
- BaseCollection.cs
- UpdateRecord.cs
- WsdlBuildProvider.cs
- LocatorGroup.cs
- ThicknessAnimationUsingKeyFrames.cs
- Trigger.cs
- CriticalFinalizerObject.cs
- ColumnBinding.cs
- _Rfc2616CacheValidators.cs
- VariantWrapper.cs
- SendMailErrorEventArgs.cs
- StorageComplexPropertyMapping.cs
- DiscreteKeyFrames.cs
- ReferentialConstraint.cs
- FixedPage.cs
- ClientCultureInfo.cs
- CallbackException.cs
- AttributeAction.cs
- CryptographicAttribute.cs
- NameTable.cs
- FaultReason.cs
- RectangleGeometry.cs
- DataBindingValueUIHandler.cs
- UnsafeNativeMethods.cs
- codemethodreferenceexpression.cs
- XmlExceptionHelper.cs
- IPipelineRuntime.cs
- Geometry3D.cs
- CodeTypeReferenceCollection.cs
- InputLanguageManager.cs
- UserNamePasswordValidationMode.cs
- AudioDeviceOut.cs
- EntityDataSourceQueryBuilder.cs
- RectangleHotSpot.cs
- storepermissionattribute.cs
- DefinitionUpdate.cs
- PropertyEntry.cs
- ContractBase.cs
- ConnectionsZone.cs
- ModuleBuilder.cs
- Timeline.cs
- ModifierKeysConverter.cs
- _emptywebproxy.cs
- HttpWebResponse.cs
- ExtensibleClassFactory.cs
- DeploymentSectionCache.cs
- XamlTypeWithExplicitNamespace.cs
- BamlReader.cs
- Code.cs
- HebrewCalendar.cs
- SecurityCriticalDataForSet.cs
- SpStreamWrapper.cs
- DataGridHeaderBorder.cs
- DispatcherOperation.cs
- BasicHttpBindingElement.cs
- WeakReferenceKey.cs
- CodeRemoveEventStatement.cs
- SmtpTransport.cs
- SocketInformation.cs
- PageThemeParser.cs
- Connector.cs
- ObjectStateFormatter.cs
- CopyAttributesAction.cs
- NgenServicingAttributes.cs
- WorkflowHostingEndpoint.cs
- WpfXamlMember.cs
- CssClassPropertyAttribute.cs
- ObjectPersistData.cs
- SimpleWebHandlerParser.cs