How WRL squeezes a weak reference and a reference count into a single integer

Objects created with the WRL template library support weak references by default.ยน

Normally, this would require the allocation of a control block to do the weak reference bookkeeping. The control block contains

Continue reading How WRL squeezes a weak reference and a reference count into a single integer

Profiling Xamarin.Android Startup

Poor performance can be a huge detriment to a mobile application’s success. Users don’t want to see a splash screen for 10 seconds when using any app. They may get frustrated, abandon their shopping cart, or uninstall the app completely if kept waiting for too long.

You can measure performance in Xamarin.Android application

Continue reading Profiling Xamarin.Android Startup

Developing in the cloud with SQL Server Big Data Clusters: Develop and Deploy Apps

Kubernetes is designed to support an open platform to support a diverse variety of containerized workloads including both stateless and stateful and data-processing workloads. Technically any application can be containerized, it can be up and running in Kubernetes. As a cloud-native platform, Kubernetes is available to deploy cloud-native appl Continue reading Developing in the cloud with SQL Server Big Data Clusters: Develop and Deploy Apps

The case of Explorer calling into an unloaded DLL while trying to run down a reference to it

There was a large number of crashes in Explorer that were tracked back to attempting to release a COM object that belonged to a DLL that was no longer in memory.

A typical call stack at the crash looked like this:

combase!<lambda_...>::operator()+0x9e
combase!ObjectMethodExceptionHandlingAction<lambda_...>+0x1

Continue reading The case of Explorer calling into an unloaded DLL while trying to run down a reference to it