* Build arm64 visualizer and include it in vsix
* Add arm64 config to visualizer
* Build arm64 visualizer in build_test_all
* Update VS SDK package versions
* Typo
* Don't build cppwinrt.exe for arm64 (yet)
A code analysis warning recently fired for a customer on detach_abi(com_array<T>). This function returns a std::pair<uint32_t, some_pointer_type>, which will have, on 64-bit builds, 4 bytes of padding between the uint32 size and the pointer members. Currently, that padding is uninitialized.
The idea behind the code analysis warning is that information may be leaked via those unitialized bytes.
In practice, that's almost never going to be an issue for this function, because the std::pair is not an interesting object to pass around, and only exists as a convenience to return both the size and buffer of the com_array at the same time.
However, the fix removes a pain point for a customer, is simple, risk-free, and actually gets optimized away in the 99% use case (return value stored in a local variable, access only the first/second members, not the padding bytes). Demo showing optimization: https://godbolt.org/z/T4vPhMKxn
* add support for composed implementations of IComponentConnector
* document ComponentConnectorT helper
* revert change for deriving without interfaces - creates other breaks and very atypical scenario
* pr feedback
* pr feedback
* pr feedback
* http://slashslash.info/petition/ compliance
* two-phase initialization support to prevent double-destruction on handing out this pointer in ctor
* PR feedback - primarily to hide/downplay the need to support Xaml with two-phase init
* should Release on exception
* remove unnecessary test case
* PR feedback
* use smart pointer instead of raw delete
* catch is evidently incompatible with VS 2022 (platform toolset v143) - backing off to unblock
* unlikely to be needed, but reordered to support other platform toolset overriding
* pipeline now running out of disk space - clean intermediates as we go
* standardize OutDir, IntDir. ensure they are different for visualizer.