Condividi tramite


Funzioni di debug in attesa

[La funzionalità associata a questa pagina, DirectShow, è una funzionalità legacy. È stata sostituita da MediaPlayer, IMFMediaEnginee Acquisizione audio/video in Media Foundation. Queste funzionalità sono state ottimizzate per Windows 10 e Windows 11. Microsoft consiglia vivamente di usare un nuovo codice MediaPlayer, IMFMediaEngine e Acquisizione audio/video in Media Foundation anziché 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 di 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 Funzioni di output di debug.

Se la chiave non esiste, per impostazione predefinita il valore di timeout è INFINITE. È possibile usare la funzioneDbgSetWaitTimeoutper 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.