Wir aktualisierten vor kurzem von VS 2005
zu VS 2008
(Windows XP). Wir verwenden SlimDx
in einem unserer Projekte. Alle funktionieren ok nach dem Upgrade, außer meine Recover-Funktion, die auf devicelost/Geräte-Reset aufgerufen wird, die mitSlimDX Device.Reset stürzt mit einem "D3DERR_INVALIDCALL: Ungültiger Anruf (-2005530516)" Fehler
D3DERR_INVALIDCALL stürzt: Unzulässiger Aufruf (-2005530516)
Ich benutze Ctrl - Alt - Del und dann Escape, Gerät verloren zu simulieren.
void Recover()
{
try
{
if (res.Code == D3DERR_DEVICENOTRESET)
{
res = m_device.Reset(m_presentParams); //Crashes on this.
if (res.IsSuccess)
{
m_deviceLost = false;
}
}
}
catch(Exception e)
{}
}
Ist das etwas mit VS 2008
, zu tun, wie es mit VS 2005
schön gearbeitet?
Alles in der Debug-Spuck, die Ihnen hilft? – Goz
Eine schnelle Suche nach "D3DERR_INVALIDCALL Reset" führt zu MSDN. "Der Methodenaufruf ist ungültig. Beispielsweise kann der Parameter einer Methode einen ungültigen Wert haben." Also mein Vorschlag wäre, m_presentParams zu überprüfen, enthält es die Informationen, die Sie erwarten? –
gelöst: einige der Ressourcen (Stateblocks) wurden nicht entsorgt. – ababeel