Fungsi InterlockedExchange (wdm.h)

Rutinitas InterlockedExchange menetapkan variabel bilangan bulat ke nilai tertentu sebagai operasi atomik.

Sintaks

LONG InterlockedExchange(
  [in, out] LONG volatile *Target,
  [in]      LONG          Value
);

Parameter

[in, out] Target

Penunjuk ke variabel yang akan diatur ke Nilai yang disediakan sebagai operasi atomik.

[in] Value

Menentukan nilai tempat variabel akan diatur.

Mengembalikan nilai

InterlockedExchange mengembalikan nilai variabel di Target saat panggilan terjadi.

Keterangan

InterlockedExchange harus digunakan alih-alih ExInterlockedExchangeUlong, karena lebih cepat dan lebih efisien.

InterlockedExchange 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.

Panggilan ke rutinitas InterlockedExchange hanya bersifat atomik sehubungan dengan panggilan Xxx yang diblokir lainnya.

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 wdm.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