Domanda

I just realized that

_CrtSetDbgFlag( _CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF );

Is not reporting leaks anymore. Id track down that the cause is any call to the IXAudio2 interface, a com interface of the dx sdk XAudio2.

If I remove the calls to the interface, it works again. Anyone have any idea of what might be going on? Is it just an enormous bug? I tested it with the sdk examples, to be sure Im not the one doing things I shouldnt, and still the same problem exist.

Im under windows 7 using the june 2010 DX SDK. This is pretty "THE" problem in my opinion..how can a library prevent this to work..I Tried setting the flag after the calls to the interface, but its no use.

Can anyone using XAudio2 report its own experience to compare please?

-edit- Found ppl with the same issue here:

http://xboxforums.create.msdn.com/forums/t/67031.aspx

Still no solution.. Found related info here:

http://social.msdn.microsoft.com/Forums/vstudio/en-US/8cb1847d-3218-4610-9cb8-6905bd255ff5/no-dllprocessdetach-after-calling-playsound-on-windows-7-64bit

In the end a MS person says they fixed on win8, but they arent talking about XAudio2 in the thread.

È stato utile?

Soluzione

The problem is "solved" by loading the SetupApi.dll yourself in your code. Thus, its obviously a bug;

LoadLibrary("setupapi.dll");// solves the XAudio2 leaks problem
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top