Fungsi InterlockedCompareExchangePointer (wdm.h)
Rutinitas InterlockedCompareExchangePointer melakukan operasi atomik yang membandingkan nilai penunjuk input yang ditunjukkan oleh Tujuan dengan nilai pointer Comperand.
Sintaks
PVOID InterlockedCompareExchangePointer(
[in, out] PVOID volatile *Destination,
[in] PVOID Exchange,
[in] PVOID Comperand
);
Parameter
[in, out] Destination
Penunjuk ke nilai PVOID. Jika (*Tujuan) = Comperand, maka set rutin (*Tujuan) ke Exchange.
[in] Exchange
Menentukan nilai PVOID yang akan diatur (*Tujuan) ke.
[in] Comperand
Menentukan nilai PVOID untuk dibandingkan dengan (*Tujuan).
Nilai kembali
InterlockedCompareExchangePointer mengembalikan nilai asli pointer di *Destination (yaitu, nilai pointer ini pada entri ke rutinitas).
Keterangan
Jika Comperand sama dengan *Tujuan, maka *Tujuan diatur ke Exchange yang sama. Jika tidak, *Tujuan tidak berubah.
InterlockedCompareExchangePointer menyediakan cara atom yang cepat untuk menyinkronkan pengujian dan pembaruan variabel penunjuk yang dibagikan oleh beberapa utas. Jika nilai input yang ditunjukkan oleh Tujuan sama dengan nilai Comperand, nilai yang ditunjukkan oleh Tujuan diatur ke nilai Exchange.
InterlockedCompareExchangePointer dirancang untuk kecepatan dan, biasanya, diimplementasikan sebaris oleh kompilator. InterlockedCompareExchangePointer hanya bersifat atomik sehubungan dengan panggilan Xxx lain yang diblokir. Ini tidak menggunakan kunci putar dan dapat digunakan dengan aman pada data yang dapat di-pageable.
Rutinitas InterlockedCompareExchangePointer hanya bersifat atomik sehubungan dengan panggilan Xxx yang di-Interlocked 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 | Desktop |
Header | wdm.h (termasuk Wdm.h, Ntddk.h, Ntifs.h, Miniport.h) |
IRQL | Tingkat apa pun |
Lihat juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk