Funzioni di debug in attesa

[La funzionalità associata a questa pagina, DirectShow, è una funzionalità legacy. È stata sostituita da MediaPlayer, IMFMediaEngine e Audio/Video Capture in Media Foundation. Queste funzionalità sono state ottimizzate per Windows 10 e Windows 11. Microsoft consiglia vivamente che il nuovo codice usi MediaPlayer, IMFMediaEngine e Audio/Video Capture in Media Foundation invece di DirectShow, quando possibile. Microsoft suggerisce che il codice esistente che usa le API legacy venga riscritto per usare le nuove API, se possibile.

Microsoft DirectShow offre diverse funzioni per il debug di attese infinite.

Nelle build retail le funzioni DbgWaitForMultipleObjects e DbgWaitForSingleObject funzionano come le controparti api di Windows, WaitForMultipleObjects e WaitForSingleObject, con intervalli di timeout infiniti.

Nelle compilazioni di debug, queste funzioni usano un valore di timeout globale. Se il timeout scade, la funzione attiva un'asserzione. La chiave del Registro di sistema seguente specifica il valore di timeout, espresso in millisecondi:

HKEY_LOCAL_MACHINE\<DebugRoot>\<Nome> modulo\TIMEOUT

dove <DebugRoot> è il percorso del Registro di sistema descritto nell'argomento Eseguire il debug di Funzioni di output.

Se la chiave non esiste, per impostazione predefinita il valore di timeout è INFINITE. È possibile usare la funzione DbgSetWaitTimeout per eseguire l'override della voce del Registro di sistema.

Funzione Descrizione
DbgSetWaitTimeout Imposta il valore di timeout del debug.
DbgWaitForMultipleObjects Attende che venga segnalato uno o tutti gli oggetti specificati.
DbgWaitForSingleObject Attende che un oggetto venga segnalato.