WinRT - Windows Store - WinRT Originate Error - How do decipher such an error?

poncho picture poncho · Aug 21, 2013 · Viewed 11.2k times · Source

I'm working on a Windows Store app and I'm getting a WinRT error that doesn't really give me any information so I would like to know how to understand these sorts of errors.

Basically I get the error on the following line which is called inside OnPointerPressed:

m_gestureRecognizer->ProcessDownEvent(args->GetCurrentPoint(nullptr));

The error is:

First-chance exception at 0x76F54B32 (KernelBase.dll) in DXAML2.exe: 0x40080201: WinRT originate error (parameters: 0x80070057, 0x00000044, 0x03CEE72C).

This error didn't used to appear, the only thing I've changed is that this line is now wrapped in an if clause which tests if the current pointer's PointerId is the same as one I've stored just using == such as:

if(args->GetCurrentPoint(nullptr)->PointerId == m_UIPointerID)

I have no idea why this has started happening.

So my question is in two parts:

  1. More generally, how do I understand what an error such as the above means?
  2. And does anyone know this error has suddenly started happening now that I check the pointerId?

Thanks for your time.

P.S. I guess another thing that has changed is that there will already be 2 pointers on the screen (the one that gets pushed into this GestureRecognizer) as well as another one, hence the PointerId check.

Answer

steveb picture steveb · Apr 1, 2014

"How to Decipher such an error"...

For any WinRT originate error, you can take the third address in the parameters list (in your example, 0x03CEE72C), and find a description of your error in the memory window.

While debugging, break when your error is thrown and open the memory window via Debug -> Windows -> Memory -> Memory 1

Copy and paste the address to get your "easy-to-find" error message.