IsolatedStorageFileStream.Handle Property

Definition

Warning

This API is now obsolete.

Gets the file handle for the file that the current IsolatedStorageFileStream object encapsulates. Accessing this property is not permitted on an IsolatedStorageFileStream object, and throws an IsolatedStorageException.

public:
 virtual property IntPtr Handle { IntPtr get(); };
[System.Obsolete("Use SafeFileHandle - once available")]
[System.Obsolete("This property has been deprecated.  Please use IsolatedStorageFileStream's SafeFileHandle property instead.  https://go.microsoft.com/fwlink/?linkid=14202")]
[get: System.Security.SecurityCritical]
[System.Obsolete("This property has been deprecated.  Please use IsolatedStorageFileStream's SafeFileHandle property instead.  https://go.microsoft.com/fwlink/?linkid=14202")]
[System.Obsolete("This property has been deprecated.  Please use IsolatedStorageFileStream's SafeFileHandle property instead.  http://go.microsoft.com/fwlink/?linkid=14202")]
public override IntPtr Handle { get; }
member this.Handle : nativeint
Public Overrides ReadOnly Property Handle As IntPtr

Property Value

The file handle for the file that the current IsolatedStorageFileStream object encapsulates.

Attributes

Exceptions

The Handle property always generates this exception.

Examples

The following code example demonstrates the Handle property.

[SecurityPermissionAttribute(SecurityAction::Demand, Flags=SecurityPermissionFlag::UnmanagedCode)]
bool GetPrefsForUser()
{
   try
   {
      
      // Retrieve an IsolatedStorageFile for the current Domain and Assembly.
      IsolatedStorageFile^ isoFile = IsolatedStorageFile::GetStore( static_cast<IsolatedStorageScope>(IsolatedStorageScope::User | IsolatedStorageScope::Assembly | IsolatedStorageScope::Domain), (Type^)nullptr, nullptr );
      IsolatedStorageFileStream^ isoStream = gcnew IsolatedStorageFileStream( this->userName,FileMode::Open,FileAccess::ReadWrite,isoFile );
      
      // farThe code executes to this point only if a file corresponding to the username exists.
      // Though you can perform operations on the stream, you cannot get a handle to the file.
      try
      {
         IntPtr aFileHandle = isoStream->Handle;
         Console::WriteLine( "A pointer to a file handle has been obtained. {0} {1}", aFileHandle, aFileHandle.GetHashCode() );
      }
      catch ( Exception^ e ) 
      {
         
         // Handle the exception.
         Console::WriteLine( "Expected exception" );
         Console::WriteLine( e->ToString() );
      }

      StreamReader^ reader = gcnew StreamReader( isoStream );
      
      // Read the data.
      this->NewsUrl = reader->ReadLine();
      this->SportsUrl = reader->ReadLine();
      reader->Close();
      isoFile->Close();
      isoStream->Close();
      return false;
   }
   catch ( Exception^ e ) 
   {
      
      // Expected exception if a file cannot be found. This indicates that we have a new user.
      String^ errorMessage = e->ToString();
      return true;
   }

}


private bool GetPrefsForUser()
{
    try
    {

        // Retrieve an IsolatedStorageFile for the current Domain and Assembly.
        IsolatedStorageFile isoFile =
            IsolatedStorageFile.GetStore(IsolatedStorageScope.User |
            IsolatedStorageScope.Assembly |
            IsolatedStorageScope.Domain,
            null,
            null);

        IsolatedStorageFileStream isoStream =
            new IsolatedStorageFileStream("substituteUsername",
            System.IO.FileMode.Open,
            System.IO.FileAccess.Read,
             System.IO.FileShare.Read);

        // The code executes to this point only if a file corresponding to the username exists.
        // Though you can perform operations on the stream, you cannot get a handle to the file.

        try
        {

            SafeFileHandle aFileHandle = isoStream.SafeFileHandle;
            Console.WriteLine("A pointer to a file handle has been obtained. "
                + aFileHandle.ToString() + " "
                + aFileHandle.GetHashCode());
        }

        catch (Exception e)
        {
            // Handle the exception.
            Console.WriteLine("Expected exception");
            Console.WriteLine(e);
        }

        StreamReader reader = new StreamReader(isoStream);
        // Read the data.
        this.NewsUrl = reader.ReadLine();
        this.SportsUrl = reader.ReadLine();
        reader.Close();
        isoFile.Close();
        return false;
    }
    catch (System.IO.FileNotFoundException)
    {
        // Expected exception if a file cannot be found. This indicates that we have a new user.
        return true;
    }
}
Private Function GetPrefsForUser() As Boolean
    Try
        ' Retrieve an IsolatedStorageFile for the current Domain and Assembly.
        Dim isoFile As IsolatedStorageFile = _
            IsolatedStorageFile.GetStore(IsolatedStorageScope.User _
            Or IsolatedStorageScope.Assembly _
            Or IsolatedStorageScope.Domain, Nothing, Nothing)

        Dim isoStream As New IsolatedStorageFileStream("substituteUsername", System.IO.FileMode.Open, _
            System.IO.FileAccess.Read, System.IO.FileShare.Read)
        ' farThe code executes to this point only if a file corresponding to the username exists.
        ' Though you can perform operations on the stream, you cannot get a handle to the file.
        Try

            Dim aFileHandle As SafeFileHandle = isoStream.SafeFileHandle
            Console.WriteLine(("A pointer to a file handle has been obtained. " & aFileHandle.ToString() & " " & aFileHandle.GetHashCode()))

        Catch ex As Exception
            ' Handle the exception.
            Console.WriteLine("Expected exception")
            Console.WriteLine(ex.ToString())
        End Try

        Dim reader As New StreamReader(isoStream)
        ' Read the data.
        Me.NewsUrl = reader.ReadLine()
        Me.SportsUrl = reader.ReadLine()
        reader.Close()
        isoFile.Close()
        Return False
    Catch ex As System.IO.FileNotFoundException
        ' Expected exception if a file cannot be found. This indicates that we have a new user.
        Return True
    End Try
End Function 'GetPrefsForUser

Remarks

For more information, see Handle.

Applies to