Freigeben über


Wait Debugging Functions

[Das dieser Seite zugeordnete Feature DirectShow ist ein Legacyfeature. Es wurde von MediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation abgelöst. Diese Features wurden für Windows 10 und Windows 11 optimiert. Microsoft empfiehlt dringend, dass neuer Code mediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation anstelle von DirectShow verwendet, wenn möglich. Microsoft schlägt vor, dass vorhandener Code, der die Legacy-APIs verwendet, so umgeschrieben wird, dass nach Möglichkeit die neuen APIs verwendet werden.]

Microsoft DirectShow bietet mehrere Funktionen zum Debuggen unendlicher Wartezeiten.

In Einzelhandelsbuilds funktionieren die Funktionen DbgWaitForMultipleObjects und DbgWaitForSingleObject wie ihre Windows-API-Entsprechungen WaitForMultipleObjects und WaitForSingleObject mit unendlichen Timeoutintervallen.

In Debugbuilds verwenden diese Funktionen einen globalen Timeoutwert. Wenn das Timeout abläuft, löst die Funktion eine Assertion aus. Der folgende Registrierungsschlüssel gibt den Timeoutwert in Millisekunden an:

HKEY_LOCAL_MACHINE\<DebugRoot>\<Modulname>\TIMEOUT

Dabei <ist DebugRoot> der Registrierungspfad, der im Thema Debugausgabefunktionen beschrieben wird.

Wenn der Schlüssel nicht vorhanden ist, lautet der Timeoutwert standardmäßig INFINITE. Sie können die DbgSetWaitTimeout-Funktion verwenden, um den Registrierungseintrag außer Kraft zu setzen.

Funktion BESCHREIBUNG
DbgSetWaitTimeout Legt den Debugtimeoutwert fest.
DbgWaitForMultipleObjects Wartet darauf, dass ein (oder alle) der angegebenen Objekte signalisiert wird.
DbgWaitForSingleObject Wartet, bis ein Objekt signalisiert wird.