次の方法で共有


NdisInterlockedAddUlong マクロ (ndis.h)

NdisInterlockedAddUlong 関数は、呼び出し元が指定したスピン ロックを使用して整数変数へのアクセスを同期し、指定された符号なし整数に符号なし long 値をアトミック操作として追加します。

構文

void NdisInterlockedAddUlong(
  [in]  _Addend,
  [in]  _Increment,
  [in]  _SpinLock
);

パラメーター

[in] _Addend

指定した インクリメント によって値を調整する変数へのポインター。

[in] _Increment

addend で追加する値 指定します。

[in] _SpinLock

呼び出し元が初期化したスピン ロックへのポインター。

戻り値

何一つ

備考

NdisInterlockedAddUlong の呼び出し元は、スピン ロックの常駐ストレージを提供する必要があります。これは、NdisInterlockedAddUlong する最初の呼び出しの前に、NdisAllocateSpinLock 関数で初期化する必要があります。

NdisInterlockedAddUlong 関数に渡される SpinLock 値は、同じスピン ロックと同期する同じ変数に対する他の操作に対して、Addend パラメーターでの変数への追加がアトミックであることを保証するために使用されます。

NdisInterlockedAddUlong は、指定されたスピン ロックを取得し、元の IRQL を復元してから制御を返すときに、IRQL をDISPATCH_LEVELします。 そのため、NdisInterlockedAddUlong 呼び出すドライバー関数をページング可能なコードにすることはできません。

必要条件

要件 価値
サポートされる最小クライアント Windows Vista の NDIS 6.0 および NDIS 5.1 ドライバー (NdisInterlockedAddUlong (NDIS 5.1) を参照) でサポートされています。 Windows XP で NDIS 5.1 ドライバー (NdisInterlockedAddUlong (NDIS 5.1) を参照) でサポートされています。
ターゲット プラットフォーム 万国
ヘッダー ndis.h (Ndis.h を含む)
ライブラリ Ndis.lib
IRQL 任意のレベル

関連項目

NdisAcquireSpinLock

NdisAllocateSpinLock

NdisReleaseSpinLock

NdisRetrieveUlong する

NdisStoreUlong