diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,3 +1,7 @@
+## 0.3.16.2
+
+* withHANDLE (Win32) now works on directories [#8](https://github.com/fpco/haskell-filesystem/issues/8) [#10](https://github.com/fpco/haskell-filesystem/pull/10)
+
 ## 0.3.16.1
 
 * Use different path encoding on Darwin in POSIX tests [#6](https://github.com/fpco/haskell-filesystem/pull/6)
diff --git a/lib/Filesystem.hs b/lib/Filesystem.hs
--- a/lib/Filesystem.hs
+++ b/lib/Filesystem.hs
@@ -898,15 +898,17 @@
 
 #ifdef CABAL_OS_WINDOWS
 
+-- Only for accessing file or directory metadata.
+-- See issue #8.
 withHANDLE :: FilePath -> (Win32.HANDLE -> IO a) -> IO a
 withHANDLE path = Exc.bracket open close where
 	open = Win32.createFile
 		(encodeString path)
-		Win32.gENERIC_READ
+		0
 		(Win32.fILE_SHARE_READ .|. Win32.fILE_SHARE_WRITE)
 		Nothing
 		Win32.oPEN_EXISTING
-		0
+		Win32.fILE_FLAG_BACKUP_SEMANTICS
 		Nothing
 	close = Win32.closeHandle
 
diff --git a/system-fileio.cabal b/system-fileio.cabal
--- a/system-fileio.cabal
+++ b/system-fileio.cabal
@@ -1,5 +1,5 @@
 name: system-fileio
-version: 0.3.16.1
+version: 0.3.16.2
 license: MIT
 license-file: license.txt
 author: John Millikin <jmillikin@gmail.com>
