Skip to content

Commit b75d74e

Browse files
Hong-XiangDinahK-2SOXiang Hong (from Dev Box)
authored
Experimental Microsoft.Windows.Storage.Pickers.* API (#5240)
* Microsoft.Windows.Storage.Pickers.FileOpenPicker.PickSingleFileAsync (#4945) Creating new API Microsoft.Windows.Storage.Pickers.FileOpenPicker.PickSingleFileAsync * add one telemetry * Merge codes from branch 'user/xianghong/pickers-prototype' at \prototype-workingdir\Microsoft.Storage.Pickers Squashed commit of the following: commit 4ce840f Author: Dinah Gao <x.kic8462852@gmail.com> Date: Wed Dec 11 15:00:41 2024 +0800 add one telemetry commit bbf72f8 Author: Dinah Gao <116714259+DinahK-2SO@users.noreply.github.com> Date: Tue Dec 10 11:01:23 2024 +0800 Microsoft.Windows.Storage.Pickers.FileOpenPicker.PickSingleFileAsync (#4945) Creating new API Microsoft.Windows.Storage.Pickers.FileOpenPicker.PickSingleFileAsync commit ff3f2a8 Author: Xiang Hong <hx.hongxiang@gmail.com> Date: Mon Dec 9 18:14:16 2024 +0800 fix: fix project configuration and add certificate notes to README.md commit e11c8e6 Author: Xiang Hong (from Dev Box) <xianghong@microsoft.com> Date: Sun Dec 8 20:54:23 2024 +0800 update readme for folder description commit c6966f3 Author: Xiang Hong (from Dev Box) <xianghong@microsoft.com> Date: Sun Dec 8 20:08:46 2024 +0800 add a simple READEME commit c17750f Author: Xiang Hong (from Dev Box) <xianghong@microsoft.com> Date: Sun Dec 8 11:27:04 2024 +0800 feature: add basic implementations for SavePickers FileExtension/SuggestedSaveFile/Name functionalities commit 3be9dc1 Author: Xiang Hong (from Dev Box) <xianghong@microsoft.com> Date: Sun Dec 8 10:35:59 2024 +0800 clean: code clean on naming styles etc commit 9fcc249 Author: Xiang Hong (from Dev Box) <xianghong@microsoft.com> Date: Sat Dec 7 22:22:21 2024 +0800 refactor: use WinRT MD5 hash string to Guid commit 756bafa Author: Xiang Hong (from Dev Box) <xianghong@microsoft.com> Date: Sat Dec 7 22:02:55 2024 +0800 fix: fix file type filter issues and refactor to use PickParameters commit 8dea72a Author: Xiang Hong (from Dev Box) <xianghong@microsoft.com> Date: Sat Dec 7 19:46:45 2024 +0800 feature: add COM FileSavePicker basic implementation commit 37a5a75 Author: Xiang Hong <hx.hongxiang@gmail.com> Date: Sat Dec 7 17:13:55 2024 +0800 add save file dialog usage in demo app commit fc9a03a Author: Xiang Hong <hx.hongxiang@gmail.com> Date: Sat Dec 7 12:06:47 2024 +0800 feature: add folder functionalities to demo test app commit 34556bd Author: Xiang Hong <hx.hongxiang@gmail.com> Date: Fri Dec 6 22:51:55 2024 +0800 feature: add COM based picker prototype basic implementation * add the pickers * Fix build errors msbuild dev\WindowsAppRuntime_DLL\WindowsAppRuntime_DLL.vcxproj * Cleanup ; add into projections * fix build errors; clean up msbuild dev\Projections\CS\Microsoft.Windows.Storage.Pickers.Projection\Microsoft.Windows.Storage.Pickers.Projection.csproj * graceful solution * add ad hoc working in progress fix * adding basic tests * allow optional filters; add test configs * use relative path for postbuild script * update script - add cleanup * work in progress * Squashed commit of the following: commit 4a6b97a Author: Dinah Gao <x.kic8462852@gmail.com> Date: Tue Jan 14 13:43:22 2025 +0800 create file for fileSavePicker commit 369651d Author: Dinah Gao <x.kic8462852@gmail.com> Date: Mon Jan 13 18:13:47 2025 +0800 save investigation progress commit f025b64 Author: Dinah Gao <x.kic8462852@gmail.com> Date: Mon Jan 13 11:54:10 2025 +0800 update doc commit cc4b8cb Author: Dinah Gao <x.kic8462852@gmail.com> Date: Mon Jan 13 11:47:36 2025 +0800 atls.lib commit dc26511 Author: Dinah Gao <x.kic8462852@gmail.com> Date: Fri Jan 10 17:56:21 2025 +0800 COM APIs commit d0f487c Author: Dinah Gao <x.kic8462852@gmail.com> Date: Fri Jan 10 15:05:10 2025 +0800 fix file save picker not creating new file * ad hoc working, examing in progress * add unit test project for storage pickers APIs * fix project name * remove [default_interface] in idl files * filesavepicker-autoapply-filetypechoices when extension's missing * set default folder - consistent to UWP picker behaviour * fall back to Documents, if the specified location doesn't exists. * use winrt::hresult * use the telemetry guid generated by TlgGuid tool * update idl file * work in progress * adding resume to ui context * fix get path * code clean, add velocity related code * code clean for merge * update taef version * fixing com_array initialization * remove unexpected change * update copyright headers * code clean and minor test text fixes * comment out tests require manual interactive, adding more basic property based tests * add telemetry * fixes accroding to PR comments * Move storagepickerstelemetryhelper to the pickers folder --------- Co-authored-by: Dinah Gao <116714259+DinahK-2SO@users.noreply.github.com> Co-authored-by: Dinah Gao <x.kic8462852@gmail.com> Co-authored-by: Xiang Hong (from Dev Box) <xianghong@microsoft.com>
1 parent 5ea3aa9 commit b75d74e

33 files changed

+1985
-13
lines changed

WindowsAppRuntime.sln

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -678,6 +678,12 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HelloWorldAdvancedCS_NoThro
678678
EndProject
679679
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "BadgeNotificationTest", "test\BadgeNotificationTest\BadgeNotificationTest.vcxproj", "{7C8BEED1-7B27-41C5-A22F-9D6B4468F52A}"
680680
EndProject
681+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Microsoft.Windows.Storage.Pickers.Projection", "dev\Projections\CS\Microsoft.Windows.Storage.Pickers.Projection\Microsoft.Windows.Storage.Pickers.Projection.csproj", "{8E01AA4F-A16A-4E3F-A59F-6D49422B4410}"
682+
EndProject
683+
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "StoragePickers", "dev\Interop\StoragePickers\StoragePickers.vcxitems", "{A39E7B2F-5F67-47DD-8443-531D095CA7F3}"
684+
EndProject
685+
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "StoragePickersTests", "test\StoragePickersTests\StoragePickersTests.vcxproj", "{85C86306-46D1-4563-8303-0A79DF923586}"
686+
EndProject
681687
Global
682688
GlobalSection(SolutionConfigurationPlatforms) = preSolution
683689
Debug|Any CPU = Debug|Any CPU
@@ -2348,6 +2354,38 @@ Global
23482354
{7C8BEED1-7B27-41C5-A22F-9D6B4468F52A}.Release|x64.Build.0 = Release|x64
23492355
{7C8BEED1-7B27-41C5-A22F-9D6B4468F52A}.Release|x86.ActiveCfg = Release|Win32
23502356
{7C8BEED1-7B27-41C5-A22F-9D6B4468F52A}.Release|x86.Build.0 = Release|Win32
2357+
{8E01AA4F-A16A-4E3F-A59F-6D49422B4410}.Debug|Any CPU.ActiveCfg = Debug|x64
2358+
{8E01AA4F-A16A-4E3F-A59F-6D49422B4410}.Debug|Any CPU.Build.0 = Debug|x64
2359+
{8E01AA4F-A16A-4E3F-A59F-6D49422B4410}.Debug|ARM64.ActiveCfg = Debug|arm64
2360+
{8E01AA4F-A16A-4E3F-A59F-6D49422B4410}.Debug|ARM64.Build.0 = Debug|arm64
2361+
{8E01AA4F-A16A-4E3F-A59F-6D49422B4410}.Debug|x64.ActiveCfg = Debug|x64
2362+
{8E01AA4F-A16A-4E3F-A59F-6D49422B4410}.Debug|x64.Build.0 = Debug|x64
2363+
{8E01AA4F-A16A-4E3F-A59F-6D49422B4410}.Debug|x86.ActiveCfg = Debug|x86
2364+
{8E01AA4F-A16A-4E3F-A59F-6D49422B4410}.Debug|x86.Build.0 = Debug|x86
2365+
{8E01AA4F-A16A-4E3F-A59F-6D49422B4410}.Release|Any CPU.ActiveCfg = Release|x64
2366+
{8E01AA4F-A16A-4E3F-A59F-6D49422B4410}.Release|Any CPU.Build.0 = Release|x64
2367+
{8E01AA4F-A16A-4E3F-A59F-6D49422B4410}.Release|ARM64.ActiveCfg = Release|arm64
2368+
{8E01AA4F-A16A-4E3F-A59F-6D49422B4410}.Release|ARM64.Build.0 = Release|arm64
2369+
{8E01AA4F-A16A-4E3F-A59F-6D49422B4410}.Release|x64.ActiveCfg = Release|x64
2370+
{8E01AA4F-A16A-4E3F-A59F-6D49422B4410}.Release|x64.Build.0 = Release|x64
2371+
{8E01AA4F-A16A-4E3F-A59F-6D49422B4410}.Release|x86.ActiveCfg = Release|x86
2372+
{8E01AA4F-A16A-4E3F-A59F-6D49422B4410}.Release|x86.Build.0 = Release|x86
2373+
{85C86306-46D1-4563-8303-0A79DF923586}.Debug|Any CPU.ActiveCfg = Debug|x64
2374+
{85C86306-46D1-4563-8303-0A79DF923586}.Debug|Any CPU.Build.0 = Debug|x64
2375+
{85C86306-46D1-4563-8303-0A79DF923586}.Debug|ARM64.ActiveCfg = Debug|ARM64
2376+
{85C86306-46D1-4563-8303-0A79DF923586}.Debug|ARM64.Build.0 = Debug|ARM64
2377+
{85C86306-46D1-4563-8303-0A79DF923586}.Debug|x64.ActiveCfg = Debug|x64
2378+
{85C86306-46D1-4563-8303-0A79DF923586}.Debug|x64.Build.0 = Debug|x64
2379+
{85C86306-46D1-4563-8303-0A79DF923586}.Debug|x86.ActiveCfg = Debug|Win32
2380+
{85C86306-46D1-4563-8303-0A79DF923586}.Debug|x86.Build.0 = Debug|Win32
2381+
{85C86306-46D1-4563-8303-0A79DF923586}.Release|Any CPU.ActiveCfg = Release|x64
2382+
{85C86306-46D1-4563-8303-0A79DF923586}.Release|Any CPU.Build.0 = Release|x64
2383+
{85C86306-46D1-4563-8303-0A79DF923586}.Release|ARM64.ActiveCfg = Release|ARM64
2384+
{85C86306-46D1-4563-8303-0A79DF923586}.Release|ARM64.Build.0 = Release|ARM64
2385+
{85C86306-46D1-4563-8303-0A79DF923586}.Release|x64.ActiveCfg = Release|x64
2386+
{85C86306-46D1-4563-8303-0A79DF923586}.Release|x64.Build.0 = Release|x64
2387+
{85C86306-46D1-4563-8303-0A79DF923586}.Release|x86.ActiveCfg = Release|Win32
2388+
{85C86306-46D1-4563-8303-0A79DF923586}.Release|x86.Build.0 = Release|Win32
23512389
EndGlobalSection
23522390
GlobalSection(SolutionProperties) = preSolution
23532391
HideSolutionNode = FALSE
@@ -2553,6 +2591,9 @@ Global
25532591
{9369C7DD-430B-4B52-822A-231AA2791D23} = {63196919-AEA8-4EA8-BFB4-08CE824249A3}
25542592
{9D26A965-065A-4897-B476-4F15B0F5A19F} = {63196919-AEA8-4EA8-BFB4-08CE824249A3}
25552593
{7C8BEED1-7B27-41C5-A22F-9D6B4468F52A} = {1FDC307C-2DB7-4B40-8F18-F1057E9E0969}
2594+
{8E01AA4F-A16A-4E3F-A59F-6D49422B4410} = {716C26A0-E6B0-4981-8412-D14A4D410531}
2595+
{A39E7B2F-5F67-47DD-8443-531D095CA7F3} = {3B706C5C-55E0-4B76-BF59-89E20FE46795}
2596+
{85C86306-46D1-4563-8303-0A79DF923586} = {8630F7AA-2969-4DC9-8700-9B468C1DC21D}
25562597
EndGlobalSection
25572598
GlobalSection(ExtensibilityGlobals) = postSolution
25582599
SolutionGuid = {4B3D7591-CFEC-4762-9A07-ABE99938FB77}
@@ -2579,6 +2620,7 @@ Global
25792620
dev\PackageManager\API\PackageManager.vcxitems*{8a9a0c85-65a8-4bca-a49e-45fc4fdbc7d2}*SharedItemsImports = 9
25802621
test\inc\inc.vcxitems*{8e52d7ea-a200-4a6b-ba74-8efb49468caf}*SharedItemsImports = 4
25812622
dev\Interop\CameraCaptureUI\CameraCaptureUI\CameraCaptureUI.vcxitems*{95409d1e-843f-4316-8d8e-471b3e203f94}*SharedItemsImports = 9
2623+
dev\Interop\StoragePickers\StoragePickers.vcxitems*{a39e7b2f-5f67-47dd-8443-531d095ca7f3}*SharedItemsImports = 9
25822624
dev\AppNotifications\AppNotifications.vcxitems*{b4824897-88e0-4927-8fb9-e60106f01ed9}*SharedItemsImports = 9
25832625
test\inc\inc.vcxitems*{b567fe2e-3a03-48d0-b2b5-760cdec35891}*SharedItemsImports = 9
25842626
dev\ApplicationData\ApplicationData.vcxitems*{b73ad907-6164-4294-88fb-f3c9c10da1f1}*SharedItemsImports = 4

build/AzurePipelinesTemplates/WindowsAppSDK-SetupBuildEnvironment-Steps.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -187,6 +187,14 @@ steps:
187187
arguments: -Path $(Build.SourcesDirectory)\dev\common\TerminalVelocityFeatures-CameraCaptureUI.xml -Channel $(channel) -Language C++ -Namespace Microsoft.Windows.Media.Capture -Output $(Build.SourcesDirectory)\dev\common\TerminalVelocityFeatures-CameraCaptureUI.h
188188
workingDirectory: '$(Build.SourcesDirectory)'
189189
190+
- task: powershell@2
191+
displayName: 'Create OAuth2Manager TerminalVelocity features'
192+
inputs:
193+
targetType: filePath
194+
filePath: tools\TerminalVelocity\Generate-TerminalVelocityFeatures.ps1
195+
arguments: -Path $(Build.SourcesDirectory)\dev\common\TerminalVelocityFeatures-StoragePickers.xml -Channel $(channel) -Language C++ -Namespace Microsoft.Windows.Storage.Pickers -Output $(Build.SourcesDirectory)\dev\common\TerminalVelocityFeatures-StoragePickers.h
196+
workingDirectory: '$(Build.SourcesDirectory)'
197+
190198
- task: powershell@2
191199
displayName: 'Create OAuth2Manager TerminalVelocity features'
192200
inputs:

build/CopyFilesToStagingDir.ps1

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@ PublishFile $FullBuildOutput\WindowsAppRuntime_DLL\StrippedWinMD\Microsoft.Windo
5656
PublishFile $FullBuildOutput\WindowsAppRuntime_DLL\StrippedWinMD\Microsoft.Windows.BadgeNotifications.winmd $FullPublishDir\Microsoft.WindowsAppRuntime\
5757
PublishFile $FullBuildOutput\WindowsAppRuntime_DLL\StrippedWinMD\Microsoft.Windows.Management.Deployment.winmd $FullPublishDir\Microsoft.WindowsAppRuntime\
5858
PublishFile $FullBuildOutput\WindowsAppRuntime_DLL\StrippedWinMD\Microsoft.Windows.Media.Capture.winmd $FullPublishDir\Microsoft.WindowsAppRuntime\
59+
PublishFile $FullBuildOutput\WindowsAppRuntime_DLL\StrippedWinMD\Microsoft.Windows.Storage.Pickers.winmd $FullPublishDir\Microsoft.WindowsAppRuntime\
5960
PublishFile $FullBuildOutput\WindowsAppRuntime_DLL\StrippedWinMD\Microsoft.Windows.PushNotifications.winmd $FullPublishDir\Microsoft.WindowsAppRuntime\
6061
PublishFile $FullBuildOutput\WindowsAppRuntime_DLL\StrippedWinMD\Microsoft.Windows.Security.AccessControl.winmd $FullPublishDir\Microsoft.WindowsAppRuntime\
6162
PublishFile $FullBuildOutput\WindowsAppRuntime_DLL\StrippedWinMD\Microsoft.Security.Authentication.OAuth.winmd $FullPublishDir\Microsoft.WindowsAppRuntime\
@@ -129,6 +130,8 @@ PublishFile $FullBuildOutput\Microsoft.Windows.Management.Deployment.Projection\
129130
PublishFile $FullBuildOutput\Microsoft.Windows.Management.Deployment.Projection\Microsoft.Windows.Management.Deployment.Projection.pdb $NugetDir\lib\net6.0-windows10.0.17763.0
130131
PublishFile $FullBuildOutput\Microsoft.Windows.Media.Capture.Projection\Microsoft.Windows.Media.Capture.Projection.dll $NugetDir\lib\net6.0-windows10.0.17763.0
131132
PublishFile $FullBuildOutput\Microsoft.Windows.Media.Capture.Projection\Microsoft.Windows.Media.Capture.Projection.pdb $NugetDir\lib\net6.0-windows10.0.17763.0
133+
PublishFile $FullBuildOutput\Microsoft.Windows.Storage.Pickers.Projection\Microsoft.Windows.Storage.Pickers.Projection.dll $NugetDir\lib\net6.0-windows10.0.17763.0
134+
PublishFile $FullBuildOutput\Microsoft.Windows.Storage.Pickers.Projection\Microsoft.Windows.Storage.Pickers.Projection.pdb $NugetDir\lib\net6.0-windows10.0.17763.0
132135
PublishFile $FullBuildOutput\Microsoft.Windows.PushNotifications.Projection\Microsoft.Windows.PushNotifications.Projection.dll $NugetDir\lib\net6.0-windows10.0.17763.0
133136
PublishFile $FullBuildOutput\Microsoft.Windows.PushNotifications.Projection\Microsoft.Windows.PushNotifications.Projection.pdb $NugetDir\lib\net6.0-windows10.0.17763.0
134137
PublishFile $FullBuildOutput\Microsoft.Windows.Security.AccessControl.Projection\Microsoft.Windows.Security.AccessControl.Projection.dll $NugetDir\lib\net6.0-windows10.0.17763.0
@@ -206,6 +209,7 @@ PublishFile $FullBuildOutput\WindowsAppRuntime_DLL\StrippedWinMD\Microsoft.Windo
206209
PublishFile $FullBuildOutput\WindowsAppRuntime_DLL\StrippedWinMD\Microsoft.Windows.BadgeNotifications.winmd $NugetDir\lib\uap10.0
207210
PublishFile $FullBuildOutput\WindowsAppRuntime_DLL\StrippedWinMD\Microsoft.Windows.Management.Deployment.winmd $NugetDir\lib\uap10.0
208211
PublishFile $FullBuildOutput\WindowsAppRuntime_DLL\StrippedWinMD\Microsoft.Windows.Media.Capture.winmd $NugetDir\lib\uap10.0
212+
PublishFile $FullBuildOutput\WindowsAppRuntime_DLL\StrippedWinMD\Microsoft.Windows.Storage.Pickers.winmd $NugetDir\lib\uap10.0
209213
PublishFile $FullBuildOutput\WindowsAppRuntime_DLL\StrippedWinMD\Microsoft.Windows.PushNotifications.winmd $NugetDir\lib\uap10.0
210214
PublishFile $FullBuildOutput\WindowsAppRuntime_DLL\StrippedWinMD\Microsoft.Windows.Security.AccessControl.winmd $NugetDir\lib\uap10.0
211215
PublishFile $FullBuildOutput\WindowsAppRuntime_DLL\StrippedWinMD\Microsoft.Security.Authentication.OAuth.winmd $NugetDir\lib\uap10.0

build/NuSpecs/AppxManifest.xml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,11 @@
116116
<!-- BadgeNotifications -->
117117
<ActivatableClass ActivatableClassId="Microsoft.Windows.BadgeNotifications.BadgeNotificationManager" ThreadingModel="both" />
118118

119+
<!-- StoragePickers -->
120+
<ActivatableClass ActivatableClassId="Microsoft.Windows.Storage.Pickers.FileOpenPicker" ThreadingModel="both" />
121+
<ActivatableClass ActivatableClassId="Microsoft.Windows.Storage.Pickers.FileSavePicker" ThreadingModel="both" />
122+
<ActivatableClass ActivatableClassId="Microsoft.Windows.Storage.Pickers.FolderPicker" ThreadingModel="both" />
123+
119124
<!-- RuntimeCompatibilityOptions -->
120125
<ActivatableClass ActivatableClassId="Microsoft.Windows.ApplicationModel.WindowsAppRuntime.RuntimeCompatibilityOptions" ThreadingModel="both" />
121126
</InProcessServer>

build/NuSpecs/WindowsAppSDK-Nuget-Native.WinRt.props

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,12 @@
8181
<Implementation Condition="'$(WindowsAppSDKFrameworkPackage)' != 'true'">$(MSBuildThisFileDirectory)..\..\runtimes\win10-$(_WindowsAppSDKFoundationPlatform)\native\Microsoft.WindowsAppRuntime.dll</Implementation>
8282
<IsWinMDFile>true</IsWinMDFile>
8383
</Reference>
84+
<Reference Include="Microsoft.Windows.Storage.Pickers.winmd"
85+
Condition="Exists('$(MSBuildThisFileDirectory)..\..\lib\uap10.0\Microsoft.Windows.Storage.Pickers.winmd')">
86+
<HintPath>$(MSBuildThisFileDirectory)..\..\lib\uap10.0\Microsoft.Windows.Storage.Pickers.winmd</HintPath>
87+
<Implementation Condition="'$(WindowsAppSDKFrameworkPackage)' != 'true'">$(MSBuildThisFileDirectory)..\..\runtimes\win10-$(_WindowsAppSDKFoundationPlatform)\native\Microsoft.WindowsAppRuntime.dll</Implementation>
88+
<IsWinMDFile>true</IsWinMDFile>
89+
</Reference>
8490
</ItemGroup>
8591

8692
</Project>

build/NuSpecs/WindowsAppSDK-Nuget-Native.targets

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -143,6 +143,14 @@
143143
</Reference>
144144
</ItemGroup>
145145

146+
<ItemGroup>
147+
<Reference Include="$(MSBuildThisFileDirectory)..\..\lib\uap10.0\Microsoft.Windows.Storage.Pickers.winmd"
148+
Condition="Exists('$(MSBuildThisFileDirectory)..\..\lib\uap10.0\Microsoft.Windows.Storage.Pickers.winmd')">
149+
<Private>false</Private>
150+
<Implementation>Microsoft.WindowsAppRuntime.dll</Implementation>
151+
</Reference>
152+
</ItemGroup>
153+
146154
<Import Project="$(MSBuildThisFileDirectory)..\Microsoft.WindowsAppSDK.BootstrapCommon.targets" />
147155
<Import Project="$(MSBuildThisFileDirectory)WindowsAppSDK-Nuget-Native.Bootstrap.targets" Condition="'$(WindowsAppSdkBootstrapInitialize)' == 'true'"/>
148156

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
// Copyright (c) Microsoft Corporation and Contributors.
2+
// Licensed under the MIT License.
3+
4+
// THIS FILE IS AUTOMATICALLY GENERATED; DO NOT EDIT IT
5+
6+
// INPUT FILE: dev\Common\TerminalVelocityFeatures-StoragePickers.xml
7+
// OPTIONS: -Channel Experimental -Language C++ -Namespace Microsoft.Windows.Storage.Pickers -Path dev\Common\TerminalVelocityFeatures-StoragePickers.xml -Output dev\Common\TerminalVelocityFeatures-StoragePickers.h
8+
9+
#if defined(__midlrt)
10+
namespace features
11+
{
12+
feature_name Feature_StoragePickers = { DisabledByDefault, FALSE };
13+
}
14+
#endif // defined(__midlrt)
15+
16+
// Feature constants
17+
#define WINDOWSAPPRUNTIME_MICROSOFT_WINDOWS_STORAGE_PICKERS_FEATURE_STORAGEPICKERS_ENABLED 1
18+
19+
#if defined(__cplusplus)
20+
21+
namespace Microsoft::Windows::Storage::Pickers
22+
{
23+
24+
__pragma(detect_mismatch("ODR_violation_WINDOWSAPPRUNTIME_MICROSOFT_WINDOWS_STORAGE_PICKERS_FEATURE_STORAGEPICKERS_ENABLED_mismatch", "AlwaysEnabled"))
25+
struct Feature_StoragePickers
26+
{
27+
static constexpr bool IsEnabled() { return WINDOWSAPPRUNTIME_MICROSOFT_WINDOWS_STORAGE_PICKERS_FEATURE_STORAGEPICKERS_ENABLED == 1; }
28+
};
29+
30+
} // namespace Microsoft.Windows.Storage.Pickers
31+
32+
#endif // defined(__cplusplus)
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
<?xml version="1.0"?>
2+
<features xmlns="http://microsoft.com/windowsappsdk/TerminalVelocity/20210729/TerminalVelocityFeatures.xsd">
3+
4+
<!-- Copyright (c) Microsoft Corporation. All rights reserved.
5+
Licensed under the MIT License. See LICENSE in the project root for license information.
6+
-->
7+
8+
<!-- See docs/Coding-Guidelines/TerminalVelocity.md for more info. -->
9+
10+
<!-- Enabled variants -->
11+
<feature>
12+
<name>Feature_StoragePickers</name>
13+
<description>StoragePickers for the WindowsAppRuntime</description>
14+
<state>AlwaysEnabled</state>
15+
<alwaysDisabledChannelTokens>
16+
<channelToken>Preview</channelToken>
17+
<channelToken>Stable</channelToken>
18+
</alwaysDisabledChannelTokens>
19+
</feature>
20+
</features>

0 commit comments

Comments
 (0)