XAudio2 in einer DLL

Programmiersprachen, APIs, Bibliotheken, Open Source Engines, Debugging, Quellcode Fehler und alles was mit praktischer Programmierung zu tun hat.
Antworten
DomiOh
Establishment
Beiträge: 132
Registriert: 08.10.2002, 14:44

XAudio2 in einer DLL

Beitrag von DomiOh »

Hallo Leute,

wir erstellen für unsere Engine eine Interface-DLL, welche von sich aus verschiedene Module (auch im DLL-Format) nachlädt.
Dadurch soll eine modulare Engine entstehen.

Wir laden z.b. als Renderer eine DX9 DLL, eine DLL für die Console, für das Script usw.
Das klappt auch alles hervorragend.

Jetzt aber wird es merkwürdig. Als Sound-DLL laden wir eine DLL die Funktionen von XAudio2 aufruft. Das klappt soweit ganz gut.
XAudio wird initialisiert, erstellt ein Device. Auch danach ist noch alles Ok. Rufen wird jetzt jedoch eine Funktion des Xaudio2-Device auf, wird anschließend die Interface-DLL beim beenden des Testprogramms nicht mehr "Detached". Außerdem wird die funktion für das automatische erstellen eines Memory Leak Check (über _Crt Funktionen) nicht mehr aufgerufen. Bevor man irgendeine Funktion auf dem XAudio-Deivce aufruft aber schon.

Wir haben schon alles gepüft. Das XAudio-Device wird komplett freigegeben.
Merkwürdig ist, dass schon eine einfache Adapter-Enumeration reicht, um dieses Phänomen zu bekommen.

Was kann da schiefgehen? Wieso wird der Exit-Code der CRT nicht mehr richtig aufgerufen?
Antworten