Fungsi InterlockedExchangeAdd (miniport.h)

Rutinitas InterlockedExchangeAdd menambahkan nilai ke bilangan bulat tertentu sebagai operasi atomik dan mengembalikan nilai asli bilangan bulat yang diberikan.

Sintaks

LONG InterlockedExchangeAdd(
  [in, out] LONG volatile *Addend,
  [in]      LONG          Value
);

Parameter

[in, out] Addend

Penunjuk ke variabel bilangan bulat.

[in] Value

Menentukan nilai yang akan ditambahkan ke Tambahkan.

Nilai kembali

InterlockedExchangeAdd mengembalikan nilai asli variabel Addend saat panggilan terjadi.

Keterangan

InterlockedExchangeAdd harus digunakan alih-alih ExInterlockedAddUlong karena lebih cepat dan lebih efisien.

InterlockedExchangeAdd diimplementasikan sebaris oleh kompilator jika sesuai dan memungkinkan. Ini tidak memerlukan kunci putaran dan oleh karena itu dapat digunakan dengan aman pada data yang dapat di-pageable.

InterlockedExchangeAdd hanya bersifat atomik sehubungan dengan panggilan Xxx lain yang diblokir.

Operasi yang saling dikunci tidak dapat digunakan pada memori yang tidak di-cache.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Tersedia dimulai dengan Windows 2000.
Target Platform Universal
Header miniport.h (termasuk Wdm.h, Ntddk.h, Ntifs.h, Miniport.h)
Pustaka OneCoreUAP.lib di Windows 10
IRQL Tingkat apa pun

Lihat juga

ExInterlockedAddLargeInteger

ExInterlockedAddUlong

InterlockedDecrement

InterlockedIncrement