DirectShow provides facilities for wait debugging. These facilities build on the Microsoft® Win32® HANDLE-based wait facilities, but you can expand them to debug specific wait conditions.
In the debug build, you can update the global current time-out with calls to DbgSetWaitTimeout. Updating the current time-out does not affect debug wait calls that are already waiting. If this is a debug build and a value named TIMEOUT exists in the registry under the HKEY_LOCAL_MACHINE\SOFTWARE\Debug\GLOBAL key, the TIMEOUT value is used as the initial current time-out. TIMEOUT must be a REG_DWORD value and is measured in milliseconds. If not, the initial time-out defaults to INFINITE.
Call the following functions to perform debuggable waiting.
Name | Description |
DbgSetWaitTimeout | Updates the current time-out value. |
DbgWaitForMultipleObjects | Waits for an array of handles to be signaled, or for the current time-out to expire. |
DbgWaitForSingleObject | Waits for a handle to be signaled, or for the current time-out to expire. |
Updates the global current time-out value. (This update does not apply to debug wait calls that are already waiting.)
void WINAPI DbgSetWaitTimeout(
DWORD dwTimeout
);
DbgSetWaitTimeout is ignored unless DEBUG is defined when the Microsoft® DirectShow™ headers are included.
In a debug build, waits for the current time-out, or the array of handles to become signaled, whichever comes first. In other builds, this is treated as a call to the Microsoft Win32® WaitForMultipleObjects function, with an INFINITE time-out.
DWORD WINAPI DbgWaitForMultipleObjects(
DWORD nCount,
CONST HANDLE *lpHandles,
BOOL bWaitAll
);
In a debug build, waits for the current time-out, or the given handle to become signaled. In other builds, this is treated as a call to the Microsoft Win32 WaitForSingleObject function, with an INFINITE time-out.
DWORD WINAPI DbgWaitForSingleObject(
HANDLE h
);
© 1997 Microsoft Corporation. All rights reserved. Terms of Use.