* remove "PreserveSig=true" from the P/Invoke signature of winrtact_Initialize as it returns Void.
* Add error checking for the Detour calls in InstallHooks.
Dllmain now returns False in case an error occured in InstallHooks or ExtRoLoadCatalog
* Update src/UndockedRegFreeWinRT/UndockedRegFreeWinRT/dllmain.cpp
Co-authored-by: Scott Jones <scottj1s@gmail.com>
* Update src/UndockedRegFreeWinRT/UndockedRegFreeWinRT/dllmain.cpp
Co-authored-by: Scott Jones <scottj1s@gmail.com>
* Update src/UndockedRegFreeWinRT/UndockedRegFreeWinRT/dllmain.cpp
Co-authored-by: Scott Jones <scottj1s@gmail.com>
* Update src/UndockedRegFreeWinRT/UndockedRegFreeWinRT/dllmain.cpp
Co-authored-by: Scott Jones <scottj1s@gmail.com>
* Update src/UndockedRegFreeWinRT/UndockedRegFreeWinRT/dllmain.cpp
Co-authored-by: Scott Jones <scottj1s@gmail.com>
Co-authored-by: Scott Jones <scottj1s@gmail.com>
* Fix a bug where the filename variable can get clobbered due to XmlReader invalidating the buffer
* Undo test-only change
Co-authored-by: Jesse Collins <Jesse.Collins@microsoft.com>
Co-authored-by: Ben Kuhn <benkuhn@microsoft.com>
* first attempt at update
* filling out xlang project list
* minor fixes
* Update README.md
Co-authored-by: Kenny Kerr <kekerr@microsoft.com>
Co-authored-by: Ben Kuhn <benkuhn@ntdev.microsoft.com>
Co-authored-by: Kenny Kerr <kekerr@microsoft.com>
Now builds packages for multiple versions of python in one pass to make it easier to keep everything up to date. Also updated to use ESRP signing instead of package ES.
#709
Co-authored-by: Ben Kuhn <benkuhn@ntdev.microsoft.com>
Co-authored-by: David Lechner <david@pybricks.com>
This implements `struct converter<winrt::guid>` to provide marshaling
between xlang::guid and the standard Python uuid.UUID type.
Fixes#662Fixes#664
Co-authored-by: Ben Kuhn <bjk4929@yahoo.com>
`Nullable<T>` internally has the type of `winrt::Windows::Foundation::IReference<T>`.
This adds a special case to handle this type so that in Python, `None`
can be passed as a value in addition to the expected type.
For example:
```python
>>> from winrt.windows.devices.bluetooth import BluetoothSignalStrengthFilter
>>> f = BluetoothSignalStrengthFilter()
>>> f.out_of_range_threshold_in_d_bm is None
True
>>> f.out_of_range_threshold_in_d_bm = 8
>>> f.out_of_range_threshold_in_d_bm
8
>>> f.out_of_range_threshold_in_d_bm = None
>>> f.out_of_range_threshold_in_d_bm is None
True
```
Fixes#663Fixes#646
Co-authored-by: Ben Kuhn <bjk4929@yahoo.com>
Fix a bug with upper case DLL extension and added Embedded Manifest Test in c#.
The code looks at the extension of the path from the asmInfo but it only looks for ".dll" but the extension was in uppercase.
Implemented Embedded Manifests for exe and dll
To enable dll embedded manifests, I call into CreateActCtxW and QueryActCtxW and iterate through the manifests assemblies.
I've also implemented an embedded manifest tests which works exactly like the UndockedRegFreeWinRTTest.exe but the exe manifest is embedded and it has a dependentAssembly on the EmbeddedTestComponent. It looks at the manifest that is embedded in EmbeddedTestComponent.dll and activates the classes from it.
There are also structural improvements to the project.
Fix RoGetMetaDataFile so that it find non windows type definition in the WinMD that is in the executable's directory.
This fixes cross apartment activations on RS5
Types were failing to resolve on RS5 because RoResolveNamespace did not look at the exe file path as fallback by default. Supplying the exe file path to windowsMetaData dir only looks for types with the Windows prefix. The fix was to also supply the exe file path to the package graph parameter.
Also fix xml parsing to look for 'name' on ActivatableClass tag instead of 'clsid'.
* adding abiwinrt support to match cppwinrt
* fixes to targets for passing parameters to abi.exe
* remove heapenforcement checks because they are tied to xaml generation
* updating targets per PR feedback and adding a simple readme
* removing special midl stuff
* generating all projections at once
* updating the readme
* grammer updates
* updating c++/winrt term