    # File lib/chef/win32/api/file.rb, line 490
            def file_handle(path, &block)
              begin
                path = encode_path(path)
                handle = CreateFileW(path, GENERIC_READ, FILE_SHARE_READ,
                                      nil, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL | FILE_FLAG_BACKUP_SEMANTICS, nil)

                if handle == INVALID_HANDLE_VALUE
                  Chef::ReservedNames::Win32::Error.raise!
                end
                block.call(handle)
              ensure
                CloseHandle(handle) if handle && handle != INVALID_HANDLE_VALUE
              end
            end