Kinect Initialization error (Failed in native DLL. HRESULT=0x8004022b.)

1

I've been developing with kinect XBOX 360 for a while. Today, after connecting a different kinect device (XBOX 360) i've started getting an error on the initalization line:

 kinect.Initialize(RuntimeOptions.UseSkeletalTracking | RuntimeOptions.UseDepthAndPlayerIndex | RuntimeOptions.UseColor);

The error I was getting:

Failed in native DLL. HRESULT=0x8004022b.

and the stack trace showed:

at Microsoft.Research.Kinect.Nui.SkeletonEngine..ctor(Runtime mainNui, CINuiInstanceHelper nuiInstance)

I've already tried :

  1. Reinstalling all kinect related drivers and restarting.
  2. Switching back to the old kinect sensor I was using.
  3. Reinstalling the kinect sdk (the version i'm using is : Microsoft Kinect 1.0 Beta2 SDK v.1.0.0.45
  4. The following link - http://social.msdn.microsoft.com/Forums/en-US/kinectsdk/thread/5b9ffac3-86c0-4147-a6c7-f8e4bbc73c56 - talks about finding the registry key but I couldn't understand how to do it.
  5. According to this link - http://msdn.microsoft.com/en-us/library/ms919477.aspx this is an error code:

    VFW_E_SAMPLE_REJECTED This sample cannot be rendered. 0x8004022B 555

is there a way I could use it to solve the problem?

I'm running win7 64 bit.

c#
dll
initialization
kinect
hresult
asked on Stack Overflow Jun 4, 2012 by oded • edited Jun 5, 2012 by warren

4 Answers

2

Try using the Kinect for Windows SDK 1.5. It's been out for a couple of weeks now.

The API should mostly be the same as in 1.0 beta, but you will have to change the names of some namespaces when using them.

Also, you will still be able to use the Kinect for Xbox360 for development purposes, unless you want to use near mode for depth acquisition.

answered on Stack Overflow Jun 5, 2012 by Chris Ortner
2

Like Chris Ortner said, you should switch to the full version as it is much more efficient. You can find it here. If you are fearing that you must convert all of your code, look here and here. If you are worried about converting code like getDisplayPosition, see Converting Kinect Methods from Beta 2, to Version 1. If you need any more help converting, just ask! Hope this helps!

answered on Stack Overflow Jun 6, 2012 by Liam McInroy • edited May 23, 2017 by Community
2

I had this error. It was nothing to do with drivers or versions.

The Kinect sensor uses a lot of the USB bandwidth, so it is essential to have it on its own USB controller. Try the different USB ports until it works. You can use the Device Manager to see which devices are on which controllers: View > Devices by connection.

answered on Stack Overflow Jan 28, 2013 by tim_hutton
0

Thanks a lot for your help.

I prefer not to change to kinect for windows to timelines. I was able to solve this issue thanks to this link which worked like a charm. The steps to resolve this issue were: 1.Uninstall all kinect drivers from all the USB ports. 2.Uninstall the kinect sdk. 3.Reinstall the Kinect SDK. 4.Disabled network adapter. 5.Plug in the kinect sensor.

The idea is to reinstall all the drivers and prevent it from obtaining drivers from Windows Update.

I appreciate your help.

Thanks, Oded

answered on Stack Overflow Jun 11, 2012 by oded

User contributions licensed under CC BY-SA 3.0