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
- SmiMetaDataProperty.cs
- Pair.cs
- DataGridCellClipboardEventArgs.cs
- RequestResizeEvent.cs
- InvalidCommandTreeException.cs
- Normalizer.cs
- EncryptRequest.cs
- ResizingMessageFilter.cs
- InheritanceRules.cs
- TypeElementCollection.cs
- UInt16.cs
- X509Certificate2Collection.cs
- ControlDesigner.cs
- GridViewSortEventArgs.cs
- HttpResponseInternalBase.cs
- BadImageFormatException.cs
- String.cs
- CompoundFileStreamReference.cs
- SecurityTokenParametersEnumerable.cs
- CopyEncoder.cs
- TraceHwndHost.cs
- DeviceContext.cs
- HostAdapter.cs
- HyperLink.cs
- XPathNodeHelper.cs
- BitmapEffectDrawingContent.cs
- BaseDataBoundControl.cs
- XmlNodeComparer.cs
- BaseValidatorDesigner.cs
- Receive.cs
- WebRequestModuleElement.cs
- FocusChangedEventArgs.cs
- MetabaseSettings.cs
- BrowserCapabilitiesCodeGenerator.cs
- TdsParserSessionPool.cs
- ColorAnimation.cs
- DnsCache.cs
- ContainerActivationHelper.cs
- StagingAreaInputItem.cs
- HtmlString.cs
- BrowserCapabilitiesCompiler.cs
- ThreadPoolTaskScheduler.cs
- MutableAssemblyCacheEntry.cs
- LocalValueEnumerator.cs
- CheckBox.cs
- ITreeGenerator.cs
- AlternateViewCollection.cs
- KeyGestureValueSerializer.cs
- SymbolTable.cs
- Model3DCollection.cs
- EntityDataSourceState.cs
- Convert.cs
- IndexOutOfRangeException.cs
- HostProtectionException.cs
- Menu.cs
- CurrencyWrapper.cs
- Exceptions.cs
- TreeViewItem.cs
- RadialGradientBrush.cs
- ImageAutomationPeer.cs
- PropertyInfo.cs
- RoleGroup.cs
- DecoderNLS.cs
- NestedContainer.cs
- ObjectSpanRewriter.cs
- NextPreviousPagerField.cs
- DBSchemaRow.cs
- PropertyDescriptorComparer.cs
- ProgressiveCrcCalculatingStream.cs
- ContentDisposition.cs
- SpellerStatusTable.cs
- PostBackOptions.cs
- WindowsScroll.cs
- StorageConditionPropertyMapping.cs
- SafeProcessHandle.cs
- AttachedPropertyBrowsableForChildrenAttribute.cs
- InternalControlCollection.cs
- Rotation3DAnimationBase.cs
- PerfCounters.cs
- ConnectionsZone.cs
- RegexCode.cs
- SyncOperationState.cs
- SoapMessage.cs
- ExpressionVisitor.cs
- LabelDesigner.cs
- AuthenticateEventArgs.cs
- AuthenticationModulesSection.cs
- SystemIcons.cs
- DataViewListener.cs
- Point.cs
- CommandPlan.cs
- PriorityRange.cs
- InfoCardMasterKey.cs
- PieceDirectory.cs
- RootBrowserWindowAutomationPeer.cs
- DocumentPageTextView.cs
- ControlPaint.cs
- ServiceMetadataExtension.cs
- OdbcTransaction.cs
- ByteRangeDownloader.cs