Microsoft DirectX 8.0 |
Microsoft® DirectShow® はいくつかの無限に待機するデバッグ関数を提供する。
宣言 : Wxdebug.h
リテール ビルドでは、DbgWaitForMultipleObjects 関数と DbgWaitForSingleObject 関数はタイムアウト間隔が無限で、Microsoft® Win32® のカウンター パート WaitForMultipleObjects と WaitForSingleObject と同じように動作する。
デバッグ ビルドでは、これらの関数はグローバルなタイムアウト値を使う。タイムアウトが時間切れになると、この関数はアサートを起動する。次のレジストリ キーがミリ秒でタイムアウト値を指定する :
\HKEY_LOCAL_MACHINE\SOFTWARE\Debug\<Module Name>\TIMEOUT
このキーがない場合、タイムアウト値はデフォルトの INFINITE となる。DbgSetWaitTimeout 関数を使ってレジストリの値をオーバーライドすることができる。
関数 | 説明 |
---|---|
DbgSetWaitTimeout | デバッグ タイムアウト値を設定する。 |
DbgWaitForMultipleObjects | 指定された任意の(あるいはすべての)オブジェクトが通知済になるまで待つ。 |
DbgWaitForSingleObject | あるオブジェクトが通知済になるまで待つ。 |
デバッグ タイムアウト値を設定する。 リテール ビルドでは無視される。
構文
void DbgSetWaitTimeout( DWORD dwTimeout );
パラメータ
- dwTimeout
- ミリ秒単位のタイムアウト値、あるいは無限に待つ INFINITE 。
注意
デバッグ ビルドでは、DbgWaitForMultipleObjects 関数と DbgWaitForSingleObject 関数はこの値をタイムアウト間隔として使用する。
指定された任意の(あるいはすべての)オブジェクトが通知済になるまで待つ。
デバッグ ビルドでは、オブジェクトが通知済になる前にタイムアウト間隔が時間切れになると、この関数はアサートを起動する。タイムアウト間隔を設定するには、DbgSetWaitTimeout 関数を呼び出すこと。
リテール ビルドでは、この関数は INFINITE のタイムアウト間隔で WaitForMultipleObjects 関数と同じである。
構文
DWORD DbgWaitForMultipleObjects( DWORD nCount, CONST HANDLE *lpHandles, BOOL bWaitAll );
パラメータ
- nCount
- オブジェクトの数。
- lpHandles
- オブジェクトのハンドルの配列、nCount サイズ
- bWaitAll
- すべてのオブジェクトを待つかどうかを指定するブール値。TRUE なら、この関数はすべてのオブジェクトが通知済になるまで待つ。それ以外なら、少なくとも 1 つのオブジェクト通知済になるまで待つ。
あるオブジェクトが通知済になるまで待つ。
デバッグ ビルドでは、オブジェクトが通知済になる前にタイムアウト間隔が時間切れになると、この関数はアサートを起動する。タイムアウト間隔を設定するには、DbgSetWaitTimeout 関数を呼び出すこと。
リテール ビルドでは、この関数は INFINITE のタイムアウト間隔で WaitForMSingleObject 関数と同じである。
構文
DWORD DbgWaitForSingleObject( HANDLE h );
パラメータ
- h
- オブジェクトのハンドル。