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.
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.)
Syntax
void WINAPI DbgSetWaitTimeout(
DWORD dwTimeout
);
Parameters
- dwTimeout
- New time-out value in milliseconds, or INFINITE.
Remarks
DbgSetWaitTimeout is ignored unless DEBUG is defined when the 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.
Syntax
DWORD WINAPI DbgWaitForMultipleObjects(
DWORD nCount,
CONST HANDLE *lpHandles,
BOOL bWaitAll
);
Parameters
- nCount
- Number of entries in the lpHandles array.
- lpHandles
- Array of HANDLE values.
- bWaitAll
- TRUE if all handles in the array must become signaled to satisfy the wait. FALSE if any one handle can satisfy the wait.
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.
Syntax
DWORD WINAPI DbgWaitForSingleObject(
HANDLE h
);
Parameters
- h
- HANDLE value.
Top of Page
© 2000 Microsoft and/or its suppliers. All rights reserved. Terms of Use.