VideoPortInterlockedExchange 関数 (video.h)
VideoPortInterlockedExchange 関数は、ユーザー定義のロック変数を TRUE または FALSEにそれぞれ設定することで、メモリ ブロックをロックまたはロック解除します。 ロック変数の以前に保持されていた値を返します。
構文
VIDEOPORT_API LONG VideoPortInterlockedExchange(
[in, out] IN OUT PLONG Target,
[in] IN LONG Value
);
パラメーター
[in, out] Target
メモリ バッファーへのアクセスを制御するために使用されるユーザー定義ロック変数へのポインター。
[in] Value
メモリ バッファーをロックするかロック解除するかを示す、ターゲットに格納する値を指定します。 TRUE を使用してメモリ バッファーをロックし、FALSE を してメモリ バッファーのロックを解除します。
戻り値
VideoPortInterlockedExchange は、関数呼び出しの前 Target が持っていた値を返します。
備考
VideoPortInterlockedExchange を使用して、複数プロセッサ システムでの DMA 共通バッファー競合を防ぐことができます。
バッファーの読み取りまたは書き込みを行わない場合、ロック変数の値は FALSE 必要があります。 Target パラメーターを TRUE に設定して VideoPortInterlockedExchange を する後続の呼び出し 、ロック変数を TRUE にリセットし、その後、この関数は FALSE 返します。 バッファーがロックされ、他のスレッドによるアクセスが禁止されるようになりました。 バッファーに対する現在の操作が完了したら、Target パラメーターを FALSE に設定 VideoPortInterlockedExchange呼び出してバッファーのロックを解除します。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows 2000 以降のバージョンの Windows オペレーティング システムで使用できます。 |
ターゲット プラットフォーム の | デスクトップ |
ヘッダー | video.h (Video.h を含む) |
ライブラリ | Videoprt.lib |
DLL | Videoprt.sys |
IRQL | 任意のレベル |
関連項目
VideoPortGetCommonBuffer を する