microsoft / microsoft/WindowsAppSDK

Provide a new version of Windows.Storage.FileIO which doesn't go through Runtime Broker when possible

Open
#661 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

area-File access feature proposal
Dominant language
C++
Stars
4.7k
Forks
471
Avg merge
3d 13h
Merged PRs (30d)
28

Description

# Proposal: Provide a new version of Windows.Storage.FileIO which doesn't go through Runtime Broker when possible
Today any Windows.Storage.FileIO call will go through the Runtime Broker even if the app has direct access to the file (eg: a file inside the AppData folder for the current app) which is not needed and directly accessing will be faster.

## Summary
There's the PathIO class for that but when I'm writing a third-party library, I don't really a know whether the calling app has direct access to a specific StorageFile or that it needs a Runtime Broker call. It would be better if FileIO checks whether the app actually has direct access and redirect to PathIO or similar "direct access" APIs if it does for better performance.

# Rationale
* Better file system performance for directly accessible files using FileIO.
* Developers don't need to worry whether it's a directly accessible file or a brokered StorageFile and can call the same API.

## Scope

| Capability | Priority |
| :---------- | :------- |
| This proposal will allow developers to use FileIO on any StorageFile instead of going to PathIO for better performance if the file happens to be accessible directly by the process | Must |

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No files, tests, or entry points are named. Start by comparing the Windows.Storage.FileIO and PathIO APIs and the Runtime Broker behavior described in the proposal. Done would require a settled API design and clarified scope for choosing direct access when possible.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
desktop
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.