diff --git a/CPP/7zip/Common/FileStreams.h b/CPP/7zip/Common/FileStreams.h
index b9c6fcc..6419c7a 100644
--- a/CPP/7zip/Common/FileStreams.h
+++ b/CPP/7zip/Common/FileStreams.h
@@ -110,6 +110,11 @@ public:
     return File.GetLength(length);
   }
 
+  int GetHandle() const throw()
+  {
+    return File.GetHandle();
+  }
+
 #if 0
   bool OpenStdIn();
 #endif
@@ -189,6 +194,11 @@ public:
   }
 
   HRESULT GetSize(UInt64 *size);
+
+  int GetHandle() const throw()
+  {
+    return File.GetHandle();
+  }
 };
 
 
diff --git a/CPP/Windows/FileIO.h b/CPP/Windows/FileIO.h
index af2b325..9e7c008 100644
--- a/CPP/Windows/FileIO.h
+++ b/CPP/Windows/FileIO.h
@@ -385,6 +385,7 @@ public:
   ssize_t read_part(void *data, size_t size) throw();
   // ssize_t read_full(void *data, size_t size, size_t &processed);
   bool ReadFull(void *data, size_t size, size_t &processedSize) throw();
+  int GetHandle() const { return _handle; }
 };
 
 class COutFile: public CFileBase
@@ -436,6 +437,7 @@ public:
   }
   bool SetTime(const CFiTime *cTime, const CFiTime *aTime, const CFiTime *mTime) throw();
   bool SetMTime(const CFiTime *mTime) throw();
+  int GetHandle() const { return _handle; }
 };
 
 }
