GetLastErrorDetailsRequest.cs source code in C# .NET

Source code for the .NET framework in C#

                        

Code:

/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / infocard / Service / managed / Microsoft / InfoCards / GetLastErrorDetailsRequest.cs / 1 / GetLastErrorDetailsRequest.cs

                            //------------------------------------------------------------------------------ 
// Copyright (c) Microsoft Corporation.  All rights reserved.
//-----------------------------------------------------------------------------
namespace Microsoft.InfoCards
{ 
    using System;
    using System.Collections.Generic; 
    using System.IO; 
    using System.Text;
    using IDT = Microsoft.InfoCards.Diagnostics.InfoCardTrace; 
    using Microsoft.InfoCards.Diagnostics;

    //
    // Opens a store file and checks the first element to make sure that this is 
    // a valid infocard store file.
    // 
    class GetLastErrorDetailsRequest :UIAgentRequest 
    {
        public GetLastErrorDetailsRequest( IntPtr rpcHandle, Stream inArgs, Stream outArgs, ClientUIRequest parent ) 
            : base( rpcHandle, inArgs, outArgs, parent )
        {

        } 

        // 
        // Summary 
        //  Read the marshalled arguments
        // 
        protected override void OnMarshalInArgs()
        {
        }
 
        //
        // Summary 
        //  Read the first element of the file 
        //
        protected override void OnProcess() 
        {
        }

        // 
        // Summary
        //   Write the boolean value to be returned 
        // 
        protected override void OnMarshalOutArgs()
        { 
            BinaryWriter writer = new BinaryWriter( OutArgs, Encoding.Unicode );
            writer.Write( ParentRequest is GetBrowserTokenRequest );

            int error = (int)EventCode.E_ICARD_COMMUNICATION; 
            Exception e = ParentRequest.ProcessingException;
            if( null != e ) 
            { 
                //
                // Try to find the innermost infocard exception 
                //
                Exception lastInfoCardException = null;

                while( e is InfoCardBaseException ) 
                {
                    lastInfoCardException = e; 
 
                    if( null != e.InnerException )
                    { 
                        e = e.InnerException;
                    }
                    else
                    { 
                        break;
                    } 
                } 

                if( null != lastInfoCardException ) 
                {
                    error = ( lastInfoCardException as InfoCardBaseException ).NativeHResult;
                }
 
            }
            writer.Write( error ); 
        } 

    } 

}

// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.


                        

Link Menu

Network programming in C#, Network Programming in VB.NET, Network Programming in .NET
This book is available now!
Buy at Amazon US or
Buy at Amazon UK