Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / infocard / Service / managed / Microsoft / InfoCards / HashCoreRequest.cs / 1 / HashCoreRequest.cs
//------------------------------------------------------------------------------
// Copyright (c) Microsoft Corporation. All rights reserved.
//-----------------------------------------------------------------------------
namespace Microsoft.InfoCards
{
using System;
using System.IO;
using System.Diagnostics;
using System.Security.Principal;
using IDT = Microsoft.InfoCards.Diagnostics.InfoCardTrace;
//
// Summary:
// Manages a Hash request from the client against a specified cryptosession.
//
class HashCoreRequest : ClientRequest
{
//
// The cryptosession id we are attaching to.
//
int m_cryptoSession;
//
// The cleartext data we wish to transfrom
//
byte[] m_inBlock;
//
// Sumamry:
// Construct an HashCoreRequest 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 HashCoreRequest( 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" );
}
//
// Summary:
// Attach to the appropriate cryptosession and hash the data.
//
protected override void OnProcess()
{
try
{
HashCryptoSession session =
(HashCryptoSession) CryptoSession.Find( m_cryptoSession, CallerPid, RequestorIdentity.User );
session.HashCore( m_inBlock );
}
finally
{
Array.Clear( m_inBlock, 0, m_inBlock.Length );
}
}
protected override void OnMarshalOutArgs()
{
IDT.DebugAssert( null != OutArgs, "Null out args" );
}
}
}
// 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
- GridViewRowCollection.cs
- XmlSerializer.cs
- oledbconnectionstring.cs
- EntityDataSourceDesigner.cs
- QilScopedVisitor.cs
- CommandEventArgs.cs
- ToolStripMenuItem.cs
- CmsUtils.cs
- XPathNodeInfoAtom.cs
- RowsCopiedEventArgs.cs
- PrintControllerWithStatusDialog.cs
- xdrvalidator.cs
- NotCondition.cs
- AppDomainManager.cs
- QilBinary.cs
- WebPageTraceListener.cs
- DataGridDesigner.cs
- WindowShowOrOpenTracker.cs
- HostSecurityManager.cs
- QilUnary.cs
- SqlProcedureAttribute.cs
- DiagnosticTrace.cs
- FixedTextContainer.cs
- UnsafeNativeMethods.cs
- AlphabeticalEnumConverter.cs
- ZipIOCentralDirectoryFileHeader.cs
- DefaultPrintController.cs
- DataBoundControlHelper.cs
- ProxyWebPart.cs
- BuildProvider.cs
- FormatConvertedBitmap.cs
- SqlProfileProvider.cs
- WebEventTraceProvider.cs
- EdmComplexPropertyAttribute.cs
- FindCriteria.cs
- ResourcesBuildProvider.cs
- FixedSOMLineRanges.cs
- QilNode.cs
- UrlMappingCollection.cs
- PartitionedDataSource.cs
- TransformerInfo.cs
- HuffCodec.cs
- DependencySource.cs
- NonClientArea.cs
- TreeViewCancelEvent.cs
- DisableDpiAwarenessAttribute.cs
- TreeChangeInfo.cs
- SmuggledIUnknown.cs
- ViewCellSlot.cs
- BaseAsyncResult.cs
- EncoderParameter.cs
- ClassicBorderDecorator.cs
- RangeValidator.cs
- Exceptions.cs
- CaseCqlBlock.cs
- NetworkAddressChange.cs
- UInt64.cs
- DropShadowBitmapEffect.cs
- ScrollItemProviderWrapper.cs
- EmptyCollection.cs
- CanExecuteRoutedEventArgs.cs
- StateMachine.cs
- Hex.cs
- StrokeCollection.cs
- DesignBindingEditor.cs
- AuthenticationServiceManager.cs
- DoubleAnimationClockResource.cs
- DataObjectSettingDataEventArgs.cs
- XmlDataCollection.cs
- HierarchicalDataSourceControl.cs
- DynamicPropertyReader.cs
- PrintPreviewDialog.cs
- Interfaces.cs
- FixedStringLookup.cs
- BuildTopDownAttribute.cs
- RijndaelManagedTransform.cs
- OleDbErrorCollection.cs
- HtmlEmptyTagControlBuilder.cs
- ObjectToken.cs
- GlyphInfoList.cs
- ResourceType.cs
- Pen.cs
- CachedBitmap.cs
- System.Data_BID.cs
- DPAPIProtectedConfigurationProvider.cs
- Inline.cs
- WizardStepBase.cs
- WriterOutput.cs
- RsaSecurityKey.cs
- ReachDocumentSequenceSerializer.cs
- CompatibleComparer.cs
- followingsibling.cs
- ReadWriteObjectLock.cs
- ListBoxItem.cs
- CacheSection.cs
- EntityClientCacheEntry.cs
- GeneratedCodeAttribute.cs
- StaticFileHandler.cs
- DynamicDataRoute.cs
- Socket.cs